|
@@ -64,13 +64,13 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
public AjaxResult superviseExport(TWhgenleg tWhgenleg) {
|
|
|
List<Map<String,Object>> list = tWhgenlegMapper.selectWhgenlegList(tWhgenleg);
|
|
|
Date nowDate = new Date();
|
|
|
- String fileName = "LHHT_STOCKAPPLY_" + new SimpleDateFormat("yyyyMMdd").format(nowDate) + ".FLJGRX";
|
|
|
+ String fileName = "DAOHE_STOCKAPPLY_" + new SimpleDateFormat("yyyyMMdd").format(nowDate) + ".FLJGRX";
|
|
|
// 应用号
|
|
|
String APP_CODE = "SAS";
|
|
|
// 环节号
|
|
|
- String APP_STEP_ID = "8910000438957";
|
|
|
+ String APP_STEP_ID = "STOCK_APPLY";
|
|
|
// 序列化类名
|
|
|
- String CLASS_NAME = "XMLOject";
|
|
|
+ String CLASS_NAME = "XMLObject";
|
|
|
// 版本号
|
|
|
String CLASS_VER = "1.0";
|
|
|
// 生成时间
|
|
@@ -82,13 +82,13 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
// 文件名
|
|
|
String FILE_ORIGINAL_NAME = fileName;
|
|
|
// 大小
|
|
|
- String FILE_SIZE = String.valueOf(getFileSize(fileName));
|
|
|
+ String FILE_SIZE = String.valueOf(getFileSize(getAbsoluteFile(fileName)));
|
|
|
// 类型
|
|
|
String XML_TYPE = "W3C";
|
|
|
// 经营单位代码
|
|
|
- String TRADE_CODE = "35034092-9";
|
|
|
+ String TRADE_CODE = "3702661504";
|
|
|
// 经营单位名称
|
|
|
- String TRADE_NAME = "青岛道合供应链管理有限公司";
|
|
|
+ String TRADE_NAME = "青岛道合供应链";
|
|
|
// 报送日期
|
|
|
String APPLY_DATE = new SimpleDateFormat("yyyyMMdd").format(nowDate);
|
|
|
try {
|
|
@@ -111,9 +111,9 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
" <SDEPORT_DATA>\n" +
|
|
|
" <StockRecordMessage>"
|
|
|
);bw.newLine();
|
|
|
- // 注册号
|
|
|
- String EMS_NO = "SJK1115";
|
|
|
- // 注册序号
|
|
|
+ // 账册号
|
|
|
+ String EMS_NO = "T4258W000197";
|
|
|
+ // 账册序号
|
|
|
String EMS_SEQ_NO = "119000005430521";
|
|
|
// 仓储物料号
|
|
|
String WMS_MTS_NO = "TEMU9296408";
|
|
@@ -142,31 +142,73 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
// 货物类型
|
|
|
String GOODS_TYPE = "1";
|
|
|
for (Map<String,Object> map : list) {
|
|
|
- bw.write(" <StockInfo>\n" +
|
|
|
- " <EmsNo>"+ EMS_NO +"</EmsNo>\n" +
|
|
|
- " <EmsSeqNo>"+ EMS_SEQ_NO +"</EmsSeqNo>\n" +
|
|
|
- " <WmsMtsNo>"+ map.get("fMblno") +"</WmsMtsNo>\n" +
|
|
|
- " <GoodsMtsNo>"+ map.get("fMblno") +"</GoodsMtsNo>\n" +
|
|
|
- " <CodeTs>"+ map.get("fGoodsno") +"</CodeTs>\n" +
|
|
|
- " <GoodsName>"+ map.get("fGoodsids") +"</GoodsName>\n" +
|
|
|
- " <GoodsModelDesc>"+ map.get("f_packagespecs") +"</GoodsModelDesc>\n" +
|
|
|
- " <WmsDclUnit>"+ WMS_DCL_UNIT +"</WmsDclUnit>\n" +
|
|
|
- " <WmsDclQty>"+ map.get("fQtyC") +"</WmsDclQty>\n" +
|
|
|
- " <WmsLawUnit>"+ WMS_LAW_UNIT +"</WmsLawUnit>\n" +
|
|
|
- " <WmsLawQty>"+ map.get("fQtyC") +"</WmsLawQty>\n" +
|
|
|
- " <PlaceIds>"+ map.get("fWLID") +"</PlaceIds>\n" +
|
|
|
- " <LocationIds>"+ map.get("fWarehouseids") +"</LocationIds>\n" +
|
|
|
- " <StockStatus>"+ map.get("fLegStatus") +"</StockStatus>\n" +
|
|
|
- " <GoodsType>"+ map.get("goodsPackageId") +"</GoodsType>\n" +
|
|
|
- " </StockInfo>");
|
|
|
- bw.newLine();
|
|
|
+ if ("保税".equals(map.get("fGoodsType"))) {
|
|
|
+ if (StringUtils.isNull(map.get("fEmsSeqNo"))) {
|
|
|
+ bw.write(" <StockInfo>\n" +
|
|
|
+ " <EmsNo>"+ map.get("fEmsNo") +"</EmsNo>\n" +
|
|
|
+ " <EmsSeqNo></EmsSeqNo>\n" +
|
|
|
+ " <WmsMtsNo>"+ map.get("fEmsNo") + "-" + map.get("fGoodsId") + "-" + map.get("fWarehouseNo") +"</WmsMtsNo>\n" +
|
|
|
+ " <GoodsMtsNo>"+ map.get("fMblno") +"</GoodsMtsNo>\n" +
|
|
|
+ " <CodeTs>"+ map.get("fCodeTs") +"</CodeTs>\n" +
|
|
|
+ " <GoodsName>"+ map.get("fGoodsids") +"</GoodsName>\n" +
|
|
|
+ " <GoodsModelDesc>"+ map.get("goodsfSpecs") +"</GoodsModelDesc>\n" +
|
|
|
+ " <WmsDclUnit>"+ map.get("fWmsDclUnit") +"</WmsDclUnit>\n" +
|
|
|
+ " <WmsDclQty>"+ map.get("fNetweightD") +"</WmsDclQty>\n" +
|
|
|
+ " <WmsLawUnit>"+ map.get("fWmsLawUnit") +"</WmsLawUnit>\n" +
|
|
|
+ " <WmsLawQty>"+ map.get("fNetweightD") +"</WmsLawQty>\n" +
|
|
|
+ " <PlaceIds>"+ map.get("fWLID") +"</PlaceIds>\n" +
|
|
|
+ " <LocationIds>"+ map.get("fWarehouseNo") +"</LocationIds>\n" +
|
|
|
+ " <StockStatus>"+ 1 +"</StockStatus>\n" +
|
|
|
+ " <GoodsType>"+ 1 +"</GoodsType>\n" +
|
|
|
+ " </StockInfo>");
|
|
|
+ bw.newLine();
|
|
|
+ } else {
|
|
|
+ bw.write(" <StockInfo>\n" +
|
|
|
+ " <EmsNo>"+ map.get("fEmsNo") +"</EmsNo>\n" +
|
|
|
+ " <EmsSeqNo>"+ map.get("fEmsSeqNo") +"</EmsSeqNo>\n" +
|
|
|
+ " <WmsMtsNo>"+ map.get("fEmsNo") + "-" + map.get("fGoodsId") + "-" + map.get("fWarehouseNo") +"</WmsMtsNo>\n" +
|
|
|
+ " <GoodsMtsNo>"+ map.get("fMblno") +"</GoodsMtsNo>\n" +
|
|
|
+ " <CodeTs>"+ map.get("fCodeTs") +"</CodeTs>\n" +
|
|
|
+ " <GoodsName>"+ map.get("fGoodsids") +"</GoodsName>\n" +
|
|
|
+ " <GoodsModelDesc>"+ map.get("goodsfSpecs") +"</GoodsModelDesc>\n" +
|
|
|
+ " <WmsDclUnit>"+ map.get("fWmsDclUnit") +"</WmsDclUnit>\n" +
|
|
|
+ " <WmsDclQty>"+ map.get("fNetweightD") +"</WmsDclQty>\n" +
|
|
|
+ " <WmsLawUnit>"+ map.get("fWmsLawUnit") +"</WmsLawUnit>\n" +
|
|
|
+ " <WmsLawQty>"+ map.get("fNetweightD") +"</WmsLawQty>\n" +
|
|
|
+ " <PlaceIds>"+ map.get("fWLID") +"</PlaceIds>\n" +
|
|
|
+ " <LocationIds>"+ map.get("fWarehouseNo") +"</LocationIds>\n" +
|
|
|
+ " <StockStatus>"+ 1 +"</StockStatus>\n" +
|
|
|
+ " <GoodsType>"+ 1 +"</GoodsType>\n" +
|
|
|
+ " </StockInfo>");
|
|
|
+ bw.newLine();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ bw.write(" <StockInfo>\n" +
|
|
|
+ " <EmsNo></EmsNo>\n" +
|
|
|
+ " <EmsSeqNo></EmsSeqNo>\n" +
|
|
|
+ " <WmsMtsNo>"+ map.get("fEmsNo") + "-" + map.get("fGoodsId") + "-" + map.get("fWarehouseNo") +"</WmsMtsNo>\n" +
|
|
|
+ " <GoodsMtsNo>"+ map.get("fMblno") +"</GoodsMtsNo>\n" +
|
|
|
+ " <CodeTs>"+ map.get("fCodeTs") +"</CodeTs>\n" +
|
|
|
+ " <GoodsName>"+ map.get("fGoodsids") +"</GoodsName>\n" +
|
|
|
+ " <GoodsModelDesc>"+ map.get("goodsfSpecs") +"</GoodsModelDesc>\n" +
|
|
|
+ " <WmsDclUnit>"+ map.get("fWmsDclUnit") +"</WmsDclUnit>\n" +
|
|
|
+ " <WmsDclQty>"+ map.get("fNetweightD") +"</WmsDclQty>\n" +
|
|
|
+ " <WmsLawUnit>"+ map.get("fWmsLawUnit") +"</WmsLawUnit>\n" +
|
|
|
+ " <WmsLawQty>"+ map.get("fNetweightD") +"</WmsLawQty>\n" +
|
|
|
+ " <PlaceIds>"+ map.get("fWLID") +"</PlaceIds>\n" +
|
|
|
+ " <LocationIds>"+ map.get("fWarehouseNo") +"</LocationIds>\n" +
|
|
|
+ " <StockStatus>"+ 1 +"</StockStatus>\n" +
|
|
|
+ " <GoodsType>"+ 0 +"</GoodsType>\n" +
|
|
|
+ " </StockInfo>");
|
|
|
+ bw.newLine();
|
|
|
+ }
|
|
|
}
|
|
|
bw.write(
|
|
|
" <TradeCode>"+ TRADE_CODE +"</TradeCode>\n" +
|
|
|
" <TradeName>"+ TRADE_NAME +"</TradeName>\n" +
|
|
|
" <ApplyDate>"+ APPLY_DATE +"</ApplyDate>"
|
|
|
);bw.newLine();
|
|
|
- // 理论申报单位
|
|
|
+ /*// 理论申报单位
|
|
|
String DCL_UNIT = "035";
|
|
|
// 理论申报数量
|
|
|
String DCL_QTY = "154";
|
|
@@ -189,7 +231,7 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
" </SasStockInfo>"
|
|
|
);
|
|
|
bw.newLine();
|
|
|
- }
|
|
|
+ }*/
|
|
|
bw.write(
|
|
|
" </StockRecordMessage>\n" +
|
|
|
" </SDEPORT_DATA>\n" +
|
|
@@ -197,6 +239,17 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
);bw.newLine();
|
|
|
bw.close();
|
|
|
fw.close();
|
|
|
+ String path = getAbsoluteFile(fileName);
|
|
|
+ BufferedReader reader = new BufferedReader(new FileReader(path));
|
|
|
+ String lineText = null;
|
|
|
+ PrintStream ps = null;
|
|
|
+ while ((lineText = reader.readLine()) != null) {
|
|
|
+ String newContent = lineText.replace("<FILE_SIZE>-1</FILE_SIZE>","<FILE_SIZE>"+ getFileSize(path) +"</FILE_SIZE>");
|
|
|
+ File newFile = new File(fileName);
|
|
|
+ ps = new PrintStream(new FileOutputStream(newFile,true));
|
|
|
+ ps.println(newContent);
|
|
|
+ ps.flush();
|
|
|
+ }
|
|
|
return AjaxResult.success(fileName);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -204,57 +257,6 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 任意位置插入数据
|
|
|
- * @param path
|
|
|
- * @param points 指定的位置
|
|
|
- * @param insertContent 待插入的内容
|
|
|
- */
|
|
|
- public void randomInsert(String path, long points, String insertContent) {
|
|
|
- RandomAccessFile rw = null;
|
|
|
- BufferedReader reader = null;
|
|
|
- BufferedWriter writer = null;
|
|
|
- File temp = null;
|
|
|
- try {
|
|
|
- rw = new RandomAccessFile(path,"rw");
|
|
|
- // 创建临时文件
|
|
|
- // prefix -- 前缀字符串定义的文件名;必须至少有三个字符长
|
|
|
- // suffix -- 后缀字符串定义文件的扩展名;如果为null后缀".tmp" 将被使用
|
|
|
- temp = File.createTempFile("save","null");
|
|
|
- // 临时文件的读取
|
|
|
- reader = new BufferedReader(new FileReader(temp));
|
|
|
- // 临时文件的写入
|
|
|
- writer = new BufferedWriter(new FileWriter(temp));
|
|
|
- // 定位到 points,把后面的数据写入临时文件
|
|
|
- rw.seek(points);
|
|
|
- byte[] bytes = new byte[100];
|
|
|
- int num = 0;
|
|
|
- while ((num = rw.read(bytes)) != -1) {
|
|
|
- // 将 pos 后面的内容写入临时文件
|
|
|
- writer.write(new String(bytes, 0, num));
|
|
|
- }
|
|
|
- writer.flush();
|
|
|
- rw.seek(points); // 定位到 points,将插入的内容和临时文件写入 rw
|
|
|
- rw.write(insertContent.getBytes());
|
|
|
- String amp = null;
|
|
|
- while ((amp = reader.readLine()) != null) {
|
|
|
- // 临时文件已被读取
|
|
|
- rw.write(amp.getBytes());
|
|
|
- }
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } finally {
|
|
|
- try {
|
|
|
- writer.close();
|
|
|
- reader.close();
|
|
|
- rw.close();
|
|
|
- temp.deleteOnExit();// 关闭流操作和删除临时文件
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
// 文件大小
|
|
|
public static long getFileSize(String filename) {
|
|
|
File file = new File(filename);
|