From e80a199894f078f3b0ead5b052ea3ce5d2b9d96e Mon Sep 17 00:00:00 2001
From: luqingyang <lqy5492@163.com>
Date: 星期三, 01 十一月 2023 17:36:06 +0800
Subject: [PATCH] 库存盘点 相关代码

---
 consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java  |   17 +
 consum-base/src/main/java/com/consum/base/core/CodeGeneratorEnum.java                 |    5 
 consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java     |   30 -
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java       |  118 ++++++--
 consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java     |    1 
 consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java              |    3 
 consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java                |   10 
 consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java              |   85 ++++++
 consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java   |   47 +++
 consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryParam.java             |  134 +++++++++
 consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java    |    5 
 consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryVo.java                |  124 +++++++++
 consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsParams.java        |   36 ++
 consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java |   13 +
 consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java   |   12 
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java    |   86 ++++++
 16 files changed, 651 insertions(+), 75 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
index e3c74d9..416ea13 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
@@ -145,6 +145,19 @@
         return ResponseValue.success(list);
     }
 
+    /**
+     * @Description  鏍规嵁鍒嗙被id鏌ヨ鐗╁搧妯℃澘
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/30
+     */
+    @GetMapping("/selectByCategoryId")
+    public ResponseValue querybyCategoryId(Long categoryId) {
+        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.querybyCategoryId(categoryId);
+        return ResponseValue.success(list);
+    }
+
+
+
 
 
 }
diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
index f97656e..bfc7dbc 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
@@ -138,5 +138,6 @@
     }
 
 
+
 }
 
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java b/consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java
index bf18cec..1200252 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWarehouseFlowController.java
@@ -26,6 +26,11 @@
     @Resource
     private LWarehouseFlowService lWarehouseFlowService;
 
+    /**
+     * 鍑哄叆搴撴槑缁�
+     * @param param
+     * @return
+     */
     @GetMapping("/list")
     public ResponseValue queryFormProcureList(LWarehouseFlowParam param) {
         S_user_core currentUser = this.getCurrentUser();
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java
index 4e4420d..60279a5 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java
@@ -15,6 +15,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description 鐩樼偣
@@ -153,7 +154,19 @@
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鏆傚瓨澶辫触锛�");
     }
 
-
-
+    /**
+     * @Description 寮傚父鏄庣粏鍒楄〃鏌ヨ
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/11/1
+     */
+    @GetMapping("/list/PdDetail")
+    public ResponseValue queryPdDetailList(LWhFormInventoryParam param) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        GenericPager<Map<String, Object>> pager = this.lWhFormInventoryService.queryPdDetailList(param, sysInfo);
+        return ResponseValue.success(pager);
+    }
 }
 
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 0cf4d6a..b2c73c2 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
@@ -99,31 +99,13 @@
         LWhFormOutputExtend formOutputExtend = new LWhFormOutputExtend();
         BeanUtils.copyProperties(lWhFormOutput, formOutputExtend);
 
-        // 鐗╁搧
-        LWhFormProcureGoods lWhFormProcureGoods = new LWhFormProcureGoods();
-        lWhFormProcureGoods.setWhFormProcureId(id);
-        List<LWhFormProcureGoods> formProcureGoods = lWhFormOutputService.select(lWhFormProcureGoods);
+        // 鏌ヨ鍨嬪彿鏁伴噺
+        LWhProcureModel lWhProcureModel = new LWhProcureModel();
+        lWhProcureModel.setBusinessType(3);
+        lWhProcureModel.setBusinessId(id);
+        List<LWhProcureModel> models = lWhFormOutputService.select(lWhProcureModel);
+        formOutputExtend.setModels(models);
 
