From df34fa79f9616167babe07b0f63da6e9ddcc9620 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期一, 27 十一月 2023 20:49:40 +0800
Subject: [PATCH] 明细

---
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java |   13 +-
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java       |   37 +++++-
 consum-base/src/main/java/com/consum/base/pojo/excel/专项支出用款申请书_map.xls                  |    0 
 consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java       |   98 +++++++++++++++++-
 deploy-jar-single/src/main/resources/import/采购退货单.xls                                   |    0 
 consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java              |   10 +
 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java            |  135 +++++++++++++++++++++++---
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java      |    4 
 8 files changed, 251 insertions(+), 46 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
index 770b5b4..2b87db8 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
@@ -1,5 +1,7 @@
 package com.consum.base.controller;
 
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
+import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
 import cn.hutool.core.util.ReflectUtil;
 import com.consum.base.BaseController;
 import com.consum.base.core.utils.CommonUtil;
@@ -7,7 +9,11 @@
 import com.consum.base.core.utils.MapperUtil;
 import com.consum.base.pojo.LWhFormOutputParam;
 import com.consum.base.pojo.query.LWhFormOutputQry;
-import com.consum.base.pojo.response.*;
+import com.consum.base.pojo.response.FormOutputGoodsVO;
+import com.consum.base.pojo.response.FormOutputTemplateInfoVO;
+import com.consum.base.pojo.response.FormOutputVO;
+import com.consum.base.pojo.response.GoodsModelVO;
+import com.consum.base.pojo.response.LWhFormOutputExtendVO;
 import com.consum.base.service.LWarehouseFlowService;
 import com.consum.base.service.LWhFormOutputServiceImpl;
 import com.consum.base.service.LWhGoodsService;
@@ -17,24 +23,31 @@
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.CollectionUtils;
+import com.walker.infrastructure.utils.DateUtils;
 import com.walker.web.ResponseValue;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.lang.reflect.Field;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.compress.utils.Lists;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @Description 鍑哄簱鍗�
@@ -190,8 +203,75 @@
         if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        GenericPager<Map<String, Object>> mapGenericPager = lWarehouseFlowService.queryBusinessFlowDetail(formOutputQry);
-        return ResponseValue.success(mapGenericPager);
+        GenericPager<Map<String, Object>> genericPager = lWarehouseFlowService.queryAllBusinessFlow(formOutputQry);
+        return ResponseValue.success(genericPager);
+    }
+
+
+    @ApiOperation(value = "鍑哄簱鍗曞鍑�", notes = "鍑哄簱鍗曞鍑�")
+    @GetMapping("/list/export")
+    public void export(Long id, HttpServletRequest request, HttpServletResponse response) throws IOException {
+        TemplateExportParams params = new TemplateExportParams(
+            "import/閲囪喘閫�璐у崟.xls");
+
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        String userName = sysInfo.getUserName();
+
+        String sql = "SELECT\n"
+            + "\tfo.BUSINESS_FORM_CODE,\n"
+            + "\tfo.AGENCY_NAME tenantName,\n"
+            + "\tGOODS_NAME goodsName,\n"
+            + "\tpm.BASE_GOODS_MODELS_NAME goodsModeName,\n"
+            + "\tcounts num,\n"
+            + "\ttotal_amount sqje,\n"
+            + "\tBEIZ remark\n"
+            + "FROM\n"
+            + "\tl_wh_procure_model pm\n"
+            + "\tLEFT JOIN base_goods_models bgm ON pm.BASE_GOODS_MODELS_ID = bgm.id\n"
+            + "\tLEFT JOIN base_goods_template bgt ON bgm.GOODS_TEMPLATES_ID = bgt.id\n"
+            + "\tLEFT JOIN l_wh_form_output fo ON fo.ID = pm.BUSINESS_ID\n"
+            + "WHERE\n"
+            + "\tpm.BUSINESS_ID = 1393373943914496";
+
+        Map<String, Object> param = new HashMap<>();
+        param.put("id", id);
+        List<Map<String, Object>> select = lWhFormOutputService.select(sql, param, new MapperUtil());
+
+        String dateForHuman = DateUtils.getDateForHuman(System.currentTimeMillis());
+        Map<String, Object> map = new HashMap<>();
+        //鑾峰彇select涓殑BUSINESS_FORM_CODE鍊硷紝
+        for (Map<String, Object> item : select) {
+            String businessFormCode = (String) item.get("businessFormCode");
+            map.put("code", businessFormCode);
+            Object num = item.get("num");
+            map.put("numCount", 100);
+            map.put("amountCount", 100);
+        }
+        List<Map<String, String>> listMap = new ArrayList<>();
+        map.put("code", "璐颁桨涓�");
+        map.put("date", dateForHuman);
+        map.put("name", userName);
+//        for (int i = 0; i < 4; i++) {
+//            Map<String, String> lm = new HashMap<>();
+//            lm.put("tenantName", i + 1 + "");
+//            lm.put("goodsName", "A001");
+//            lm.put("goodsModeName", "璁捐");
+//            lm.put("num", "EasyPoi " + i + "鏈�");
+//            lm.put("price", "寮�婧愰」鐩�");
+//            lm.put("sqje", i * 10000 + "");
+//            lm.put("remark", i * 10000 + "");
+//            listMap.add(lm);
+//        }
+        map.put("maplist", select);
+
+        Workbook workbook = ExcelExportUtil.exportExcel(params, map);
+
+        try (OutputStream outputStream = response.getOutputStream()) {
+            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
+            response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("閲囪喘閫�璐у崟.xls", "utf-8"));
+            workbook.write(outputStream);
+            workbook.close();
+        }
     }
 
 }
