|  | @@ -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);
 |