-        Field fieldModels = null;
-        try {
-            fieldModels = LWhFormProcureGoodsParams.class.getDeclaredField("models");
-        } catch (NoSuchFieldException e) {
-            e.printStackTrace();
-        }
-        fieldModels.setAccessible(true);
-        ArrayList<LWhFormProcureGoodsParams> procureGoodsParams = new ArrayList<>();
-        for (LWhFormProcureGoods formProcureGood : formProcureGoods) {
-            LWhFormProcureGoodsParams lWhFormProcureGoodsParams = new LWhFormProcureGoodsParams();
-            BeanUtils.copyProperties(formProcureGood, lWhFormProcureGoodsParams);
-
-            // 鏌ヨ鍨嬪彿鏁伴噺
-            LWhProcureModel lWhProcureModel = new LWhProcureModel();
-            lWhProcureModel.setFromProcureGoodsId(formProcureGood.getId());
-            List<LWhProcureModel> models = lWhFormOutputService.select(lWhProcureModel);
-            fieldModels.set(lWhFormProcureGoodsParams, models);
-            procureGoodsParams.add(lWhFormProcureGoodsParams);
-        }
-        formOutputExtend.setProcureGoods(procureGoodsParams);
         return ResponseValue.success("鏌ヨ鎴愬姛!", formOutputExtend);
     }
 
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
new file mode 100644
index 0000000..2747e39
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
@@ -0,0 +1,47 @@
+package com.consum.base.controller;
+
+import com.consum.base.BaseController;
+import com.consum.base.pojo.LWhFormInventoryParam;
+import com.consum.base.pojo.LWhFormScrappedParam;
+import com.consum.base.service.LWhFormScrappedServiceImpl;
+import com.consum.model.po.FinSysTenantUser;
+import com.iplatform.model.po.S_user_core;
+import com.walker.web.ResponseValue;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description 鎶ュ簾鍗�
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/11/1
+ */
+@RestController
+@RequestMapping("/pc/l/wh/form/scrapped")
+public class LWhFormScrappedController extends BaseController {
+
+    @Autowired
+    private LWhFormScrappedServiceImpl lWhFormScrappedService;
+
+    /**
+     * @Description  鏂板鎶ュ簾鍗�
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/11/1
+     */
+    @PostMapping("/add")
+    public ResponseValue add(@RequestBody LWhFormScrappedParam param) {
+        //鏍规嵁鐩樼偣浜篿d鏌ヨ鐩樼偣浜�
+        S_user_core operatorUser = this.getUser(param.getOperatorId());
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        int result = this.lWhFormScrappedService.add(param, sysInfo,operatorUser);
+        if (result > 0) return ResponseValue.success(1);
+        return ResponseValue.error("鏂板澶辫触锛�");
+    }
+
+
+
+
+}
+
diff --git a/consum-base/src/main/java/com/consum/base/core/CodeGeneratorEnum.java b/consum-base/src/main/java/com/consum/base/core/CodeGeneratorEnum.java
index 60f2ed2..ed7085c 100644
--- a/consum-base/src/main/java/com/consum/base/core/CodeGeneratorEnum.java
+++ b/consum-base/src/main/java/com/consum/base/core/CodeGeneratorEnum.java
@@ -24,6 +24,11 @@
     Transfer("DB"),
 
     /**
+     * 鎶ュ簾
+     */
+    Scrapped("BF"),
+
+    /**
      * 鐩樼偣鍗曠紪鐮侊紝绠�鍐欙細PD
      */
     Inventory("PD"),
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryParam.java
index e4182d9..a35654b 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryParam.java
@@ -17,7 +17,7 @@
      */
     private Long warehouseId;
     /**
-     * 鐩樼偣浜�
+     * 鎿嶄綔浜�
      */
     private Long operatorId;
     /**
@@ -36,6 +36,66 @@
      * 鐩樼偣鏃堕棿 缁撴潫
      */
     private Long inventoryDateEnd;