diff --git "a/consum-base/src/main/java/com/consum/base/pojo/excel/\344\270\223\351\241\271\346\224\257\345\207\272\347\224\250\346\254\276\347\224\263\350\257\267\344\271\246_map.xls" "b/consum-base/src/main/java/com/consum/base/pojo/excel/\344\270\223\351\241\271\346\224\257\345\207\272\347\224\250\346\254\276\347\224\263\350\257\267\344\271\246_map.xls"
new file mode 100644
index 0000000..0d0181d
--- /dev/null
+++ "b/consum-base/src/main/java/com/consum/base/pojo/excel/\344\270\223\351\241\271\346\224\257\345\207\272\347\224\250\346\254\276\347\224\263\350\257\267\344\271\246_map.xls"
Binary files differ
diff --git a/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java b/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java
index cd0e92b..b630806 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java
@@ -1,6 +1,5 @@
 package com.consum.base.pojo.query;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -32,6 +31,11 @@
     @ApiModelProperty(value = "鐗╁搧妯$増鍚嶇О")
     private String goodsName;
     /**
+     * 鐗╁搧妯$増鍚嶇О
+     */
+    @ApiModelProperty(value = "鐗╁搧妯$増id")
+    private String baseGoodsId;
+    /**
      * 鏈烘瀯
      */
     @ApiModelProperty(value = "鏈烘瀯")
@@ -50,20 +54,18 @@
      * 閫�杩樺叆搴� map.put("4" + "1", "6")
      * 鐢抽鍑哄簱 map.put("4" + "2", "7")
      */
-    @ApiModelProperty(value = "1=閲囪喘鍏ュ簱,2=璋冩嫧鍏ュ簱,")
+    @ApiModelProperty(value = "1閲囪喘鍏ュ簱 2閫�杩樺叆搴� 3璋冩嫧鍏ュ簱 4鐩樼泩鍏ュ簱 5鐢抽鍑哄簱 6璋冩嫧鍑哄簱 7鐩樹簭鍑哄簱 8鎶ュ簾鍑哄簱 9鍏朵粬鍑哄簱")
     private Integer states;
 
     /**
      * 鍏ュ簱鏃堕棿 寮�濮�
      */
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
-    @JsonFormat(pattern = "yyyyMMdd", timezone = "GMT+8")
     private Long startTime;
     /**
      * 鍏ュ簱鏃堕棿 缁撴潫
      */
     @ApiModelProperty(value = "缁撴潫鏃堕棿")
