Browse Source

监管修改

sunhz 3 years ago
parent
commit
01ce8b6d3b

+ 8 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/reportManagement/TWhgenlegController.java

@@ -72,13 +72,20 @@ public class TWhgenlegController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('warehouseBusiness:whgenleg:superviseExport')")
     @Log(title = "分类监管数据导出",businessType = BusinessType.EXPORT)
-    @DataScope(deptAlias = "d",userAlias = "u")
     @GetMapping("/superviseExport")
     public AjaxResult superviseExport(TWhgenleg tWhgenleg) {
         return tWhgenlegService.superviseExport(tWhgenleg);
     }
 
     /**
+     * 导出分类监管仓库数据
+     */
+    @GetMapping("/warehouseSupervise")
+    public AjaxResult warehouseSupervise() {
+        return tWhgenlegService.warehouseSupervise();
+    }
+
+    /**
      * 获取库存总账详细信息
      */
     @PreAuthorize("@ss.hasPermi('warehouseBusiness:whgenleg:query')")

+ 0 - 10
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/AppletsController.java

@@ -231,14 +231,4 @@ public class AppletsController extends BaseController {
         return getDataTable(list);
     }
 
-    /**
-     * 查询库存总账列表
-     */
-    @GetMapping("/tWhgenlegList")
-    public TableDataInfo warehouselist(TWhgenleg tWhgenleg) {
-        startPage();
-        List<Map<String, Object>> list = tWhgenlegService.selectWhgenlegList(tWhgenleg);
-        return getDataTable(list);
-    }
-
 }

+ 12 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/TWarehouse.java

@@ -92,6 +92,10 @@ public class TWarehouse extends BaseEntity
     @Excel(name = "仓库/库区/库位")
     private String fWarehouseInformation;
 
+    /** 是否监管库 */
+    @Excel(name = "是否监管库")
+    private Integer supervise;
+
     /**
      * 子部门
      */
@@ -270,6 +274,14 @@ public class TWarehouse extends BaseEntity
         this.children = children;
     }
 