+    /**
+     * 鏈烘瀯id
+     */
+    private Long agencyId;
+    /**
+     * 鐗╁搧鍚嶇О
+     */
+    private String goodsTemplateName;
+    /**
+     * 瑙勬牸鍨嬪彿id
+     */
+    private Long baseGoodsModelsId;
+    /**
+     * 绫诲瀷(鍑哄叆搴撶被鍨�) 2=鐩樼泩锛�3=鐩樹簭
+     */
+    private Integer inventoryResult;
+    /**
+     * 鍑哄叆搴撳崟鍙�
+     */
+    private Long warehouseFormCode;
+    /**
+     * 鐩樼偣浜�
+     */
+    private String operatorName;
+    /**
+     * 鏃堕棿(鐩樼偣缁撴潫鏃堕棿) 寮�濮�
+     */
+    private Long stopTimeStart;
+    /**
+     * 鏃堕棿(鐩樼偣缁撴潫鏃堕棿) 缁撴潫
+     */
+    private Long stopTimeEnd;
+
+    private Integer pageSize = 10;
+    private Integer pageNum = 1;
+
+    public Integer getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public Integer getPageNum() {
+        return pageNum;
+    }
+
+    public void setPageNum(Integer pageNum) {
+        this.pageNum = pageNum;
+    }
+
+
+    public String getOperatorName() {
+        return operatorName;
+    }
+
+    public void setOperatorName(String operatorName) {
+        this.operatorName = operatorName;
+    }
 
     public Long getId() {
         return id;
@@ -43,14 +103,6 @@
 
     public void setId(Long id) {
         this.id = id;
-    }
-
-    public String getBusinessFormCode() {
-        return businessFormCode;
-    }
-
-    public void setBusinessFormCode(String businessFormCode) {
-        this.businessFormCode = businessFormCode;
     }
 
     public String getBusinessFormName() {
@@ -108,4 +160,68 @@
     public void setInventoryDateEnd(Long inventoryDateEnd) {
         this.inventoryDateEnd = inventoryDateEnd;
     }
+
+    public Long getAgencyId() {
+        return agencyId;
+    }
+
+    public void setAgencyId(Long agencyId) {
+        this.agencyId = agencyId;
+    }
+
+    public String getGoodsTemplateName() {
+        return goodsTemplateName;
+    }
+
+    public void setGoodsTemplateName(String goodsTemplateName) {
+        this.goodsTemplateName = goodsTemplateName;
+    }
+
+    public Long getBaseGoodsModelsId() {
+        return baseGoodsModelsId;
+    }
+
+    public void setBaseGoodsModelsId(Long baseGoodsModelsId) {
+        this.baseGoodsModelsId = baseGoodsModelsId;
+    }
+
+    public Integer getInventoryResult() {
+        return inventoryResult;
+    }
+
+    public void setInventoryResult(Integer inventoryResult) {
+        this.inventoryResult = inventoryResult;
+    }
+
+    public void setBusinessFormCode(String businessFormCode) {
+        this.businessFormCode = businessFormCode;
+    }
+
+    public Long getStopTimeStart() {
+        return stopTimeStart;
+    }
+
+    public void setStopTimeStart(Long stopTimeStart) {
+        this.stopTimeStart = stopTimeStart;
+    }
+
+    public Long getStopTimeEnd() {
+        return stopTimeEnd;
+    }
+
+    public void setStopTimeEnd(Long stopTimeEnd) {
+        this.stopTimeEnd = stopTimeEnd;
+    }
+
+    public String getBusinessFormCode() {
+        return businessFormCode;
+    }
+
+    public Long getWarehouseFormCode() {
+        return warehouseFormCode;
+    }
+
+    public void setWarehouseFormCode(Long warehouseFormCode) {
+        this.warehouseFormCode = warehouseFormCode;
+    }
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryVo.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryVo.java
new file mode 100644
index 0000000..e165303
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryVo.java
@@ -0,0 +1,124 @@
+package com.consum.base.pojo;
+
+public class LWhFormInventoryVo{
+    /**
+     * 浠撳簱鍚嶇О
+     */
+    private String warehouseName;
+    /**
+     * 鐗╁搧鍚嶇О
+     */
+    private String goodsTemplateName;
+    /**
+     * 瑙勬牸鍨嬪彿鍚嶇О
+     */
+    private String baseGoodsModelsName;
+    /**
+     * 绫诲瀷(鍑哄叆搴撶被鍨�) 2=鐩樼泩锛�3=鐩樹簭
+     */
+    private Integer inventoryResult;
+    /**
+     * 搴撳瓨鏁伴噺
+     */
+    private Integer initCounts;
+    /**
+     * 鐩樼偣鏁伴噺
+     */
+    private Integer inventoryCounts;
+    /**
+     * 宸紓鏁伴噺
+     */
+    private Integer errorCounts;
+    /**
+     * 鏈烘瀯鍚嶇О
+     */
+    private String agencyName;
+    /**
+     * 鎿嶄綔浜�
+     */
+    private String operatorName;
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    private Long stopTime;
+
+    public String getWarehouseName() {
+        return warehouseName;
+    }
+
+    public void setWarehouseName(String warehouseName) {
+        this.warehouseName = warehouseName;
+    }
+
+    public String getGoodsTemplateName() {
+        return goodsTemplateName;
+    }
+
+    public void setGoodsTemplateName(String goodsTemplateName) {
+        this.goodsTemplateName = goodsTemplateName;
+    }
+
+    public String getBaseGoodsModelsName() {
+        return baseGoodsModelsName;
+    }
+
+    public void setBaseGoodsModelsName(String baseGoodsModelsName) {
+        this.baseGoodsModelsName = baseGoodsModelsName;
+    }
+
+    public Integer getInventoryResult() {
+        return inventoryResult;
+    }
+
+    public void setInventoryResult(Integer inventoryResult) {
+        this.inventoryResult = inventoryResult;
+    }
+
+    public Integer getInitCounts() {
+        return initCounts;
+    }
+
+    public void setInitCounts(Integer initCounts) {
+        this.initCounts = initCounts;
+    }
+
+    public Integer getInventoryCounts() {
+        return inventoryCounts;
+    }
+
+    public void setInventoryCounts(Integer inventoryCounts) {
+        this.inventoryCounts = inventoryCounts;
+    }
+
+    public Integer getErrorCounts() {
+        return errorCounts;
+    }
+
+    public void setErrorCounts(Integer errorCounts) {
+        this.errorCounts = errorCounts;
+    }
+
+    public String getAgencyName() {
+        return agencyName;
+    }
+
+    public void setAgencyName(String agencyName) {
+        this.agencyName = agencyName;
+    }
+
+    public String getOperatorName() {
+        return operatorName;
+    }
+
+    public void setOperatorName(String operatorName) {
+        this.operatorName = operatorName;
+    }
+
+    public Long getStopTime() {
+        return stopTime;
+    }
+
+    public void setStopTime(Long stopTime) {
+        this.stopTime = stopTime;
+    }
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
index 063d1cb..8dc72c8 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
@@ -26,7 +26,7 @@
     /**
      * 璁板綍鐗╁搧淇℃伅鍜岃鏍煎瀷鍙�
      */
-    private List<LWhGoodsRecord> list;
+    private List<LWhProcureModelParams> models;
     /**
      * 鐗╁搧id
      */
@@ -77,12 +77,12 @@
         this.dealTime = dealTime;
     }
 
-    public List<LWhGoodsRecord> getList() {
-        return list;
+    public List<LWhProcureModelParams> getModels() {
+        return models;
     }
 
-    public void setList(List<LWhGoodsRecord> list) {
-        this.list = list;
+    public void setModels(List<LWhProcureModelParams> models) {
+        this.models = models;
     }
 
     public Long getBaseGoodsTemplateId() {
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsParams.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsParams.java
new file mode 100644
index 0000000..91bb254
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsParams.java
@@ -0,0 +1,36 @@
+package com.consum.base.pojo;
+
+import com.walker.web.param.ParamRequest;
+
+public class LWhFormScrappedGoodsParams extends ParamRequest {
+    //瑙勬牸鍨嬪彿缂栧彿
+    private Long baseGoodsModelsId = null;
+    //鎶ュ簾鏁伴噺
+    private Integer counts = null;
+    //鎶ュ簾鍘熷洜
+    private String scrappedCode;
+
+    public Long getBaseGoodsModelsId() {
+        return baseGoodsModelsId;
+    }
+
+    public void setBaseGoodsModelsId(Long baseGoodsModelsId) {
+        this.baseGoodsModelsId = baseGoodsModelsId;
+    }
+
+    public Integer getCounts() {
+        return counts;
+    }
+
+    public void setCounts(Integer counts) {
+        this.counts = counts;
+    }
+
+    public String getScrappedCode() {
+        return scrappedCode;
+    }
+
+    public void setScrappedCode(String scrappedCode) {
+        this.scrappedCode = scrappedCode;
+    }
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java
new file mode 100644
index 0000000..fbca514
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java
@@ -0,0 +1,85 @@
+package com.consum.base.pojo;
+
+import com.consum.model.po.LWhFormScrappedGoods;
+import com.walker.web.param.ParamRequest;
+
+import java.util.List;
+
+public class LWhFormScrappedParam extends ParamRequest {
+    /**
+     * 鏈烘瀯id
+     */
+    private Long agencyId;
+    /**
+     * 浠撳簱缂栧彿
+     */
+    private Long warehouseId;
+    /**
+     * 鎿嶄綔浜�
+     */
+    private Long operatorId;
+    /**
+     * 鎶ュ簾鏃堕棿
+     */
+    private Long dealTime;
+    /**
+     * 闄勪欢
+     */
+    private String uploadFiles;
+    /**
+     * 鐗╁搧id
+     */
+
+    /**
+     * 鎶ュ簾鍗曠墿鍝�
+     */
+    private List<LWhFormScrappedGoodsParams> scrappedGoodsList;
+
+    public Long getAgencyId() {
+        return agencyId;
+    }
+
+    public void setAgencyId(Long agencyId) {
+        this.agencyId = agencyId;
+    }
+
+    public Long getWarehouseId() {
+        return warehouseId;
+    }
+
+    public void setWarehouseId(Long warehouseId) {
+        this.warehouseId = warehouseId;
+    }
+
+    public Long getOperatorId() {
+        return operatorId;
+    }
+
+    public void setOperatorId(Long operatorId) {
+        this.operatorId = operatorId;
+    }
+
+    public Long getDealTime() {
+        return dealTime;
+    }
+
+    public void setDealTime(Long dealTime) {
+        this.dealTime = dealTime;
+    }
+
+    public String getUploadFiles() {
+        return uploadFiles;
+    }
+
+    public void setUploadFiles(String uploadFiles) {
+        this.uploadFiles = uploadFiles;
+    }
+
+    public List<LWhFormScrappedGoodsParams> getScrappedGoodsList() {
+        return scrappedGoodsList;
+    }
+
+    public void setScrappedGoodsList(List<LWhFormScrappedGoodsParams> scrappedGoodsList) {
+        this.scrappedGoodsList = scrappedGoodsList;
+    }
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java
index 9dc3ddc..e93c9a8 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java
@@ -1,10 +1,7 @@
 package com.consum.base.pojo;
 
-import com.consum.model.po.LWhGoodsRecord;
 import com.walker.web.param.ParamRequest;
-import org.springframework.format.annotation.DateTimeFormat;
 
-import java.time.LocalDate;
 import java.util.List;
 
 /**
diff --git a/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java
index 288bee8..b5da63b 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java
@@ -283,4 +283,16 @@
         StringBuilder sql = new StringBuilder("SELECT * FROM s_dict_data WHERE dict_type = 'CLASSIFICATION_CODE' order by dict_sort");
         return this.select(sql.toString(), new Object[]{}, new S_dict_data());
     }
+
+    /**
+     * @Description  鏍规嵁鍒嗙被id鏌ヨ鐗╁搧妯℃澘
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/30
+     */
+    public List<BaseGoodsTemplate> querybyCategoryId(Long categoryId) {
+        BaseGoodsTemplate goodsTemplate = new BaseGoodsTemplate();
+        goodsTemplate.setCategoryId(categoryId);
+        List<BaseGoodsTemplate> select = this.select(goodsTemplate);
+        return select;
+    }
 }
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 b40b06d..f23846e 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
@@ -2,6 +2,7 @@
 
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.core.tools.MapRowMapper;
 import com.consum.base.pojo.LWhFormInventoryDto;
 import com.consum.base.pojo.LWhFormInventoryParam;
 import com.consum.base.util.IdUtil;
@@ -14,11 +15,9 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -54,6 +53,18 @@
             "                      AND STATES = ?\n" +
             "                    GROUP BY BASE_GOODS_MODELS_ID) record ON record.BASE_GOODS_MODELS_ID = model.id\n" +
             "left join base_goods_template bgt on bgt.ID = model.GOODS_TEMPLATES_ID; ";
+
+    private static final String QUERY_PD_DETAIL_LIST = "select lwfi.WAREHOUSE_NAME,lwfig.GOODS_TEMPLATE_NAME,\n" +
+            "       lwfig.BASE_GOODS_MODELS_NAME,\n" +
+            "       lwfig.INVENTORY_RESULT,\n" +
+            "       lwfig.INIT_COUNTS,\n" +
+            "       lwfig.INVENTORY_COUNTS,\n" +
+            "       lwfig.ERROR_COUNTS,\n" +
+            "       lwfi.AGENCY_NAME,\n" +
+            "       lwfi.OPERATOR_NAME,\n" +
+            "       lwfi.STOP_TIME\n" +
+            "from l_wh_form_inventory lwfi\n" +
+            "         inner join l_wh_form_inventory_goods lwfig on lwfi.ID = lwfig.WH_FORM_INVENTORY_ID ";
 
     /**
      * @Description 鏂板
@@ -224,7 +235,7 @@
             } else {
                 inventoryGoods.setInventoryResult(1);
             }
-            inventoryGoods.setErrorCounts(errorCounts);
+            inventoryGoods.setErrorCounts(Math.abs(errorCounts));
         }
         int flag2 = inventoryGoodsService.update(inventoryGoodsList);
         if (flag2 != inventoryGoodsList.size()) {
@@ -233,4 +244,73 @@
         }
         return 1;
     }
+
+    /**
+     * @Description 寮傚父鏄庣粏鍒楄〃鏌ヨ
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/11/1
+     * @return
+     */
+    public GenericPager<Map<String, Object>> queryPdDetailList(LWhFormInventoryParam param, FinSysTenantUser sysInfo) {
+        StringBuilder sql = new StringBuilder(QUERY_PD_DETAIL_LIST);
+        HashMap<String, Object> paramts = new HashMap<>();
+
+        //鏈烘瀯
+        sql.append(" and AGENCY_ID like:AGENCY_ID ");
+        if (param.getAgencyId() != null) {
+            paramts.put("AGENCY_ID", param.getAgencyId() + StringUtils.CHAR_PERCENT);
+        } else {
+            paramts.put("AGENCY_ID", sysInfo.getTenantId() + StringUtils.CHAR_PERCENT);
+        }
+        //浠撳簱缂栧彿
+        if (param.getWarehouseId() != null) {
+            sql.append(" and WAREHOUSE_ID =:WAREHOUSE_ID ");
+            paramts.put("WAREHOUSE_ID", param.getWarehouseId());
+        }
+        //鐗╁搧鍚嶇О
+        if (!StringUtils.isEmpty(param.getGoodsTemplateName())) {
+            sql.append(" and GOODS_TEMPLATE_NAME =:GOODS_TEMPLATE_NAME ");
+            paramts.put("GOODS_TEMPLATE_NAME", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
+        }
+        //瑙勬牸鍨嬪彿
+        if (param.getBaseGoodsModelsId() != null) {
+            sql.append(" and BASE_GOODS_MODELS_ID =:BASE_GOODS_MODELS_ID ");
+            paramts.put("BASE_GOODS_MODELS_ID", param.getBaseGoodsModelsId());
+        }
+        //绫诲瀷(鍑哄叆搴撶被鍨�)
+        Integer inventoryResult = param.getInventoryResult();
+        if (inventoryResult != null) {
+            sql.append(" and INVENTORY_RESULT =:INVENTORY_RESULT ");
+            paramts.put("INVENTORY_RESULT", inventoryResult);
+        }
+        //鍑哄叆搴撳崟鍙�
+        if (param.getWarehouseFormCode() != null) {
+            if (inventoryResult == 2) { //鐩樼泩鍏ュ簱
+                sql.append(" and IN_BUSINESS_FORM_CODE =:IN_BUSINESS_FORM_CODE ");
+                paramts.put("IN_BUSINESS_FORM_CODE", StringUtils.CHAR_PERCENT + param.getWarehouseFormCode() + StringUtils.CHAR_PERCENT);
+            } else {  //鐩樹簭鍑哄簱
+                sql.append(" and OUT_BUSINESS_FORM_CODE =:OUT_BUSINESS_FORM_CODE ");
+                paramts.put("OUT_BUSINESS_FORM_CODE", StringUtils.CHAR_PERCENT + param.getWarehouseFormCode() + StringUtils.CHAR_PERCENT);
+            }
+        }
+        //鎿嶄綔浜�
+        if (!StringUtils.isEmpty(param.getOperatorName())) {
+            sql.append(" and OPERATOR_NAME =:OPERATOR_NAME ");
+            paramts.put("OPERATOR_NAME", StringUtils.CHAR_PERCENT + param.getOperatorName() + StringUtils.CHAR_PERCENT);
+        }
+        //缁撴潫鏃堕棿
+        if (param.getStopTimeStart() != null) {
+            sql.append(" and STOP_TIME >=:stopTimeStart ");
+            paramts.put("stopTimeStart", param.getStopTimeStart() * 1000000);
+        }
+        if (param.getStopTimeEnd() != null) {
+            sql.append(" and STOP_TIME <:stopTimeEnd ");
+            paramts.put("stopTimeEnd", param.getStopTimeEnd() * 1000000 + 240000);
+        }
+
+        sql.append(" ORDER BY CREATE_TIME DESC ");
+
+        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapRowMapper());
+    }
+
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
index bda721f..4ab7093 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.consum.base.core.param.BaseWarehouseParam1;
 import com.consum.base.pojo.LWhFormOutputParam;
+import com.consum.base.pojo.LWhProcureModelParams;
 import com.consum.base.util.IdUtil;
 import com.consum.model.po.*;
 import com.iplatform.model.po.S_user_core;
@@ -15,6 +16,7 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 
@@ -140,6 +142,78 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/27
      */
+//    public int add(LWhFormOutputParam param, S_user_core currentUser, FinSysTenantUser sysInfo) {
+//        //1.鏂板鍑哄簱鍗曡褰�
+//        LWhFormOutput lWhFormOutput = new LWhFormOutput();
+//        //鍑哄叆搴搃d
+//        long lWhFormOutputId = IdUtil.generateId();
+//        lWhFormOutput.setId(lWhFormOutputId);
+//        Long warehouseId = param.getWarehouseId();
+//        lWhFormOutput.setWarehouseId(warehouseId);
+//        //鏍规嵁浠撳簱id鏌ヨ浠撳簱
+//        BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
+//        if (warehouse == null) {
+//            log.error("浠撳簱id涓嶅瓨鍦�");
+//            return 0;
+//        }
+//        lWhFormOutput.setWarehouseName(warehouse.getWarehouseName());
+//        lWhFormOutput.setOutputCode(BaseWarehouseParam1.In_OutPutTypeEnum.Fragmentary_Output.getValue() + "");
+//        lWhFormOutput.setOutputName("闆舵槦鍑哄簱");
+//        lWhFormOutput.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
+//        lWhFormOutput.setAgencyName(sysInfo.getTenantName());
+//        lWhFormOutput.setOperatorId(sysInfo.getId());
+//        lWhFormOutput.setOperatorName(sysInfo.getUserName());
+//        long dateTimeNumber = DateUtils.getDateTimeNumber(System.currentTimeMillis());
+//        lWhFormOutput.setDealTime(dateTimeNumber);
+//        lWhFormOutput.setStates(1);
+//        int flag1 = this.insert(lWhFormOutput);
+//
+//        //4.鏂板l_wh_goods_record璁板綍
+//        List<LWhGoodsRecord> recordList = param.getList();
+//        if (CollectionUtils.isEmpty(recordList)) {
+//            log.error("瑙勬牸鍨嬪彿涓虹┖");
+//            return 0;
+//        }
+//        int flag5 = 0;
+//        for (LWhGoodsRecord record : recordList) {
+//            //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
+//            int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0,warehouseId, record.getBaseGoodsModelsId(), (short) 1, null);
+//
+//            //5.鏂板L_WH_PROCURE_MODEL璁板綍
+//            LWhProcureModel lWhProcureModel = new LWhProcureModel();
+//            lWhProcureModel.setId(IdUtil.generateId());
+//            lWhProcureModel.setBusinessType(3);
+//            lWhProcureModel.setBaseGoodsModelsId(record.getBaseGoodsModelsId());
+//            lWhProcureModel.setCounts(record.getThisCount());
+//            lWhProcureModel.setWorehouseCount(goodsNum);
+//            int res = this.lWhProcureModelService.insert(lWhProcureModel);
+//            flag5 += res;
+//        }
+//
+//        //2.鏍规嵁鍑哄簱鍗曞嚭搴�
+//        Long lWarehouseFlowId = this.lWhFormOutputCoreService.outFormByTransId(lWhFormOutput.getId(), currentUser, dateTimeNumber);
+//        //3.鍚戝嚭搴撳崟 鎻掑叆 杩涘嚭搴撴祦姘存�昏〃ID
+//        int flag3 = 0;
+//        if (flag1 > 0) {
+//            LWhFormOutput lWhFormOutput1 = new LWhFormOutput(lWhFormOutputId);
+//            lWhFormOutput1.setWarehouseFlowId(lWarehouseFlowId);
+//            flag3 = this.update(lWhFormOutput1);
+//        }
+//
+//        //濡傛灉鏈変竴鏉¤褰曟柊澧炲け璐ワ紝鍒欏洖婊�
+//        if (flag1 == 0 || flag3 == 0 || flag5 != recordList.size()) {
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//            return 0;
+//        }
+//
+//        return 1;
+//    }
+
+    /**
+     * @Description 鏂板鍑哄簱鍗�
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/27
+     */
     public int add(LWhFormOutputParam param, S_user_core currentUser, FinSysTenantUser sysInfo) {
         //1.鏂板鍑哄簱鍗曡褰�
         LWhFormOutput lWhFormOutput = new LWhFormOutput();
@@ -165,45 +239,31 @@
         lWhFormOutput.setDealTime(dateTimeNumber);
         lWhFormOutput.setStates(1);
         int flag1 = this.insert(lWhFormOutput);
-
-        //4.鏂板l_wh_goods_record璁板綍
-        List<LWhGoodsRecord> recordList = param.getList();
-        if (CollectionUtils.isEmpty(recordList)) {
-            log.error("瑙勬牸鍨嬪彿涓虹┖");
+        if (flag1 == 0) {
+            log.error("鏂板鍑哄簱鍗曡褰�");
             return 0;
         }
-        int flag5 = 0;
-        for (LWhGoodsRecord record : recordList) {
-            //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-            int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0,warehouseId, record.getBaseGoodsModelsId(), (short) 1, null);
-
-            //5.鏂板L_WH_PROCURE_MODEL璁板綍
+        //2.鏂板鐗╁搧鍨嬪彿璁板綍
+        List<LWhProcureModelParams> models = param.getModels();
+        List<LWhProcureModel> modelList = new ArrayList<>();
+        for (LWhProcureModelParams model : models) {
             LWhProcureModel lWhProcureModel = new LWhProcureModel();
             lWhProcureModel.setId(IdUtil.generateId());
             lWhProcureModel.setBusinessType(3);
-            lWhProcureModel.setBaseGoodsModelsId(record.getBaseGoodsModelsId());
-            lWhProcureModel.setCounts(record.getThisCount());
+            lWhProcureModel.setBusinessId(lWhFormOutputId);
+            lWhProcureModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId());
+            lWhProcureModel.setCounts(model.getCounts());
+            //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
+            int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0,warehouseId, model.getBaseGoodsModelsId(), (short) 1, null);
             lWhProcureModel.setWorehouseCount(goodsNum);
-            int res = this.lWhProcureModelService.insert(lWhProcureModel);
-            flag5 += res;
+            modelList.add(lWhProcureModel);
         }
-
-        //2.鏍规嵁鍑哄簱鍗曞嚭搴�
-        Long lWarehouseFlowId = this.lWhFormOutputCoreService.outFormByTransId(lWhFormOutput.getId(), currentUser, dateTimeNumber);
-        //3.鍚戝嚭搴撳崟 鎻掑叆 杩涘嚭搴撴祦姘存�昏〃ID
-        int flag3 = 0;
-        if (flag1 > 0) {
-            LWhFormOutput lWhFormOutput1 = new LWhFormOutput(lWhFormOutputId);
-            lWhFormOutput1.setWarehouseFlowId(lWarehouseFlowId);
-            flag3 = this.update(lWhFormOutput1);
-        }
-
-        //濡傛灉鏈変竴鏉¤褰曟柊澧炲け璐ワ紝鍒欏洖婊�
-        if (flag1 == 0 || flag3 == 0 || flag5 != recordList.size()) {
+        int flag2 = this.lWhProcureModelService.insert(modelList);
+        if (flag2 != modelList.size()) {
+            log.error("鏂板鐗╁搧鍨嬪彿澶辫触");
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return 0;
         }
-
         return 1;
     }
 

--
Gitblit v1.9.1