-    @JsonFormat(pattern = "yyyyMMdd", timezone = "GMT+8")
     private Long endTime;
     /**
      * 瑙勬牸鍨嬪彿id
diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java
index 00c4b06..501c5ec 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java
@@ -8,10 +8,9 @@
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import org.springframework.stereotype.Service;
-
 import java.util.HashMap;
 import java.util.Map;
+import org.springframework.stereotype.Service;
 
 /**
  * @ClassName LWarehouseFlowService
@@ -42,7 +41,7 @@
         }
         if (StringUtils.isNotEmpty(param.getBusinessFormCode())) {
             sql.append(" AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE=:businessFormCode"
-                    + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:businessFormCode END");
+                + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:businessFormCode END");
             paramts.put("businessFormCode", param.getBusinessFormCode());
 //            sql.append(" AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN flow.BUSINESS_FORM_CODE=?");
 //            params.add(param.getBusinessFormCode());
@@ -63,7 +62,7 @@
         }
         if (param.getCreatedName() != null) {
             sql.append(" AND CASE" + " WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUYER_NAME LIKE :createdName"
-                    + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.OPERATOR_NAME LIKE :createdName END");
+                + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.OPERATOR_NAME LIKE :createdName END");
             paramts.put("createdName", StringUtils.CHAR_PERCENT + param.getCreatedName() + StringUtils.CHAR_PERCENT);
         }
         if (param.getDealTimeStart() != null) {
@@ -82,7 +81,7 @@
         Map<String, Object> paramts = new HashMap<>();
         if (StringUtils.isNotEmpty(param.getBusinessFormCode())) {
             sql.append("AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE=:businessFormCode"
-                    + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:businessFormCode END ");
+                + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:businessFormCode END ");
             paramts.put("businessFormCode", param.getBusinessFormCode());
         }
         if (StringUtils.isNotEmpty(param.getGoodsName())) {
@@ -101,7 +100,7 @@
 
         if (StringUtils.isNotEmpty(param.getCreateName())) {
             sql.append("AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUYER_NAME = :createdName"
-                    + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.OPERATOR_NAME = :createdName END ");
+                + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.OPERATOR_NAME = :createdName END ");
             paramts.put("createdName", param.getCreateName());
         }
         if (param.getStartTime() != null) {
@@ -222,10 +221,10 @@
             paramts.put("panDianBusinessFormCode", businessFormCode);
 
             sqlEnd.append(" and case when flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE" +
-                    " WHEN ( flow.BUSINESS_TYPE = 2 OR flow.BUSINESS_TYPE = 4 OR flow.BUSINESS_TYPE = 6 ) THEN tTrans.BUSINESS_FORM_CODE" +
-                    " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE" +
-                    " WHEN flow.BUSINESS_TYPE = 5 THEN tScrapped.BUSINESS_FORM_CODE" +
-                    " WHEN flow.BUSINESS_TYPE = 7 THEN tInventory.BUSINESS_FORM_CODE end =:whereBusinessFormCode");
+                " WHEN ( flow.BUSINESS_TYPE = 2 OR flow.BUSINESS_TYPE = 4 OR flow.BUSINESS_TYPE = 6 ) THEN tTrans.BUSINESS_FORM_CODE" +
+                " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE" +
+                " WHEN flow.BUSINESS_TYPE = 5 THEN tScrapped.BUSINESS_FORM_CODE" +
+                " WHEN flow.BUSINESS_TYPE = 7 THEN tInventory.BUSINESS_FORM_CODE end =:whereBusinessFormCode");
             paramts.put("whereBusinessFormCode", businessFormCode);
 
 
@@ -243,15 +242,117 @@
 
         StringBuilder sql = new StringBuilder();
         sql.append(sqlQuery)
-                .append(sqlEndRecord)
-                .append(sqlCaiGou)
-                .append(sqlDiaoBo)
-                .append(sqlChuKu)
-                .append(sqlBaoFei)
-                .append(sqlPanDian)
+            .append(sqlEndRecord)
+            .append(sqlCaiGou)
+            .append(sqlDiaoBo)
+            .append(sqlChuKu)
+            .append(sqlBaoFei)
+            .append(sqlPanDian)
 
-                .append(sqlEnd);
+            .append(sqlEnd);
 
         return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
     }
+
+
+    public GenericPager<Map<String, Object>> queryAllBusinessFlow(LWhFormOutputQry param) {
+        StringBuilder sql = new StringBuilder("SELECT\n"
+            + "CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.id \n"
+            + "WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4 OR flow.BUSINESS_TYPE=6) THEN tTrans.id \n"
+            + "WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.id \n"
+            + "WHEN flow.BUSINESS_TYPE=5 THEN tScrapped.id \n"
+            + "WHEN flow.BUSINESS_TYPE=7 THEN tInventory.id END id,\n"
+            + "\n"
+            + "CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.BUSINESS_FORM_CODE \n"
+            + "WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4 OR flow.BUSINESS_TYPE=6) THEN tTrans.BUSINESS_FORM_CODE \n"
+            + "WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.BUSINESS_FORM_CODE \n"
+            + "WHEN flow.BUSINESS_TYPE=5 THEN tScrapped.BUSINESS_FORM_CODE \n"
+            + "WHEN flow.BUSINESS_TYPE=7 THEN tInventory.BUSINESS_FORM_CODE END BUSINESS_FORM_CODE,\n"
+            + "\n"
+            + "CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.AGENCY_NAME \n"
+            + "WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4 OR flow.BUSINESS_TYPE=6) THEN tTrans.OPERATOR_NAME \n"
+            + "WHEN flow.BUSINESS_TYPE=3 THEN tFormOut.AGENCY_NAME \n"
+            + "WHEN flow.BUSINESS_TYPE=5 THEN tScrapped.AGENCY_NAME \n"
+            + "WHEN flow.BUSINESS_TYPE=7 THEN tInventory.AGENCY_NAME END AGENCY_NAME,\n"
+            + "\n"
+            + "record.GOODS_TEMPLATE_NAME,\n"
+            + "record.BASE_GOODS_MODELS_NAME,\n"
+            + "record.THIS_TYPE,\n"
+            + "flow.BUSINESS_TYPE,\n"
+            + "record.THIS_COUNT,\n"
+            + "flow.DEAL_TIME,\n"
+            + "flow.OPERATOR_NAME,\n"
+            + "record.TOTAL_PRICE\n"
+            + "FROM  L_WAREHOUSE_FLOW flow\n"
+            + "LEFT JOIN L_WH_GOODS_RECORD record ON flow.id=record.WAREHOUSE_FLOW_ID\n"
+            + "LEFT JOIN L_WH_FORM_PROCURE tCaiGou ON flow.BUSINESS_TYPE=1 AND tCaiGou.id=flow.BUSINESS_FORM_ID\n"
+            + "LEFT JOIN L_WH_FORM_TRANSFER tTrans ON (flow.BUSINESS_TYPE=2 or flow.BUSINESS_TYPE=4 or flow.BUSINESS_TYPE=6) AND tTrans.id=flow.BUSINESS_FORM_ID\n"
+            + "LEFT JOIN L_WH_FORM_OUTPUT tFormOut ON flow.BUSINESS_TYPE=3 AND tFormOut.id=flow.BUSINESS_FORM_ID\n"
+            + "LEFT JOIN L_WH_FORM_INVENTORY tInventory ON flow.BUSINESS_TYPE=7 AND tInventory.id=flow.BUSINESS_FORM_ID\n"
+            + "LEFT JOIN L_WH_FORM_SCRAPPED tScrapped ON flow.BUSINESS_TYPE=5 AND tScrapped.id=flow.BUSINESS_FORM_ID\n"
+            + "LEFT JOIN base_warehouse bw ON flow.WAREHOUSE_ID = bw.id\n"
+            + "LEFT JOIN fin_sys_tenant fst ON fst.id = bw.AGENCY_ID\n"
+            + "WHERE record.id IS NOT NULL ");
+
+        HashMap<String, Object> paramts = new HashMap<>();
+        //鏈烘瀯
+        if (param.getAgencyId() != null) {
+            sql.append("AND fst.id like :agencyId ");
+            paramts.put("agencyId", param.getAgencyId() + StringUtils.CHAR_PERCENT);
+        }
+
+        //鐗╁搧鍚嶇О
+        if (StringUtils.isNotEmpty(param.getGoodsName())) {
+            sql.append(" AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName");
+            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsName() + StringUtils.CHAR_PERCENT);
+        }
+        if (param.getBaseGoodsId() != null) {
+            sql.append(" AND record.BASE_GOODS_TEMPLATE_ID=:goodsTemplateId");
+            paramts.put("goodsTemplateId", param.getBaseGoodsId());
+        }
+        //瑙勬牸鍨嬪彿
+        if (param.getBaseGoodsModelsId() != null) {
+            sql.append(" AND record.BASE_GOODS_MODELS_ID=:baseGoodsModelsId");
+            paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId());
+        }
+        // 鍚岀爜琛紝1閲囪喘鍏ュ簱 2閫�杩樺叆搴� 3璋冩嫧鍏ュ簱 4鐩樼泩鍏ュ簱 5鐢抽鍑哄簱 6璋冩嫧鍑哄簱 7鐩樹簭鍑哄簱 8鎶ュ簾鍑哄簱 9鍏朵粬鍑哄簱
+        Integer flowType = param.getStates();
+        if (flowType != null) {
+            Map<String, Short> typeByFlowType = WhBusinessEnum.getTypeByFlowType(flowType.shortValue());
+            //鏈璋冩暣绫诲瀷锛�1=璋冨锛�2=璋冨噺锛�
+            Short flowThisType = typeByFlowType.get("flowThisType");
+            //鍗曟嵁绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂5鎶ュ簾6閮ㄩ棬鐗╁搧鍥為��浠撳簱7鐗╁搧鐩樼偣
+            Short flowBusinessType = typeByFlowType.get("flowBusinessType");
+            if (flowThisType != null) {
+                sql.append(" AND flow.THIS_TYPE=:flowThisType");
+                paramts.put("flowThisType", flowThisType);
+            }
+            if (flowBusinessType != null) {
+                sql.append(" AND flow.BUSINESS_TYPE=:flowBusinessType");
+                paramts.put("flowBusinessType", flowBusinessType);
+            }
+        }
+        // 鍗曞彿
+        String businessFormCode = param.getBusinessFormCode();
+        if (StringUtils.isNotEmpty(businessFormCode)) {
+            sql.append(" and case when flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE =:whereBusinessFormCode" +
+                " WHEN ( flow.BUSINESS_TYPE = 2 OR flow.BUSINESS_TYPE = 4 OR flow.BUSINESS_TYPE = 6 ) THEN tTrans.BUSINESS_FORM_CODE =:whereBusinessFormCode" +
+                " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:whereBusinessFormCode" +
+                " WHEN flow.BUSINESS_TYPE = 5 THEN tScrapped.BUSINESS_FORM_CODE =:whereBusinessFormCode" +
+                " WHEN flow.BUSINESS_TYPE = 7 THEN tInventory.BUSINESS_FORM_CODE =:whereBusinessFormCode end");
+            paramts.put("whereBusinessFormCode", businessFormCode);
+
+        }
+        // 鎿嶄綔鏃堕棿
+        if (param.getStartTime() != null) {
+            sql.append(" and flow.DEAL_TIME >=:dealTimeStart ");
+            paramts.put("dealTimeStart", param.getStartTime() * 1000000);
+        }
+        if (param.getEndTime() != null) {
+            sql.append(" and flow.DEAL_TIME <:dealTimeEnd ");
+            paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000);
+        }
+        sql.append(" ORDER BY record.DEAL_TIME desc,record.id DESC ");
+        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
+    }
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java
index 1561502..c6f4220 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java
@@ -4,13 +4,12 @@
 import com.consum.base.pojo.response.FormInventoryGoodsVO;
 import com.consum.model.po.LWhFormInventoryGoods;
 import com.walker.jdbc.service.BaseServiceImpl;
+import java.util.ArrayList;
+import java.util.List;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
-
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * @Description 鐩樼偣鍗曠墿鍝�
@@ -60,16 +59,18 @@
             Integer inventoryCount = inventoryGoods.getInventoryCount();
             Integer realNum = inventoryGoods.getRealNum();
             if (realNum != null) {
-                int errorCount = realNum - inventoryCount ;
+                int errorCount = realNum - inventoryCount;
                 lWhFormInventoryGoods.setInventoryCounts(realNum);
                 lWhFormInventoryGoods.setErrorCounts(Math.abs(errorCount));
                 //鐩樼偣缁撴灉锛�1=姝e父锛�2=鐩樼泩锛�3=鐩樹簭锛�
                 lWhFormInventoryGoods.setInventoryResult((errorCount > 0) ? 2 : (errorCount < 0) ? 3 : 1);
-                goodsList.add(lWhFormInventoryGoods);
+                // TODO 鎵归噺鏇存柊
+                this.update(lWhFormInventoryGoods);
+//                goodsList.add(lWhFormInventoryGoods);
             }
 
         }
-        return this.updateBatch(goodsList);
+        return 1;
     }
 
     /**
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
index 562900c..b6a158b 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
@@ -206,7 +206,8 @@
             log.error("鐩樼偣鍗曠墿鍝佷负绌�");
             return 0;
         }
-        this.inventoryGoodsService.updateInventoryGoods(inventoryGoodsList);
+        int i = this.inventoryGoodsService.updateInventoryGoods(inventoryGoodsList);
+        System.out.println(i);
         //淇敼鐩樼偣鍗�
         if (state == 2) {
             //瀹屾垚鐩樼偣鏃惰缃畬鎴愮洏鐐规椂闂�
@@ -345,6 +346,7 @@
                 formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭"));
             formInventoryDetailVO.setInventoryType(
                 formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱"));
+            formInventoryDetailVO.setWarehouseFormCode(formInventoryDetailVO.getWarehouseFormCode());
             result.add(formInventoryDetailVO);
         });
         pageUtil.setDatas(result);
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
index 108907d..6449cb7 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
@@ -14,23 +14,30 @@
 import com.consum.base.pojo.response.FormScrappedGoodsVO;
 import com.consum.base.pojo.response.GoodsModelVO;
 import com.consum.base.pojo.response.LWhFormScrappedExtendVO;
-import com.consum.model.po.*;
+import com.consum.model.po.BaseGoodsModels;
+import com.consum.model.po.BaseGoodsTemplate;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantDepartment;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LWhFormScrapped;
+import com.consum.model.po.LWhFormScrappedGoods;
+import com.consum.model.po.SDictData;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.stream.Collectors;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * @Description 鎶ュ簾鍗�
@@ -59,7 +66,7 @@
     @Autowired
     private LWhFormScrappedCoreService lWhFormScrappedCoreService;
 
-    private static String QUERY_LIST = "SELECT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 ";
+    private static String QUERY_LIST = "SELECT DISTINCT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 ";
 
     private static final String QUERY_BF_DETAIL_LIST = "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS,"
         + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs "
@@ -82,11 +89,12 @@
         lWhFormScrapped.setId(lWhFormScrappedId);
         lWhFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped));
         lWhFormScrapped.setWarehouseType(warehouseType);
+
         // 鍏敤
         Long warehouseId = null;
         //浠撳簱鍚嶇О
         String wareHouseName = null;
-        if (warehouseType == 0){
+        if (warehouseType == 0) {
             warehouseId = param.getWarehouseId();
             //鏍规嵁浠撳簱id鏌ヨ浠撳簱
             BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
@@ -113,6 +121,7 @@
         lWhFormScrapped.setOperatorName(sysInfo.getUserName());
         lWhFormScrapped.setDealTime(param.getDealTime());
         lWhFormScrapped.setStates(0);
+        lWhFormScrapped.setUploadFiles(param.getUploadFiles());
         //鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬
         FinSysTenantDepartment department = this.departmentService.getById(sysInfo.getSysDeptId());
         if (department != null) {
@@ -265,6 +274,16 @@
             formScrappedGoodsVO.setBaseGoodsTemplateId(baseGoodsTemplateId);
             formScrappedGoodsVO.setGoodsName(lWhFormScrappedGoods.getGoodsTemplateName());
 
+            String sql = "select CATEGORY_NAME from base_goods_template where id = :id";
+            Map<String, Object> param = new HashMap<>();
+            param.put("id", baseGoodsTemplateId);
+            List<Map<String, Object>> goodTemplate = this.select(sql, param, new MapperUtil());
+            if (!CollectionUtils.isEmpty(goodTemplate)) {
+                Optional<Map<String, Object>> first = goodTemplate.stream().findFirst();
+                Map<String, Object> objectMap = first.get();
+                formScrappedGoodsVO.setCategoryName(objectMap.get("categoryName").toString());
+            }
+
             List<GoodsModelVO> goodsModelList = Lists.newArrayList();
             goodsList.forEach(item -> {
                 GoodsModelVO goodsModelVO = new GoodsModelVO();
diff --git "a/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xls" "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xls"
new file mode 100644
index 0000000..306de0e
--- /dev/null
+++ "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xls"
Binary files differ

--
Gitblit v1.9.1