+    public Integer getSupervise() {
+        return supervise;
+    }
+
+    public void setSupervise(Integer supervise) {
+        this.supervise = supervise;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 3 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/mapper/TWhgenlegMapper.java

@@ -238,4 +238,7 @@ public interface TWhgenlegMapper {
      */
     public List<Map<String, Object>> biWarehouseTeuInfo(@Param("external") String external,
                                                      @Param("customerId") Long customerId);
+
+    public List<Map<String, Object>> warehouseSupervise(@Param("parent") Integer parent);
+
 }

+ 6 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/ITWhgenlegService.java

@@ -28,6 +28,12 @@ public interface ITWhgenlegService {
     AjaxResult superviseExport(TWhgenleg tWhgenleg);
 
     /**
+     * 分类监管仓库导出
+     * @return 状态以及数据
+     */
+    AjaxResult warehouseSupervise();
+
+    /**
      * 查询库存总账
      *
      * @param fId 库存总账ID
@@ -128,8 +134,6 @@ public interface ITWhgenlegService {
      */
     List<Map<String, Object>> selectDateFQtyblcListList();
 
-    List<Map<String, Object>> selectWhgenlegList(TWhgenleg tWhgenleg);
-
     public List<Whgenleg> whgenlegExport(TWhgenleg tWhgenleg) throws Exception;
 
     List<Map<String, Object>> selectdetailedList(TWarehousebill tWarehousebill);

+ 209 - 84
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/service/impl/TWhgenlegServiceImpl.java

@@ -1,6 +1,5 @@
 package com.ruoyi.reportManagement.service.impl;
 
-
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.pagehelper.PageHelper;
 import com.ruoyi.basicData.domain.TCustomerContact;
@@ -23,6 +22,8 @@ import com.ruoyi.reportManagement.dto.TWarehousebill;
 import com.ruoyi.reportManagement.excel.Whgenleg;
 import com.ruoyi.reportManagement.mapper.TWhgenlegMapper;
 import com.ruoyi.reportManagement.service.ITWhgenlegService;
+import com.ruoyi.system.domain.SysConfig;
+import com.ruoyi.system.mapper.SysConfigMapper;
 import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
 import com.ruoyi.warehouseBusiness.domain.enums.WarehouseTypeEnum;
 import com.ruoyi.warehouseBusiness.mapper.TWarehouseBillsMapper;
@@ -45,6 +46,7 @@ import java.util.stream.Collectors;
  */
 @Service
 public class TWhgenlegServiceImpl implements ITWhgenlegService {
+
     @Autowired
     private TWhgenlegMapper tWhgenlegMapper;
 
@@ -60,11 +62,29 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
     @Autowired
     private TWarehousebillsitemsMapper tWarehousebillsitemsMapper;
 
+    @Autowired
+    private SysConfigMapper sysConfigMapper;
+
     @Override
     public AjaxResult superviseExport(TWhgenleg tWhgenleg) {
-        List<Map<String,Object>> list = tWhgenlegMapper.selectWhgenlegList(tWhgenleg);
+        SysConfig fileGerater = sysConfigMapper.checkConfigKeyUnique("FILE_GERATER");
+        if (StringUtils.isNull(fileGerater)) {
+            return AjaxResult.error("系统参数异常,未找到“FILE_GERATER”参数");
+        }
+
+        SysConfig tradeCode = sysConfigMapper.checkConfigKeyUnique("TRADE_CODE");
+        if (StringUtils.isNull(tradeCode)) {
+            return AjaxResult.error("系统参数异常,未找到“TRADE_CODE”参数");
+        }
+
+        SysConfig tradeName = sysConfigMapper.checkConfigKeyUnique("TRADE_NAME");
+        if (StringUtils.isNull(tradeName)) {
+            return AjaxResult.error("系统参数异常,未找到“TRADE_NAME”参数");
+        }
+
+        List<Map<String, Object>> list = tWhgenlegMapper.selectWhgenlegList(tWhgenleg);
         Date nowDate = new Date();
-        String fileName = "DAOHE_STOCKAPPLY_" + new SimpleDateFormat("yyyyMMdd").format(nowDate) + ".FLJGRX";
+        String fileName = "STOCKAPPLY_" + new SimpleDateFormat("yyyyMMdd").format(nowDate) + ".FLJGRX";
         // 应用号
         String APP_CODE = "SAS";
         // 环节号
@@ -76,7 +96,7 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
         // 生成时间
         String FILE_DATE_TIME = new SimpleDateFormat("yyyy-MM-dd").format(nowDate);
         // 生成人
-        String FILE_GERATER = "青岛道合供应链";
+        String FILE_GERATER = fileGerater.getConfigValue();
         // 顺序
         String FILE_ORDER = "1";
         // 文件名
@@ -86,9 +106,9 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
         // 类型
         String XML_TYPE = "W3C";
         // 经营单位代码
-        String TRADE_CODE = "3702661504";
+        String TRADE_CODE = tradeCode.getConfigValue();
         // 经营单位名称
-        String TRADE_NAME = "青岛道合供应链";
+        String TRADE_NAME = tradeName.getConfigValue();
         // 报送日期
         String APPLY_DATE = new SimpleDateFormat("yyyyMMdd").format(nowDate);
         File temp = null;
@@ -97,85 +117,88 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
             BufferedWriter bw = new BufferedWriter(new FileWriter(temp)); // 给临时文件写入内容
             // 写入头部
             bw.write(
-                    "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
-                            "<XMLObject>\n" +
-                            "  <APP_CODE>"+ APP_CODE +"</APP_CODE>\n" +
-                            "  <APP_STEP_ID>"+ APP_STEP_ID +"</APP_STEP_ID>\n" +
-                            "  <CLASS_NAME>"+ CLASS_NAME +"</CLASS_NAME>\n" +
-                            "  <CLASS_VER>"+ CLASS_VER +"</CLASS_VER>\n" +
-                            "  <FILE_DATE_TIME>"+ FILE_DATE_TIME +"</FILE_DATE_TIME>\n" +
-                            "  <FILE_GERATER>"+ FILE_GERATER +"</FILE_GERATER>\n" +
-                            "  <FILE_ORDER>"+ FILE_ORDER +"</FILE_ORDER>\n" +
-                            "  <FILE_ORIGINAL_NAME>"+ FILE_ORIGINAL_NAME +"</FILE_ORIGINAL_NAME>\n" +
-                            "  <FILE_SIZE>"+ FILE_SIZE +"</FILE_SIZE>\n" +
-                            "  <XML_TYPE>"+ XML_TYPE +"</XML_TYPE>\n" +
-                            "  <SDEPORT_DATA>\n" +
-                            "    <StockRecordMessage>"
-            );bw.newLine();
-            for (Map<String,Object> map : list) {
+                    "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
+                            + "<XMLObject>\n"
+                            + "  <APP_CODE>" + APP_CODE + "</APP_CODE>\n"
+                            + "  <APP_STEP_ID>" + APP_STEP_ID + "</APP_STEP_ID>\n"
+                            + "  <CLASS_NAME>" + CLASS_NAME + "</CLASS_NAME>\n"
+                            + "  <CLASS_VER>" + CLASS_VER + "</CLASS_VER>\n"
+                            + "  <FILE_DATE_TIME>" + FILE_DATE_TIME + "</FILE_DATE_TIME>\n"
+                            + "  <FILE_GERATER>" + FILE_GERATER + "</FILE_GERATER>\n"
+                            + "  <FILE_ORDER>" + FILE_ORDER + "</FILE_ORDER>\n"
+                            + "  <FILE_ORIGINAL_NAME>" + FILE_ORIGINAL_NAME + "</FILE_ORIGINAL_NAME>\n"
+                            + "  <FILE_SIZE>" + FILE_SIZE + "</FILE_SIZE>\n"
+                            + "  <XML_TYPE>" + XML_TYPE + "</XML_TYPE>\n"
+                            + "  <SDEPORT_DATA>\n"
+                            + "    <StockRecordMessage>"
+            );
+            bw.newLine();
+
+            for (Map<String, Object> map : list) {
                 String goodsfSpecs;
                 if (StringUtils.isNull(map.get("goodsfSpecs"))) {
-                    goodsfSpecs = "        <GoodsModelDesc></GoodsModelDesc>\n" ;
+                    goodsfSpecs = "        <GoodsModelDesc></GoodsModelDesc>\n";
                 } else {
-                    goodsfSpecs = "        <GoodsModelDesc>"+ map.get("goodsfSpecs") +"</GoodsModelDesc>\n" ;
+                    goodsfSpecs = "        <GoodsModelDesc>" + map.get("goodsfSpecs") + "</GoodsModelDesc>\n";
                 }
+
                 if ("保税".equals(map.get("fGoodsType"))) {
                     String strEmsSeqNo;
                     if (StringUtils.isNull(map.get("fEmsSeqNo"))) {
-                        strEmsSeqNo = "        <EmsSeqNo></EmsSeqNo>\n" ;
+                        strEmsSeqNo = "        <EmsSeqNo></EmsSeqNo>\n";
                     } else {
-                        strEmsSeqNo = "        <EmsSeqNo>"+ map.get("fEmsSeqNo") +"</EmsSeqNo>\n" ;
+                        strEmsSeqNo = "        <EmsSeqNo>" + map.get("fEmsSeqNo") + "</EmsSeqNo>\n";
                     }
-                    String str = "      <StockInfo>\n" +
-                            "        <EmsNo>"+ map.get("fEmsNo") +"</EmsNo>\n" +
-                            strEmsSeqNo +
-                            "        <WmsMtsNo>"+ map.get("fEmsNo") + "-" + map.get("fId") + "-" + map.get("fWarehouseNo") +"</WmsMtsNo>\n" +
-                            "        <GoodsMtsNo>"+ map.get("fMblno") +"</GoodsMtsNo>\n" +
-                            "        <CodeTs>"+ map.get("fCodeTs") +"</CodeTs>\n" +
-                            "        <GoodsName>"+ map.get("fGoodsids") +"</GoodsName>\n" +
-                            goodsfSpecs +
-                            "        <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>";
+
+                    String str = "      <StockInfo>\n"
+                            + "        <EmsNo>" + map.get("fEmsNo") + "</EmsNo>\n" + strEmsSeqNo
+                            + "        <WmsMtsNo>" + map.get("fEmsNo") + "-" + map.get("fId") + "-" + map.get("fWarehouseNo") + "</WmsMtsNo>\n"
+                            + "        <GoodsMtsNo>" + map.get("fMblno") + "</GoodsMtsNo>\n"
+                            + "        <CodeTs>" + map.get("fCodeTs") + "</CodeTs>\n"
+                            + "        <GoodsName>" + map.get("fGoodsids") + "</GoodsName>\n" + goodsfSpecs
+                            + "        <WmsDclUnit>" + map.get("fWmsDclUnit") + "</WmsDclUnit>\n"
+                            + "        <WmsDclQty>" + map.get("fNetweightblc") + "</WmsDclQty>\n"
+                            + "        <WmsLawUnit>" + map.get("fWmsLawUnit") + "</WmsLawUnit>\n"
+                            + "        <WmsLawQty>" + map.get("fNetweightblc") + "</WmsLawQty>\n"
+                            + "        <PlaceIds>" + map.get("fWLID") + "</PlaceIds>\n"
+                            + "        <LocationIds>" + map.get("fWarehouseNo") + "</LocationIds>\n"
+                            + "        <StockStatus>" + 1 + "</StockStatus>\n"
+                            + "        <GoodsType>" + 1 + "</GoodsType>\n"
+                            + "      </StockInfo>";
                     bw.write(str);
                     bw.newLine();
                 } else {
-                    bw.write("      <StockInfo>\n" +
-                            "        <EmsNo></EmsNo>\n" +
-                            "        <EmsSeqNo></EmsSeqNo>\n" +
-                            "        <WmsMtsNo>"+ map.get("fEmsNo") + "-" + map.get("fId") + "-" + map.get("fWarehouseNo") +"</WmsMtsNo>\n" +
-                            "        <GoodsMtsNo>"+ map.get("fMblno") +"</GoodsMtsNo>\n" +
-                            "        <CodeTs>"+ map.get("fCodeTs") +"</CodeTs>\n" +
-                            "        <GoodsName>"+ map.get("fGoodsids") +"</GoodsName>\n" +
-                            goodsfSpecs +
-                            "        <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.write("      <StockInfo>\n"
+                            + "        <EmsNo></EmsNo>\n"
+                            + "        <EmsSeqNo></EmsSeqNo>\n"
+                            + "        <WmsMtsNo>" + map.get("fEmsNo") + "-" + map.get("fId") + "-" + map.get("fWarehouseNo") + "</WmsMtsNo>\n"
+                            + "        <GoodsMtsNo>" + map.get("fMblno") + "</GoodsMtsNo>\n"
+                            + "        <CodeTs>" + map.get("fCodeTs") + "</CodeTs>\n"
+                            + "        <GoodsName>" + map.get("fGoodsids") + "</GoodsName>\n" + goodsfSpecs
+                            + "        <WmsDclUnit>" + map.get("fWmsDclUnit") + "</WmsDclUnit>\n"
+                            + "        <WmsDclQty>" + map.get("fNetweightblc") + "</WmsDclQty>\n"
+                            + "        <WmsLawUnit>" + map.get("fWmsLawUnit") + "</WmsLawUnit>\n"
+                            + "        <WmsLawQty>" + map.get("fNetweightblc") + "</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();
+                    "       <TradeCode>" + TRADE_CODE + "</TradeCode>\n"
+                            + "       <TradeName>" + TRADE_NAME + "</TradeName>\n"
+                            + "       <ApplyDate>" + APPLY_DATE + "</ApplyDate>"
+            );
+            bw.newLine();
             bw.write(
-                    "   </StockRecordMessage>\n" +
-                            "  </SDEPORT_DATA>\n" +
-                            "</XMLObject>"
-            );bw.newLine();
+                    "   </StockRecordMessage>\n"
+                            + "  </SDEPORT_DATA>\n"
+                            + "</XMLObject>"
+            );
+            bw.newLine();
             bw.close(); // 写入完毕
             BufferedReader reader = new BufferedReader(new FileReader(temp));// 读取临时文件数据
             FileWriter fw = new FileWriter(getAbsoluteFile(fileName)); // 创建要写入的文件
@@ -183,9 +206,10 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
             String lineText;
             while ((lineText = reader.readLine()) != null) { // 按行读取零食文件数据
                 // 替换其中参数
-                String newContent = lineText.replace("<FILE_SIZE>-1</FILE_SIZE>","<FILE_SIZE>"+ temp.length() +"</FILE_SIZE>");
+                String newContent = lineText.replace("<FILE_SIZE>-1</FILE_SIZE>", "<FILE_SIZE>" + temp.length() + "</FILE_SIZE>");
                 // 写入指定文件并自动换行
-                bfw.write(newContent);bfw.newLine();
+                bfw.write(newContent);
+                bfw.newLine();
             }
             // 刷新缓冲区
             bfw.flush();
@@ -203,6 +227,121 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
         }
     }
 
+    @Override
+    public AjaxResult warehouseSupervise() {
+        SysConfig fileGerater = sysConfigMapper.checkConfigKeyUnique("FILE_GERATER");
+        if (StringUtils.isNull(fileGerater)) {
+            return AjaxResult.error("系统参数异常,未找到“FILE_GERATER”参数");
+        }
+
+        SysConfig tradeCode = sysConfigMapper.checkConfigKeyUnique("TRADE_CODE");
+        if (StringUtils.isNull(tradeCode)) {
+            return AjaxResult.error("系统参数异常,未找到“TRADE_CODE”参数");
+        }
+
+        SysConfig tradeName = sysConfigMapper.checkConfigKeyUnique("TRADE_NAME");
+        if (StringUtils.isNull(tradeName)) {
+            return AjaxResult.error("系统参数异常,未找到“TRADE_NAME”参数");
+        }
+
+        Date date = new Date();
+        String fileName = "WmsArea-" + DateUtils.parseDateToStr("yyyyMMdd", date) + ".FLJGRX";
+
+        File temp = null;
+        try {
+            temp = File.createTempFile("save", "null");
+            BufferedWriter bw = new BufferedWriter(new FileWriter(temp));
+            // 写入头部
+            bw.write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"
+                            + "<XMLObject>\n"
+                            + "    <APP_CODE>SAS</APP_CODE>\n"
+                            + "    <APP_STEP_ID>BASE_APPLY_ADD</APP_STEP_ID>\n"
+                            + "    <CLASS_NAME>XMLOject</CLASS_NAME>\n"
+                            + "    <CLASS_VER>1.0</CLASS_VER>\n"
+                            + "    <FILE_DATE_TIME>" + DateUtils.parseDateToStr("yyyy-MM-dd", date) + "</FILE_DATE_TIME>\n"
+                            + "    <FILE_GERATER>" + fileGerater.getConfigValue() + "</FILE_GERATER>\n"
+                            + "    <FILE_ORDER>1</FILE_ORDER>\n"
+                            + "    <FILE_ORIGINAL_NAME>" + fileName + "</FILE_ORIGINAL_NAME>\n"
+                            + "    <FILE_SIZE>-1</FILE_SIZE>\n"
+                            + "    <SDEPORT_DATA>\n"
+                            + "        <CopBaseRecordMessage>\n"
+                            + "            <CopBaseInfo>\n"
+                            + "                <TradeCode>" + tradeCode.getConfigValue() + "</TradeCode>\n"
+                            + "                <TradeName>" + tradeName.getConfigValue() + "</TradeName>\n"
+                            + "                <OrgCode>87830774R</OrgCode>\n"
+                            + "                <CopAddress></CopAddress>\n"
+                            + "                <Manager></Manager>\n"
+                            + "                <ContactTel></ContactTel>\n"
+                            + "                <CopSccd></CopSccd>\n"
+                            + "                <CustomManager>4258</CustomManager>\n"
+                            + "                <NetworkBeginDate></NetworkBeginDate>\n"
+                            + "                <NetworkEndTime></NetworkEndTime>\n"
+                            + "                <ExeStatus></ExeStatus>\n"
+                            + "            </CopBaseInfo>\n"
+            );
+
+            List<Map<String, Object>> warehouseList = tWhgenlegMapper.warehouseSupervise(100);
+            for (Map<String, Object> warehouse : warehouseList) {
+                bw.write("            <StorageInfo>\n"
+                        + "                <HouseId>" + warehouse.get("fNo") + "</HouseId>\n"
+                        + "                <HouseName>" + warehouse.get("fName") + "</HouseName>\n"
+                        + "                <HouseAddress>" + warehouse.get("fAddr") + "</HouseAddress>\n"
+                        + "                <HouseOwer>" + warehouse.get("fContacts") + "</HouseOwer>\n"
+                );
+
+                List<Map<String, Object>> areaList = tWhgenlegMapper.warehouseSupervise((Integer) warehouse.get("fId"));
+                for (Map<String, Object> area : areaList) {
+                    bw.write("                <LocationInfo>\n"
+                            + "                    <LocationId>" + area.get("fNo") + "</LocationId>\n"
+                            + "                    <LocationName>" + area.get("fName") + "</LocationName>\n"
+                            + "                    <PlaceId>" + area.get("fNo") + "</PlaceId>\n"
+                            + "                    <PlaceName>" + area.get("fName") + "</PlaceName>\n"
+                            + "                </LocationInfo>\n"
+                    );
+                }
+
+                bw.write("                <HouseArea></HouseArea>\n"
+                        + "            </StorageInfo>\n");
+            }
+            bw.write("        </CopBaseRecordMessage>\n"
+                    + "    </SDEPORT_DATA>\n"
+                    + "    <XML_TYPE>W3C</XML_TYPE>\n"
+                    + "</XMLObject>\n"
+            );
+            bw.close();
+            // 读取临时文件数据
+            BufferedReader reader = new BufferedReader(new FileReader(temp));
+            // 创建要写入的文件
+            FileWriter fw = new FileWriter(getAbsoluteFile(fileName));
+            // 创建新的写入流
+            BufferedWriter bfw = new BufferedWriter(fw);
+            String lineText;
+            while ((lineText = reader.readLine()) != null) {
+                // 替换其中参数
+                String newContent = lineText.replace("<FILE_SIZE>-1</FILE_SIZE>", "<FILE_SIZE>" + temp.length() + "</FILE_SIZE>");
+                // 写入指定文件并自动换行
+                bfw.write(newContent);
+                bfw.newLine();
+            }
+            // 刷新缓冲区
+            bfw.flush();
+            // 关闭读取流
+            reader.close();
+            // 关闭写入流
+            bfw.close();
+            // 关闭需要写入的文件流
+            fw.close();
+            return AjaxResult.success(fileName);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error("导出分类监管数据失败");
+        } finally {
+            if (temp != null) {
+                temp.deleteOnExit();
+            }
+        }
+    }
+
     // 文件大小
     public static long getFileSize(String filename) {
         File file = new File(filename);
@@ -348,20 +487,6 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
         return tWhgenlegMapper.selectInventoryMapList(tWhgenleg);
     }
 
-    @Override
-    public List<Map<String, Object>> selectWhgenlegList(TWhgenleg tWhgenleg) {
-        if (StringUtils.isNotNull(tWhgenleg.getfWarehouseLocationid())) {
-            // 获取仓库信息
-            TWarehouse tWarehouse = tWarehouseMapper.selectTWarehouseById(tWhgenleg.getfWarehouseLocationid());
-            if (tWarehouse.getfLocation() == 1) {
-                tWhgenleg.setfLocation(1L);
-            } else {
-                tWhgenleg.setfLocation(0L);
-            }
-        }
-        return tWhgenlegMapper.selectWhgenlegList(tWhgenleg);
-    }
-
     /**
      * 新增库存总账
      *

+ 9 - 2
ruoyi-warehouse/src/main/resources/mapper/basicData/TWarehouseMapper.xml

@@ -28,6 +28,7 @@
         <result property="fLocation" column="f_location"/>
         <result property="hasChildren" column="has_children"/>
         <result property="fWarehouseInformation" column="f_warehouse_information"/>
+        <result property="supervise" column="supervise"/>
     </resultMap>
 
     <sql id="selectTWarehouseVo">
@@ -52,7 +53,8 @@
                update_time,
                remark,
                f_location,
-               f_warehouse_information
+               f_warehouse_information,
+               supervise
         from t_warehouse
     </sql>
 
@@ -71,6 +73,7 @@
             <if test="fTel != null  and fTel != ''">and f_tel = #{fTel}</if>
             <if test="fCharg != null ">and f_charg = #{fCharg}</if>
             <if test="fStatus != null  and fStatus != ''">and f_status = #{fStatus}</if>
+            <if test="supervise != null and supervise != ''">and supervise = #{supervise}</if>
         </where>
         <!-- 数据范围过滤 -->
         ${params.dataScope}
@@ -80,7 +83,7 @@
     <select id="lazyList" parameterType="TWarehouse" resultMap="TWarehouseResult">
         select
             ware.f_id, ware.parent_id, ware.ancestors, ware.order_num, ware.f_no, ware.f_name, ware.f_cname, ware.f_totalgross, ware.f_location,
-               ware.f_addr, ware.f_contacts, ware.f_tel, ware.f_charg, ware.f_is_bonded, ware.remark, ware.f_status,
+               ware.f_addr, ware.f_contacts, ware.f_tel, ware.f_charg, ware.f_is_bonded, ware.remark, ware.supervise, ware.f_status,
             (
             SELECT
                 CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END
@@ -96,6 +99,7 @@
             <if test="fName != null  and fName != ''">and ware.f_name like concat('%', #{fName}, '%')</if>
             <if test="fCname != null  and fCname != ''">and ware.f_cname like concat('%', #{fCname}, '%')</if>
             <if test="fStatus != null  and fStatus != ''">and ware.f_status = #{fStatus}</if>
+            <if test="supervise != null and supervise != ''">and ware.supervise = #{supervise}</if>
         </where>
         <!-- 数据范围过滤 -->
         ${params.dataScope}
@@ -150,6 +154,7 @@
             <if test="remark != null">remark,</if>
             <if test="fLocation != null">f_location,</if>
             <if test="fWarehouseInformation != null">f_warehouse_information,</if>
+            <if test="supervise != null">supervise,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="parentId != null and parentId != 0">#{parentId},</if>
@@ -173,6 +178,7 @@
             <if test="remark != null">#{remark},</if>
             <if test="fLocation != null">#{fLocation},</if>
             <if test="fWarehouseInformation != null">#{fWarehouseInformation},</if>
+            <if test="supervise != null">#{supervise},</if>
         </trim>
     </insert>
 
@@ -200,6 +206,7 @@
             <if test="remark != null">remark = #{remark},</if>
             <if test="fLocation != null">f_location = #{fLocation},</if>
             <if test="fWarehouseInformation != null">f_warehouse_information = #{fWarehouseInformation},</if>
+            <if test="supervise != null">supervise = #{supervise},</if>
         </trim>
         where f_id = #{fId}
     </update>

+ 22 - 40
ruoyi-warehouse/src/main/resources/mapper/reportManagement/TWhgenlegMapper.xml

@@ -1106,54 +1106,19 @@
             t_whgenleg leg
             LEFT JOIN t_corps corp ON corp.f_id = leg.f_corpid
             LEFT JOIN t_goods goods ON goods.f_id = leg.f_goodsid
-            LEFT JOIN t_warehouse ware ON ware.f_id = leg.f_warehouse_locationid
+            LEFT JOIN t_warehouse ware ON ware.f_id = leg.f_warehouseid
             LEFT JOIN sys_dict_data dict ON dict.dict_value = leg.f_business_type
             LEFT JOIN sys_dict_data sdict ON sdict.dict_value = leg.f_trademodeid
             LEFT JOIN t_warehouse_area area ON area.f_id = leg.f_warehouse_locationid
-            LEFT JOIN t_warehouse wareN ON wareN.f_id = leg.f_warehouseid
         <where>
             dict.status = '0'
             AND dict.dict_type = 'storage_type'
             AND sdict.`status` = '0'
             AND sdict.dict_type = 'data_trademodes'
-            AND	(wareN.f_name = '金龙行库9号库' OR wareN.f_name = '金龙行库10号库')
-            <if test="fOriginalbillno != null  and fOriginalbillno != ''">and leg.f_originalbillno = #{fOriginalbillno}</if>
-            <if test="fPreqty != null ">and leg.f_preqty = #{fPreqty}</if>
-            <if test="fCorpid != null ">and leg.f_corpid = #{fCorpid}</if>
-            <if test="fShipper != null and fShipper != ''">and leg.f_shipper like concat('%', #{fShipper}, '%')</if>
-            <if test="fMblno != null ">and leg.f_mblno LIKE  concat('%', #{fMblno}, '%') </if>
-            <if test='timeStartBsdate != null'>
-                and leg.f_originalbilldate &gt;= #{timeStartBsdate}
-            </if>
-            <if test='timeEndBsdate != null'>
-                and leg.f_originalbilldate &lt;= #{timeEndBsdate}
-            </if>
-            <if test="fPregrossweight != null ">and leg.f_pregrossweight = #{fPregrossweight}</if>
-            <if test="fPrenetweight != null ">and leg.f_prenetweight = #{fPrenetweight}</if>
-            <if test="fQtyd != null ">and leg.f_qtyD = #{fQtyd}</if>
-            <if test="fTrademodeid != null ">and leg.f_trademodeid = #{fTrademodeid}</if>
-            <if test="fGoodsid != null ">and leg.f_goodsid = #{fGoodsid}</if>
-            <if test="fVolumnd != null ">and leg.f_volumnD = #{fVolumnd}</if>
-            <if test="fGrossweightd != null ">and leg.f_grossweightD = #{fGrossweightd}</if>
-            <if test="fNetweightd != null ">and leg.f_netweightD = #{fNetweightd}</if>
-            <if test="fVolumnc != null ">and leg.f_volumnC = #{fVolumnc}</if>
-            <if test="fQtyc != null ">and leg.f_qtyC = #{fQtyc}</if>
-            <if test="fOriginalbilldate != null ">and leg.f_originalbilldate = #{fOriginalbilldate}</if>
-            <if test="fMarks != null  and fMarks != ''">and leg.f_marks = #{fMarks}</if>
-            <if test="fQtyblc != null ">and leg.f_qtyblc = #{fQtyblc}</if>
-            <if test="fGrossweightc != null ">and leg.f_grossweightC = #{fGrossweightc}</if>
-            <if test="fNetweightc != null ">and leg.f_netweightC = #{fNetweightc}</if>
-            <if test="fGrossweightblc != null ">and leg.f_grossweightblc = #{fGrossweightblc}</if>
-            <if test="fNetweightblc != null ">and leg.f_netweightblc = #{fNetweightblc}</if>
-            <if test="fCntrno != null  and fCntrno != ''">and leg.f_cntrno = #{fCntrno}</if>
-            <if test="fStatus != null  and fStatus != ''">and leg.f_status = #{fStatus}</if>
-            <if test="fWarehouseid != null ">and leg.f_warehouseid = #{fWarehouseid} </if>
-            <if test="fLocation != null  and fLocation ==1 ">
-                and leg.f_warehouse_locationid = #{fWarehouseLocationid}
-            </if>
-            <if test="fLocation != null  and fLocation ==0 ">
-                and ware.ancestors  LIKE  concat('%', #{fWarehouseLocationid}, '%')
-            </if>
+            AND	ware.supervise = 1
+            AND leg.f_qtyblc != 0
+            AND leg.f_grossweightblc != 0
+            AND leg.f_netweightblc != 0
         </where>
     </select>
     <!--根据客户id或加上提单号查询库存不为0的仓库名-->
@@ -1383,4 +1348,21 @@
         order by quantity desc limit 10
     </select>
 
+    <select id="warehouseSupervise" resultType="map">
+        select f_id as fId,
+               parent_id as parentId,
+               f_no as fNo,
+               f_name as fName,
+               f_addr as fAddr,
+               f_contacts as fContacts,
+               f_tel as fTel
+        from t_warehouse
+        <where>
+            <if test="parent != null">
+                <if test="parent == 100">and supervise = 1</if>
+                and parent_id = #{parent}
+            </if>
+        </where>
+    </select>
+
 </mapper>