From 826f7359225f036663075546f50ea1126db568d3 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期二, 21 十一月 2023 10:57:14 +0800
Subject: [PATCH] --盘点管理

---
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java      |   14 
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java   |   71 ++-
 consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java      |  149 +++++++-
 consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java         |   23 +
 consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryGoodsController.java |   20 
 consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryGoodsVO.java         |   50 +++
 consum-base/src/main/java/com/consum/base/pojo/request/LWhFormInventoryParam.java         |   18 +
 consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryParam.java                 |  169 ---------
 consum-base/src/main/java/com/consum/base/pojo/response/TransferInfoVO.java               |    6 
 consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java       |   17 
 /dev/null                                                                                 |   21 -
 consum-base/src/main/java/com/consum/base/core/utils/MapperUtil.java                      |    7 
 consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryVO.java              |   45 ++
 consum-base/src/main/java/com/consum/base/pojo/request/FormInventoryParam.java            |   46 ++
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java        |  277 ++++++++++------
 15 files changed, 567 insertions(+), 366 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
index d687248..aa5fb16 100644
--- a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
@@ -35,6 +35,7 @@
 import com.walker.infrastructure.utils.PhoneNumberUtils;
 import com.walker.infrastructure.utils.StringUtils;
 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;
@@ -65,6 +66,7 @@
  * @Author wh
  * @Date 2023/7/17 14:16
  */
+@Api(value = "鏈烘瀯鐢ㄦ埛淇℃伅", tags = "鏈烘瀯鐢ㄦ埛淇℃伅")
 @RestController
 @RequestMapping("/pc/fin/sys/tenant/user")
 public class FinSysTenantUserController extends BaseController {
@@ -179,6 +181,18 @@
     }
 
 
+    @ApiOperation(value = "鏍规嵁鏈烘瀯id鏌ヨ鐢ㄦ埛", notes = "鏍规嵁鏈烘瀯id鏌ヨ鐢ㄦ埛")
+    @ApiImplicitParam(name = "tenantId", value = "鏈烘瀯id", required = true, dataType = "Long", paramType = "query")
+    @GetMapping("/query/user")
+    public ResponseValue queryUserByTenantId(Long tenantId) {
+
+        FinSysTenantUser finSysTenantUser = new FinSysTenantUser();
+        finSysTenantUser.setTenantId(String.valueOf(tenantId));
+        List<FinSysTenantUser> result = finSysTenantUserService.select(finSysTenantUser);
+        return ResponseValue.success(result);
+    }
+
+
     /**
      * @Description 鏂板
      * @Author wh
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 60279a5..13101c5 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
@@ -1,47 +1,74 @@
 package com.consum.base.controller;
 
 import com.consum.base.BaseController;
-import com.consum.base.pojo.LWhFormInventoryDto;
-import com.consum.base.pojo.LWhFormInventoryParam;
+import com.consum.base.pojo.request.FormInventoryParam;
+import com.consum.base.pojo.request.LWhFormInventoryParam;
+import com.consum.base.pojo.response.FormInventoryGoodsVO;
+import com.consum.base.pojo.response.FormInventoryVO;
+import com.consum.base.service.FinSysTenantUserServiceImpl;
 import com.consum.base.service.LWhFormInventoryServiceImpl;
-import com.consum.model.po.BaseCategory;
 import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.LWhFormInventory;
-import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.web.ResponseValue;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
-
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+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/10/23
  */
+@Api(value = "鐩樼偣", tags = "鐩樼偣")
 @RestController
 @RequestMapping("/pc/l/wh/form/inventory")
 public class LWhFormInventoryController extends BaseController {
 
     @Autowired
     private LWhFormInventoryServiceImpl lWhFormInventoryService;
+    @Autowired
+    private FinSysTenantUserServiceImpl finSysTenantUserService;
 
     /**
      * @Description 鏂板
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
      */
+    @ApiOperation(value = "鏂板鐩樼偣", notes = "鏂板鐩樼偣")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鐩樼偣鍗曚俊鎭�", dataType = "FormInventoryParam")
+    })
     @PostMapping("/add")
-    public ResponseValue add(@RequestBody LWhFormInventoryParam param) {
+    public ResponseValue add(@RequestBody FormInventoryParam param) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
         //鏍规嵁鐩樼偣浜篿d鏌ヨ鐩樼偣浜�
-        S_user_core operatorUser = this.getUser(param.getOperatorId());
+        FinSysTenantUser finSysTenantUser = new FinSysTenantUser();
+        finSysTenantUser.setId(param.getOperatorUserId());
+        FinSysTenantUser operatorUser = finSysTenantUserService.get(finSysTenantUser);
         //鏍规嵁鐩戠洏浜篿d鏌ヨ鐩戠洏浜�
-        S_user_core operatorUser2 = this.getUser(param.getOperatorId2());
-        int result = this.lWhFormInventoryService.add(param, this.getSysInfo(),operatorUser,operatorUser2);
-        if (result > 0) return ResponseValue.success(1);
+        FinSysTenantUser monitorUserInfo = new FinSysTenantUser();
+        monitorUserInfo.setId(param.getMonitorUserId());
+        FinSysTenantUser monitorUser = finSysTenantUserService.get(monitorUserInfo);
+        int result = this.lWhFormInventoryService.add(param, this.getSysInfo(), operatorUser, monitorUser);
+        if (result > 0) {
+            return ResponseValue.success();
+        }
         return ResponseValue.error("鏂板澶辫触锛�");
     }
 
@@ -50,14 +77,35 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
      */
+    @ApiOperation(value = "鐩樼偣鍗曞垪琛ㄦ煡璇�", notes = "鐩樼偣鍗曞垪琛ㄦ煡璇�")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鐩樼偣鏉′欢", dataType = "LWhFormInventoryParam", required = true, paramType = "query")
+    })
     @GetMapping("/list")
-    public ResponseValue queryList(LWhFormInventoryParam param) {
+    public ResponseValue queryList(com.consum.base.pojo.LWhFormInventoryParam param) {
         FinSysTenantUser sysInfo = this.getSysInfo();
         if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        GenericPager<LWhFormInventory> pager = this.lWhFormInventoryService.queryList(param,sysInfo);
+        GenericPager<LWhFormInventory> pager = this.lWhFormInventoryService.queryList(param, sysInfo);
         return ResponseValue.success(pager);
+    }
+
+    @ApiOperation(value = "鐩樼偣鍗曠墿鍝佸垪琛ㄦ煡璇�", notes = "鐩樼偣鍗曠墿鍝佸垪琛ㄦ煡璇�")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "id", value = "鐩樼偣鍗昳d", dataType = "Long", required = true, paramType = "query")
+    })
+    @GetMapping("/query")
+    public ResponseValue queryInventBaseGoodTemplate(Long id) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        if (id == null) {
+            return ResponseValue.error("鍙傛暟涓嶈兘涓虹┖");
+        }
+        FormInventoryVO formInventoryVO = this.lWhFormInventoryService.queryInventBaseGoodTemplate(id);
+        return ResponseValue.success(formInventoryVO);
     }
 
     /**
@@ -65,8 +113,12 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
      */
+    @ApiOperation(value = "缂栬緫鐩樼偣", notes = "缂栬緫鐩樼偣")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鐩樼偣鍗曚俊鎭�", dataType = "FormInventoryParam")
+    })
     @PostMapping("/edit")
-    public ResponseValue edit(@RequestBody LWhFormInventoryParam param) {
+    public ResponseValue edit(@RequestBody FormInventoryParam param) {
         LWhFormInventory lWhFormInventory = lWhFormInventoryService.get(new LWhFormInventory(param.getId()));
         if (lWhFormInventory == null) {
             return ResponseValue.error("缂栬緫澶辫触锛�");
@@ -80,7 +132,7 @@
         }
         ResponseValue add = this.add(param);
         if (add.getCode() == ResponseValue.CODE_SUCCESS) {
-            return ResponseValue.success(1);
+            return ResponseValue.success();
         }
 
         return ResponseValue.error("缂栬緫澶辫触锛�");
@@ -89,6 +141,10 @@
     /**
      * @Description 鏍规嵁id鍒犻櫎
      */
+    @ApiOperation(value = "鏍规嵁id鍒犻櫎鐩樼偣", notes = "鏍规嵁id鍒犻櫎鐩樼偣")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "id", value = "鐩樼偣鍗昳d", dataType = "Long", required = true, paramType = "query")
+    })
     @DeleteMapping("/del")
     public ResponseValue delById(Long id) {
         if (id == null) {
@@ -114,7 +170,12 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
      */
+    @ApiOperation(value = "鐩樼偣", notes = "鐩樼偣")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "id", value = "鐩樼偣鍗昳d", dataType = "Long", required = true, paramType = "query")
+    })
     @GetMapping("/select/pdList")
+    @Deprecated
     public ResponseValue queryPdList(Long id) {
         if (id == null) {
             return ResponseValue.error("鐩樼偣澶辫触锛�");
@@ -126,32 +187,42 @@
 
     /**
      * 鏆傚瓨
+     *
      * @author 鍗㈠簡闃�
      * @date 2023/10/31
      */
-    @PostMapping("/temporaryStorage")
-    public ResponseValue temporaryStorage(@RequestBody LWhFormInventoryDto dto) {
+    @ApiOperation(value = "鐩樼偣鏆傚瓨", notes = "鐩樼偣鏆傚瓨")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鐩樼偣鍗曚俊鎭�", dataType = "LWhFormInventoryDto")
+    })
+    @PostMapping("/temporary/storage")
+    public ResponseValue temporaryStorage(@RequestBody LWhFormInventoryParam dto) {
         if (dto == null) {
             return ResponseValue.error("鍙傛暟閿欒");
         }
 
-        int num = this.lWhFormInventoryService.temporaryStorage(dto);
+        int num = this.lWhFormInventoryService.temporaryStorage(dto, 1);
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鏆傚瓨澶辫触锛�");
     }
 
     /**
      * 瀹屾垚鐩樼偣
+     *
      * @author 鍗㈠簡闃�
      * @date 2023/10/31
      */
+    @ApiOperation(value = "瀹屾垚鐩樼偣", notes = "瀹屾垚鐩樼偣")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鐩樼偣鍗曚俊鎭�", dataType = "LWhFormInventoryDto")
+    })
     @PostMapping("/finish")
-    public ResponseValue finishPd(@RequestBody LWhFormInventoryDto dto) {
+    public ResponseValue finishPd(@RequestBody LWhFormInventoryParam dto) {
         if (dto == null) {
             return ResponseValue.error("鍙傛暟閿欒");
         }
 
-        int num = this.lWhFormInventoryService.finishPd(dto);
-        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鏆傚瓨澶辫触锛�");
+        int num = this.lWhFormInventoryService.temporaryStorage(dto, 2);
+        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鐩樼偣澶辫触锛�");
     }
 
     /**
@@ -159,8 +230,12 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/1
      */
+    @ApiOperation(value = "寮傚父鏄庣粏鍒楄〃鏌ヨ", notes = "寮傚父鏄庣粏鍒楄〃鏌ヨ")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鐩樼偣鏉′欢", dataType = "LWhFormInventoryParam", required = true, paramType = "query")
+    })
     @GetMapping("/list/PdDetail")
-    public ResponseValue queryPdDetailList(LWhFormInventoryParam param) {
+    public ResponseValue queryPdDetailList(com.consum.base.pojo.LWhFormInventoryParam param) {
         FinSysTenantUser sysInfo = this.getSysInfo();
         if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
@@ -168,5 +243,31 @@
         GenericPager<Map<String, Object>> pager = this.lWhFormInventoryService.queryPdDetailList(param, sysInfo);
         return ResponseValue.success(pager);
     }
+
+    @ApiOperation(value = "鏍规嵁id鏌ヨ鐩樼偣鐗╁搧璇︾粏淇℃伅", notes = "鏍规嵁id鏌ヨ鐩樼偣鐗╁搧璇︾粏淇℃伅")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "id", value = "鐩樼偣id", dataType = "Long", required = true, paramType = "query")
+    })
+    @GetMapping("/detail")
+    public ResponseValue selectDetailById(Long id) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        FormInventoryVO formInventoryVO = new FormInventoryVO();
+
+        LWhFormInventory lWhFormInventory = new LWhFormInventory();
+        lWhFormInventory.setId(id);
+        LWhFormInventory item = this.lWhFormInventoryService.get(lWhFormInventory);
+        if (Objects.isNull(item)) {
+            return ResponseValue.error("鐩樼偣鍗曚笉瀛樺湪");
+        }
+        BeanUtils.copyProperties(item, formInventoryVO);
+        List<FormInventoryGoodsVO> formInventoryGoodsVOS = this.lWhFormInventoryService.selectDetailById(id);
+        formInventoryVO.setFormInventoryGoodsList(formInventoryGoodsVOS);
+        return ResponseValue.success(formInventoryVO);
+    }
+
+
 }
 
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryGoodsController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryGoodsController.java
index 5ff7a89..b7edec7 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryGoodsController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryGoodsController.java
@@ -1,25 +1,24 @@
 package com.consum.base.controller;
 
 import com.consum.base.BaseController;
-import com.consum.base.pojo.LWhFormInventoryParam;
 import com.consum.base.service.LWhFormInventoryGoodsServiceImpl;
-import com.consum.base.service.LWhFormInventoryServiceImpl;
 import com.consum.model.po.FinSysTenantUser;
-import com.consum.model.po.LWhFormInventory;
 import com.consum.model.po.LWhFormInventoryGoods;
-import com.iplatform.model.po.S_user_core;
-import com.walker.db.page.GenericPager;
 import com.walker.web.ResponseValue;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * @Description 鐩樼偣鍗曠墿鍝�
  * @Author 鍗㈠簡闃�
  * @Date 2023/10/31
  */
+@Api(value = "鐩樼偣", tags = "鐩樼偣")
 @RestController
 @RequestMapping("/pc/l/wh/form/inventory/goods")
 public class LWhFormInventoryGoodsController extends BaseController {
@@ -28,11 +27,12 @@
     private LWhFormInventoryGoodsServiceImpl inventoryGoodsService;
 
     /**
-     * @Description  鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曠墿鍝�(缁х画鐩樼偣)
+     * @return
+     * @Description 鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曠墿鍝�(缁х画鐩樼偣)
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
-     * @return
      */
+    @ApiOperation(value = "鏌ヨ鐩樼偣鍗曠墿鍝�(缁х画鐩樼偣)", notes = "鏌ヨ鐩樼偣鍗曠墿鍝�(缁х画鐩樼偣)")
     @GetMapping("/list")
     public ResponseValue queryList(Long id) {
         FinSysTenantUser sysInfo = this.getSysInfo();
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
index cc8c3f9..a6acc2f 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
@@ -439,21 +439,8 @@
     public ResponseValue queryDepartmentTransferOrder(Long agencyId) {
 
         TransferInfoVO transferInfoVO = new TransferInfoVO();
-        String sql = "SELECT ft.id,\n"
-            + "       ft.BUSINESS_FORM_CODE,\n"
-            + "       gr.GOODS_TEMPLATE_NAME,\n"
-            + "       gr.BASE_GOODS_TEMPLATE_ID,\n"
-            + "       ft.CREATE_TIME\n"
-            + "\n"
-            + "FROM l_wh_form_transfer ft\n"
-            + "         LEFT JOIN L_WAREHOUSE_FLOW wf ON ft.id = wf.BUSINESS_FORM_ID\n"
-            + "         left join L_WH_GOODS_RECORD gr on gr.WAREHOUSE_FLOW_ID = wf.id\n"
-            + "         LEFT JOIN L_GOODS_WH_RECORD gwr on gwr.WAREHOUSE_FLOW_ID = wf.id\n"
-            + "         left join L_WH_GOODS g on g.id = gwr.WH_GOODS_ID\n"
-            + "\n"
-            + "\n"
-            + "\n"
-            + "\n";
+
+        lWhFormTransferService.queryDepartmentTransferOrder();
         return ResponseValue.success(transferInfoVO);
     }
 }
diff --git a/consum-base/src/main/java/com/consum/base/core/utils/MapperUtil.java b/consum-base/src/main/java/com/consum/base/core/utils/MapperUtil.java
index 688e97c..2ac2603 100644
--- a/consum-base/src/main/java/com/consum/base/core/utils/MapperUtil.java
+++ b/consum-base/src/main/java/com/consum/base/core/utils/MapperUtil.java
@@ -10,7 +10,7 @@
 /**
  * @author asus
  * @version 1.0
- * @description: Mapper map宸ュ叿绫�
+ * @description: Mapper map宸ュ叿绫�</p> 鍖呭惈椹煎嘲鏍煎紡鍜屽垪鍚嶅埆鍚�
  * @date 2023/11/11 14:40
  */
 @Slf4j
@@ -21,7 +21,10 @@
         Map<String, Object> row = new HashMap<>();
         int columnCount = rs.getMetaData().getColumnCount();
         for (int i = 1; i <= columnCount; i++) {
-            String columnName = MapUtils.underlineToCamel(rs.getMetaData().getColumnName(i));
+            String columnLabel = rs.getMetaData().getColumnLabel(i);
+            String columnName = columnLabel.contains("_") ? MapUtils.underlineToCamel(columnLabel)
+                : (Character.isUpperCase(columnLabel.charAt(0)) ? columnLabel.toLowerCase()
+                    : columnLabel);
             Object columnValue = rs.getObject(i);
             row.put(columnName, columnValue);
         }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryDto.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryDto.java
deleted file mode 100644
index 24be92c..0000000
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryDto.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.consum.base.pojo;
-
-import com.consum.model.po.LWhFormInventory;
-import com.consum.model.po.LWhFormInventoryGoods;
-
-import java.util.List;
-
-public class LWhFormInventoryDto extends LWhFormInventory {
-    /**
-     * 鐩樼偣鍗曠墿鍝�
-     */
-    private  List<LWhFormInventoryGoods> inventoryGoodsList;
-
-    public List<LWhFormInventoryGoods> getInventoryGoodsList() {
-        return inventoryGoodsList;
-    }
-
-    public void setInventoryGoodsList(List<LWhFormInventoryGoods> inventoryGoodsList) {
-        this.inventoryGoodsList = inventoryGoodsList;
-    }
-}
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 a35654b..b643f53 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
@@ -1,8 +1,13 @@
 package com.consum.base.pojo;
 
 import com.walker.web.param.ParamRequest;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
 
+@Data
+@ApiModel(value = "鐩樼偣鍗曟潯浠跺弬鏁�")
 public class LWhFormInventoryParam extends ParamRequest {
+
     private Long id;
     /**
      * 鐩樼偣鍗曞彿
@@ -19,23 +24,20 @@
     /**
      * 鎿嶄綔浜�
      */
-    private Long operatorId;
+    private Long operatorUserId;
     /**
      * 鐩戠洏浜�
      */
-    private Integer operatorId2;
-    /**
-     * 澶囨敞
-     */
-    private String beiz1;
+    private Long monitorUserId;
+
     /**
      * 鐩樼偣鏃堕棿 寮�濮�
      */
-    private Long inventoryDateStart;
+    private Long startTime;
     /**
      * 鐩樼偣鏃堕棿 缁撴潫
      */
-    private Long inventoryDateEnd;
+    private Long endTime;
     /**
      * 鏈烘瀯id
      */
@@ -72,156 +74,5 @@
     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;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getBusinessFormName() {
-        return businessFormName;
-    }
-
-    public void setBusinessFormName(String businessFormName) {
-        this.businessFormName = businessFormName;
-    }
-
-    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 Integer getOperatorId2() {
-        return operatorId2;
-    }
-
-    public void setOperatorId2(Integer operatorId2) {
-        this.operatorId2 = operatorId2;
-    }
-
-    public String getBeiz1() {
-        return beiz1;
-    }
-
-    public void setBeiz1(String beiz1) {
-        this.beiz1 = beiz1;
-    }
-
-    public Long getInventoryDateStart() {
-        return inventoryDateStart;
-    }
-
-    public void setInventoryDateStart(Long inventoryDateStart) {
-        this.inventoryDateStart = inventoryDateStart;
-    }
-
-    public Long getInventoryDateEnd() {
-        return inventoryDateEnd;
-    }
-
-    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/request/FormInventoryParam.java b/consum-base/src/main/java/com/consum/base/pojo/request/FormInventoryParam.java
new file mode 100644
index 0000000..28504f9
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/request/FormInventoryParam.java
@@ -0,0 +1,46 @@
+package com.consum.base.pojo.request;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鏂板鐩樼偣鍗曚俊鎭�
+ * @date 2023/11/20 13:49
+ */
+@Data
+@ApiModel(value = "鏂板鐩樼偣鍗曚俊鎭�")
+public class FormInventoryParam {
+
+    private Long id;
+    /**
+     * 鐩樼偣鍗曞悕
+     */
+    @ApiModelProperty(value = "鐩樼偣鍗曞悕")
+    private String businessFormName;
+    /**
+     * 浠撳簱缂栧彿
+     */
+    @ApiModelProperty(value = "浠撳簱缂栧彿")
+    private Long warehouseId;
+    /**
+     * 鎿嶄綔浜�
+     */
+    @ApiModelProperty(value = "鎿嶄綔浜�")
+    private Long operatorUserId;
+    /**
+     * 鐩戠洏浜�
+     */
+    @ApiModelProperty(value = "鐩戠洏浜�")
+    private Long monitorUserId;
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/request/LWhFormInventoryParam.java b/consum-base/src/main/java/com/consum/base/pojo/request/LWhFormInventoryParam.java
new file mode 100644
index 0000000..fcbecde
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/request/LWhFormInventoryParam.java
@@ -0,0 +1,18 @@
+package com.consum.base.pojo.request;
+
+import com.consum.base.pojo.response.FormInventoryGoodsVO;
+import com.consum.model.po.LWhFormInventory;
+import io.swagger.annotations.ApiModel;
+import java.util.List;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "鐩樼偣鍗�")
+public class LWhFormInventoryParam extends LWhFormInventory {
+
+    /**
+     * 鐩樼偣鍗曠墿鍝�
+     */
+    private List<FormInventoryGoodsVO> inventoryGoodsList;
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryGoodsVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryGoodsVO.java
new file mode 100644
index 0000000..0e4ff2d
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryGoodsVO.java
@@ -0,0 +1,50 @@
+package com.consum.base.pojo.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鐩樼偣鐗╁搧淇℃伅
+ * @date 2023/11/20 14:45
+ */
+@Data
+@ApiModel(value = "鐩樼偣鐗╁搧淇℃伅")
+public class FormInventoryGoodsVO {
+
+    // 涓婚敭
+    @ApiModelProperty(value = "id")
+    private Long id;
+
+    private Long whFormInventoryId;
+
+    private Long baseGoodsTemplateId;
+
+    @ApiModelProperty(value = "鍟嗗搧妯℃澘鍚嶇О")
+    private String goodsTemplateName;
+
+    @ApiModelProperty(value = "鍟嗗搧鍨嬪彿鍚嶇О")
+    private String baseGoodsModelsName;
+
+    @ApiModelProperty(value = "鍟嗗搧绫诲埆")
+    private String type;
+
+    @ApiModelProperty(value = "鍗曚綅")
+    private String unit;
+
+    @ApiModelProperty(value = "搴撳瓨鏁伴噺")
+    private Integer inventoryCount;
+
+    @ApiModelProperty(value = "鍗曚环")
+    private Integer price;
+
+    @ApiModelProperty(value = "鎬讳环")
+    private Long totalAmount;
+
+    @ApiModelProperty(value = "瀹炵洏鏁伴噺")
+    private Integer realNum;
+
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryVO.java
new file mode 100644
index 0000000..5d35f1e
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryVO.java
@@ -0,0 +1,45 @@
+package com.consum.base.pojo.response;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.List;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鐩樼偣鐗╁搧鍗曡缁嗕俊鎭�
+ * @date 2023/11/20 14:43
+ */
+@Data
+@ApiModel(value = "鐩樼偣鐗╁搧鍗曡缁嗕俊鎭�")
+public class FormInventoryVO {
+
+
+    /**
+     * 鐩樼偣鍗曞彿
+     */
+    @ApiModelProperty(value = "鐩樼偣鍗曞彿")
+    private String businessFormCode;
+    /**
+     * 鐩樼偣鍗曞悕
+     */
+    @ApiModelProperty(value = "鐩樼偣鍗曞悕")
+    private String businessFormName;
+    /**
+     * 浠撳簱缂栧彿
+     */
+    @ApiModelProperty(value = "浠撳簱缂栧彿")
+    private Long warehouseId;
+    /**
+     * 浠撳簱鍚嶅瓧
+     */
+    @ApiModelProperty(value = "浠撳簱鍚嶅瓧")
+    private String warehouseName;
+    /**
+     * 鐩樼偣鐗╁搧淇℃伅
+     */
+    @ApiModelProperty(value = "鐩樼偣鐗╁搧淇℃伅")
+    private List<FormInventoryGoodsVO> formInventoryGoodsList;
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/TransferInfoVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/TransferInfoVO.java
index 80b8c34..ac4ad92 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/response/TransferInfoVO.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/TransferInfoVO.java
@@ -7,7 +7,7 @@
 /**
  * @author asus
  * @version 1.0
- * @description: TODO
+ * @description: 鏈烘瀯鍒嗗彂鍗曚俊鎭�
  * @date 2023/11/10 15:35
  */
 @ApiModel(value = "鏈烘瀯鍒嗗彂鍗曚俊鎭�")
@@ -17,9 +17,9 @@
     @ApiModelProperty(value = "id")
     private String id;
     @ApiModelProperty(value = "鍗曞彿")
-    private String code;
+    private String businessFormCode;
     @ApiModelProperty(value = "鐗╁搧鍚嶇О")
-    private String name;
+    private String goodsTemplatesName;
     @ApiModelProperty(value = "鍒嗗彂鏁伴噺")
     private String num;
     @ApiModelProperty(value = "鍙��鏁伴噺")
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 9ec51b6..5331d39 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
@@ -1,14 +1,13 @@
 package com.consum.base.service;
 
 import com.consum.base.core.utils.IdUtil;
+import com.consum.base.pojo.response.FormInventoryGoodsVO;
 import com.consum.model.po.LWhFormInventoryGoods;
 import com.walker.jdbc.service.BaseServiceImpl;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
 
 /**
  * @Description 鐩樼偣鍗曠墿鍝�
@@ -20,10 +19,10 @@
 public class LWhFormInventoryGoodsServiceImpl extends BaseServiceImpl {
 
     /**
-     * @Description  鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曠墿鍝�
+     * @return
+     * @Description 鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曠墿鍝�
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
-     * @return
      */
     public List<LWhFormInventoryGoods> getByInventoryId(Long id) {
         LWhFormInventoryGoods inventoryGoods = new LWhFormInventoryGoods();
@@ -32,35 +31,59 @@
     }
 
     /**
-     * @Description  鏂板鐩樼偣鍗曠墿鍝佽褰�
+     * @return
+     * @Description 鏂板鐩樼偣鍗曠墿鍝佽褰�
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
-     * @return
      */
-    public int add(List<Map<String, Object>> list, Long warehouseId) {
-        List<LWhFormInventoryGoods> inventoryGoodsList = new ArrayList<>();
-        for (Map<String, Object> map : list) {
-            LWhFormInventoryGoods inventoryGoods = new LWhFormInventoryGoods();
-            inventoryGoods.setId(IdUtil.generateId());
-            inventoryGoods.setWhFormInventoryId(warehouseId);
-            inventoryGoods.setBaseGoodsTemplateId((Long) map.get("id"));
-            inventoryGoods.setGoodsTemplateName((String) map.get("goodsname"));
-            inventoryGoods.setUnit((String) map.get("unit"));
-            inventoryGoods.setBaseGoodsModelsId((Long) map.get("modelsid"));
-            inventoryGoods.setBaseGoodsModelsName((String) map.get("goodsTemplateId"));
-            inventoryGoods.setInitCounts((Integer) map.get("endcount"));
-
-            inventoryGoodsList.add(inventoryGoods);
+//    public int add(List<Map<String, Object>> list, Long warehouseId) {
+//        List<LWhFormInventoryGoods> inventoryGoodsList = new ArrayList<>();
+//        for (Map<String, Object> map : list) {
+//            LWhFormInventoryGoods inventoryGoods = new LWhFormInventoryGoods();
+//            inventoryGoods.setId(IdUtil.generateId());
+//            inventoryGoods.setWhFormInventoryId(warehouseId);
+//            inventoryGoods.setBaseGoodsTemplateId((Long) map.get("id"));
+//            inventoryGoods.setGoodsTemplateName((String) map.get("goodsname"));
+//            inventoryGoods.setUnit((String) map.get("unit"));
+//            inventoryGoods.setBaseGoodsModelsId((Long) map.get("modelsid"));
+//            inventoryGoods.setBaseGoodsModelsName((String) map.get("goodsTemplateId"));
+//            inventoryGoods.setInitCounts((Integer) map.get("endcount"));
+//
+//            inventoryGoodsList.add(inventoryGoods);
+//        }
+//        return this.insert(inventoryGoodsList);
+//    }
+    public int add(List<FormInventoryGoodsVO> inventoryGoodsList, Long warehouseId) {
+        List<LWhFormInventoryGoods> goodsList = new ArrayList<>();
+        for (FormInventoryGoodsVO inventoryGoods : inventoryGoodsList) {
+            LWhFormInventoryGoods lWhFormInventoryGoods = new LWhFormInventoryGoods();
+            lWhFormInventoryGoods.setId(IdUtil.generateId());
+            lWhFormInventoryGoods.setWhFormInventoryId(warehouseId);
+            lWhFormInventoryGoods.setBaseGoodsTemplateId(inventoryGoods.getBaseGoodsTemplateId());
+            lWhFormInventoryGoods.setGoodsTemplateName(inventoryGoods.getGoodsTemplateName());
+            lWhFormInventoryGoods.setUnit(inventoryGoods.getUnit());
+            lWhFormInventoryGoods.setBaseGoodsModelsId(inventoryGoods.getId());
+            lWhFormInventoryGoods.setBaseGoodsModelsName(inventoryGoods.getBaseGoodsModelsName());
+            Integer inventoryCount = inventoryGoods.getInventoryCount();
+            Integer realNum = inventoryGoods.getRealNum();
+            int errorCount = inventoryCount - realNum;
+            lWhFormInventoryGoods.setInventoryCounts(realNum);
+            lWhFormInventoryGoods.setErrorCounts(errorCount);
+            //鐩樼偣缁撴灉锛�1=姝e父锛�2=鐩樼泩锛�3=鐩樹簭锛�
+            lWhFormInventoryGoods.setInventoryResult((errorCount > 0) ? 2 : (errorCount < 0) ? 3 : 1);
+            goodsList.add(lWhFormInventoryGoods);
         }
-        return this.insert(inventoryGoodsList);
+        return this.insert(goodsList);
     }
 
     /**
-     * @Description  鏍规嵁鐩樼偣鍗昳d鍒犻櫎鐩樼偣鍗曠墿鍝�
+     * @Description 鏍规嵁鐩樼偣鍗昳d鍒犻櫎鐩樼偣鍗曠墿鍝�
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
      */
     public void delByFormInventoryId(Long id) {
 
     }
+
+
 }
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 f1ad54d..df1ea64 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,25 +2,30 @@
 
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
-import com.consum.base.core.utils.MapRowMapper;
-import com.consum.base.pojo.LWhFormInventoryDto;
-import com.consum.base.pojo.LWhFormInventoryParam;
 import com.consum.base.core.utils.IdUtil;
-import com.consum.model.po.*;
-import com.iplatform.model.po.S_user_core;
+import com.consum.base.core.utils.MapRowMapper;
+import com.consum.base.core.utils.MapUtils;
+import com.consum.base.core.utils.MapperUtil;
+import com.consum.base.pojo.request.FormInventoryParam;
+import com.consum.base.pojo.request.LWhFormInventoryParam;
+import com.consum.base.pojo.response.FormInventoryGoodsVO;
+import com.consum.base.pojo.response.FormInventoryVO;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LWhFormInventory;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import lombok.extern.slf4j.Slf4j;
+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.util.CollectionUtils;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @Description 鐩樼偣
@@ -39,47 +44,41 @@
     private FinSysTenantUserServiceImpl finSysTenantUserService;
     @Autowired
     private LWhFormInventoryGoodsServiceImpl inventoryGoodsService;
+    @Autowired
+    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
+    @Autowired
+    private LWhGoodsService lWhGoodsService;
 
 
     private static final String QUERY_LIST = "select * from l_wh_form_inventory where 1=1 ";
 
-    private static final String QUERY_PD_List = "SELECT bgt.GOODS_NAME goodsName,model.MODEL_NAME modelName,bgt.CLASSIFICATION,model.UNIT,\n" +
-            "       record.endCount,bgt.ID goodsTemplateId,model.ID modelsId\n" +
-            "FROM BASE_GOODS_MODELS model\n" +
-            "         LEFT JOIN (SELECT COUNT(1) endCount, BASE_GOODS_MODELS_ID\n" +
-            "                    FROM L_WH_GOODS\n" +
-            "                    WHERE WAREHOUSE_TYPE = 0\n" +
-            "                      AND WAREHOUSE_ID = 1\n" +
-            "                      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_List = "SELECT bgt.GOODS_NAME goodsName,model.MODEL_NAME modelName,bgt.CLASSIFICATION,model.UNIT,\n"
+        + "       record.endCount,bgt.ID goodsTemplateId,model.ID modelsId\n" + "FROM BASE_GOODS_MODELS model\n"
+        + "         LEFT JOIN (SELECT COUNT(1) endCount, BASE_GOODS_MODELS_ID\n" + "                    FROM L_WH_GOODS\n"
+        + "                    WHERE WAREHOUSE_TYPE = 0\n" + "                      AND WAREHOUSE_ID = 1\n" + "                      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 ";
+    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 ";
 
     /**
+     * @param param
+     * @param currentUser  褰撳墠鐧诲綍鐢ㄦ埛
+     * @param operatorUser 鐩樼偣浜�
+     * @param monitorUser  鐩戠洏浜�
+     * @return
      * @Description 鏂板
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
-     * @param param
-     * @param currentUser   褰撳墠鐧诲綍鐢ㄦ埛
-     * @param operatorUser  鐩樼偣浜�
-     * @param operatorUser2 鐩戠洏浜�
-     * @return
      */
-    public int add(LWhFormInventoryParam param, FinSysTenantUser currentUser, S_user_core operatorUser, S_user_core operatorUser2) {
+    public int add(FormInventoryParam param, FinSysTenantUser currentUser, FinSysTenantUser operatorUser, FinSysTenantUser monitorUser) {
         //鏂板鐩樼偣鍗�
         LWhFormInventory lWhFormInventory = new LWhFormInventory();
-        BeanUtils.copyProperties(param,lWhFormInventory);
+        BeanUtils.copyProperties(param, lWhFormInventory);
         lWhFormInventory.setId(IdUtil.generateId());
         //鐩樼偣鍗曠紪鐮�
         String businessFormCode = codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Inventory);
@@ -89,15 +88,22 @@
         if (baseWarehouse != null) {
             lWhFormInventory.setWarehouseName(baseWarehouse.getWarehouseName());
         }
-        lWhFormInventory.setOperatorName(operatorUser.getUser_name());
-        lWhFormInventory.setOperatorName2(operatorUser2.getUser_name());
+        if (operatorUser != null) {
+            lWhFormInventory.setOperatorId(operatorUser.getId());
+            lWhFormInventory.setOperatorName(operatorUser.getUserName());
+        }
+        if (monitorUser != null) {
+            lWhFormInventory.setOperatorId2(monitorUser.getId());
+            lWhFormInventory.setOperatorName2(monitorUser.getUserName());
+        }
+
         lWhFormInventory.setStates(0);
         lWhFormInventory.setAgencyId(Long.valueOf(currentUser.getTenantId()));
         lWhFormInventory.setAgencyName(currentUser.getTenantName());
         lWhFormInventory.setCreatorId(currentUser.getSysUserId());
         lWhFormInventory.setCreatorName(currentUser.getUserName());
         lWhFormInventory.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-
+        lWhFormInventory.setBeiz1(param.getRemark());
         return this.insert(lWhFormInventory);
     }
 
@@ -106,47 +112,47 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
      */
-    public GenericPager<LWhFormInventory> queryList(LWhFormInventoryParam param, FinSysTenantUser sysInfo) {
+    public GenericPager<LWhFormInventory> queryList(com.consum.base.pojo.LWhFormInventoryParam param, FinSysTenantUser sysInfo) {
         StringBuilder sql = new StringBuilder(QUERY_LIST);
         HashMap<String, Object> paramts = new HashMap<>();
 
         //鐩樼偣鍗曞彿
         if (!StringUtils.isEmpty(param.getBusinessFormCode())) {
-            sql.append(" and BUSINESS_FORM_CODE like:BUSINESS_FORM_CODE ");
-            paramts.put("BUSINESS_FORM_CODE", StringUtils.CHAR_PERCENT + param.getBusinessFormCode() + StringUtils.CHAR_PERCENT);
+            sql.append("and BUSINESS_FORM_CODE =:BUSINESS_FORM_CODE ");
+            paramts.put("BUSINESS_FORM_CODE", param.getBusinessFormCode());
         }
         //鐩樼偣鍗曞悕绉�
         if (!StringUtils.isEmpty(param.getBusinessFormName())) {
-            sql.append(" and BUSINESS_FORM_NAME =:BUSINESS_FORM_NAME ");
+            sql.append("and BUSINESS_FORM_NAME like :BUSINESS_FORM_NAME ");
             paramts.put("BUSINESS_FORM_NAME", StringUtils.CHAR_PERCENT + param.getBusinessFormName() + StringUtils.CHAR_PERCENT);
         }
         //浠撳簱缂栧彿
         if (param.getWarehouseId() != null) {
-            sql.append(" and WAREHOUSE_ID =:WAREHOUSE_ID ");
+            sql.append("and WAREHOUSE_ID =:WAREHOUSE_ID ");
             paramts.put("WAREHOUSE_ID", param.getWarehouseId());
         }
         //鐩樼偣鏃堕棿
-        if (param.getInventoryDateStart() != null) {
-            sql.append(" and INVENTORY_DATE >=:inventoryDateStart ");
-            paramts.put("inventoryDateStart", param.getInventoryDateStart() * 1000000);
+        if (param.getStartTime() != null) {
+            sql.append("and INVENTORY_DATE >=:inventoryDateStart ");
+            paramts.put("inventoryDateStart", param.getStartTime() * 1000000);
         }
-        if (param.getInventoryDateEnd() != null) {
-            sql.append(" and INVENTORY_DATE <:inventoryDateEnd ");
-            paramts.put("inventoryDateEnd", param.getInventoryDateEnd() * 1000000 + 240000);
+        if (param.getEndTime() != null) {
+            sql.append("and INVENTORY_DATE <:inventoryDateEnd ");
+            paramts.put("inventoryDateEnd", param.getEndTime() * 1000000 + 240000);
         }
         //鏈烘瀯
-        sql.append(" and AGENCY_ID =:AGENCY_ID ");
+        sql.append("and AGENCY_ID =:AGENCY_ID ");
         paramts.put("AGENCY_ID", sysInfo.getTenantId());
 
-        sql.append(" ORDER BY CREATE_TIME DESC ");
+        sql.append("ORDER BY CREATE_TIME DESC ");
         return selectSplit(sql.toString(), paramts, new LWhFormInventory());
     }
 
     /**
+     * @param id 鐩樼偣鍗昳d
      * @Description 鐩樼偣
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
-     * @param id  鐩樼偣鍗昳d
      */
     public List queryPdList(Long id) {
         //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
@@ -161,40 +167,45 @@
             return null;
         }
         //3.鏂板鐩樼偣鍗曠墿鍝佽褰�
-        int flag = inventoryGoodsService.add(list, lWhFormInventory.getWarehouseId());
-        if (flag != list.size()) {
-            log.error("鏂板鐩樼偣鍗曡褰�");
-            return null;
-        }
+//        int flag = inventoryGoodsService.add(list, lWhFormInventory.getWarehouseId());
+//        if (flag != list.size()) {
+//            log.error("鏂板鐩樼偣鍗曡褰�");
+//            return null;
+//        }
         //4.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曠墿鍝�
         return inventoryGoodsService.getByInventoryId(id);
     }
 
     /**
      * 鏆傚瓨
+     *
      * @author 鍗㈠簡闃�
      * @date 2023/10/31
      */
-    public int temporaryStorage(LWhFormInventoryDto dto) {
+    public int temporaryStorage(LWhFormInventoryParam dto, Integer state) {
         //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
         LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId()));
         if (lWhFormInventory == null) {
-            log.error("鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗� 澶辫触");
+            log.error("鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曞け璐�");
             return 0;
         }
         //2.淇敼鐩樼偣鍗�
-        lWhFormInventory.setStates(1);
+        lWhFormInventory.setStates(state);
         lWhFormInventory.setInventoryDate(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         int flag1 = this.update(lWhFormInventory);
         if (flag1 == 0) {
-            log.error("淇敼鐩樼偣鍗� 澶辫触");
+            log.error("淇敼鐩樼偣鍗曞け璐�");
             return 0;
         }
-        //3.鏇存柊鐩樼偣鍗曠墿鍝�
-        List<LWhFormInventoryGoods> inventoryGoodsList = dto.getInventoryGoodsList();
-        int flag2 = inventoryGoodsService.update(inventoryGoodsList);
+        //3.娣诲姞鐩樼偣鍗曠墿鍝�
+        List<FormInventoryGoodsVO> inventoryGoodsList = dto.getInventoryGoodsList();
+        if (CollectionUtils.isEmpty(inventoryGoodsList)) {
+            log.error("鐩樼偣鍗曠墿鍝佷负绌�");
+            return 0;
+        }
+        int flag2 = inventoryGoodsService.add(inventoryGoodsList, lWhFormInventory.getWarehouseId());
         if (flag2 != inventoryGoodsList.size()) {
-            log.error("鏇存柊鐩樼偣鍗曠墿鍝� 澶辫触");
+            log.error("鏇存柊鐩樼偣鍗曠墿鍝佸け璐�");
             return 0;
         }
         return 1;
@@ -202,56 +213,57 @@
 
     /**
      * 瀹屾垚鐩樼偣
+     *
      * @author 鍗㈠簡闃�
      * @date 2023/10/31
      */
-    public int finishPd(LWhFormInventoryDto dto) {
-        //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
-        LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId()));
-        if (lWhFormInventory == null) {
-            log.error("鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗� 澶辫触");
-            return 0;
-        }
-        //2.淇敼鐩樼偣鍗�
-        lWhFormInventory.setStates(2);
-        lWhFormInventory.setStopTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-        int flag1 = this.update(lWhFormInventory);
-        if (flag1 == 0) {
-            log.error("淇敼鐩樼偣鍗� 澶辫触");
-            return 0;
-        }
-        //3.鏇存柊鐩樼偣鍗曠墿鍝�
-        List<LWhFormInventoryGoods> inventoryGoodsList = dto.getInventoryGoodsList();
-        if (CollectionUtils.isEmpty(inventoryGoodsList)) {
-            log.error("鐩樼偣鍗曠墿鍝� 涓虹┖");
-            return 0;
-        }
-        for (LWhFormInventoryGoods inventoryGoods : inventoryGoodsList) {
-            int errorCounts = inventoryGoods.getInitCounts() - inventoryGoods.getInventoryCounts();
-            if (errorCounts >0 ) {
-                inventoryGoods.setInventoryResult(3);
-            } else if (errorCounts <0){
-                inventoryGoods.setInventoryResult(2);
-            } else {
-                inventoryGoods.setInventoryResult(1);
-            }
-            inventoryGoods.setErrorCounts(Math.abs(errorCounts));
-        }
-        int flag2 = inventoryGoodsService.update(inventoryGoodsList);
-        if (flag2 != inventoryGoodsList.size()) {
-            log.error("鏇存柊鐩樼偣鍗曠墿鍝� 澶辫触");
-            return 0;
-        }
-        return 1;
-    }
+//    public int finishPd(LWhFormInventoryParam dto) {
+//        //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
+//        LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId()));
+//        if (lWhFormInventory == null) {
+//            log.error("鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗� 澶辫触");
+//            return 0;
+//        }
+//        //2.淇敼鐩樼偣鍗�
+//        lWhFormInventory.setStates(2);
+//        lWhFormInventory.setStopTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+//        int flag1 = this.update(lWhFormInventory);
+//        if (flag1 == 0) {
+//            log.error("淇敼鐩樼偣鍗� 澶辫触");
+//            return 0;
+//        }
+//        //3.鏇存柊鐩樼偣鍗曠墿鍝�
+//        List<LWhFormInventoryGoods> inventoryGoodsList = dto.getInventoryGoodsList();
+//        if (CollectionUtils.isEmpty(inventoryGoodsList)) {
+//            log.error("鐩樼偣鍗曠墿鍝� 涓虹┖");
+//            return 0;
+//        }
+//        for (LWhFormInventoryGoods inventoryGoods : inventoryGoodsList) {
+//            int errorCounts = inventoryGoods.getInitCounts() - inventoryGoods.getInventoryCounts();
+//            if (errorCounts > 0) {
+//                inventoryGoods.setInventoryResult(3);
+//            } else if (errorCounts < 0) {
+//                inventoryGoods.setInventoryResult(2);
+//            } else {
+//                inventoryGoods.setInventoryResult(1);
+//            }
+//            inventoryGoods.setErrorCounts(Math.abs(errorCounts));
+//        }
+//        int flag2 = inventoryGoodsService.update(inventoryGoodsList);
+//        if (flag2 != inventoryGoodsList.size()) {
+//            log.error("鏇存柊鐩樼偣鍗曠墿鍝� 澶辫触");
+//            return 0;
+//        }
+//        return 1;
+//    }
 
     /**
+     * @return
      * @Description 寮傚父鏄庣粏鍒楄〃鏌ヨ
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/1
-     * @return
      */
-    public GenericPager<Map<String, Object>> queryPdDetailList(LWhFormInventoryParam param, FinSysTenantUser sysInfo) {
+    public GenericPager<Map<String, Object>> queryPdDetailList(com.consum.base.pojo.LWhFormInventoryParam param, FinSysTenantUser sysInfo) {
         StringBuilder sql = new StringBuilder(QUERY_PD_DETAIL_LIST);
         HashMap<String, Object> paramts = new HashMap<>();
 
@@ -313,4 +325,53 @@
         return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapRowMapper());
     }
 
+    public List<FormInventoryGoodsVO> selectDetailById(Long id) {
+
+        String sql = "select fig.id, fig.BASE_GOODS_TEMPLATE_ID,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME,"
+            + "fig.INIT_COUNTS total,fig.INVENTORY_COUNTS,fig.INVENTORY_RESULT status from "
+            + "l_wh_form_inventory_goods fig where fig.WH_FORM_INVENTORY_ID = :id";
+        HashMap<String, Object> param = new HashMap<>();
+        param.put("id", id);
+        List<Map<String, Object>> select = select(sql, param, new MapperUtil());
+        List<FormInventoryGoodsVO> result = Lists.newArrayList();
+        select.forEach(item -> {
+            FormInventoryGoodsVO formInventoryGoodsVO = MapUtils.convertMapToObj(item, FormInventoryGoodsVO.class);
+            result.add(formInventoryGoodsVO);
+        });
+        return result;
+    }
+
+    public FormInventoryVO queryInventBaseGoodTemplate(Long id) {
+        FormInventoryVO formInventoryVO = new FormInventoryVO();
+
+        LWhFormInventory lWhFormInventory = new LWhFormInventory();
+        lWhFormInventory.setId(id);
+        LWhFormInventory inventory = this.get(lWhFormInventory);
+        if (inventory == null) {
+            return null;
+        }
+        Long warehouseId = inventory.getWarehouseId();
+        Integer warehouseType = inventory.getWarehouseType();
+
+        formInventoryVO.setBusinessFormCode(inventory.getBusinessFormCode());
+        formInventoryVO.setBusinessFormName(inventory.getBusinessFormName());
+        formInventoryVO.setWarehouseId(warehouseId);
+        formInventoryVO.setWarehouseName(inventory.getWarehouseName());
+
+        String sql =
+            "select bgm.id,bgt.id baseGoodsTemplateId,bgt.GOODS_NAME goodsTemplateName,bgm.MODEL_NAME baseGoodsModelsName,bgt.CLASSIFICATION type,bgm.UNIT from base_goods_models bgm left join base_goods_template bgt on bgm.GOODS_TEMPLATES_ID = bgt.id "
+                + "where bgt.AGENCY_ID = :agencyId";
+        HashMap<String, Object> param = new HashMap<>();
+        param.put("agencyId", inventory.getAgencyId());
+        List<Map<String, Object>> result = this.select(sql, param, new MapperUtil());
+        List<FormInventoryGoodsVO> goodsVOList = Lists.newArrayList();
+        result.forEach(item -> {
+            FormInventoryGoodsVO baseGoodsModels = MapUtils.convertMapToObj(item, FormInventoryGoodsVO.class);
+            int inventoryCount = this.lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModels.getId(), 1, null);
+            baseGoodsModels.setInventoryCount(inventoryCount);
+            goodsVOList.add(baseGoodsModels);
+        });
+        formInventoryVO.setFormInventoryGoodsList(goodsVOList);
+        return formInventoryVO;
+    }
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
index a9be7ec..6d6e87d 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -499,4 +499,27 @@
         return mapGenericPager;
 
     }
+
+    public List<Map<String, Object>> queryDepartmentTransferOrder() {
+
+        String sql = "SELECT ft.id,\n"
+            + "       ft.BUSINESS_FORM_CODE,\n"
+            + "       gr.GOODS_TEMPLATE_NAME,\n"
+            + "       gr.BASE_GOODS_TEMPLATE_ID goodsTemplateId,\n"
+            + "       ft.CREATE_TIME\n"
+            + "\n"
+            + "FROM l_wh_form_transfer ft\n"
+            + "         LEFT JOIN L_WAREHOUSE_FLOW wf ON ft.id = wf.BUSINESS_FORM_ID\n"
+            + "         left join L_WH_GOODS_RECORD gr on gr.WAREHOUSE_FLOW_ID = wf.id\n"
+            + "         LEFT JOIN L_GOODS_WH_RECORD gwr on gwr.WAREHOUSE_FLOW_ID = wf.id\n"
+            + "         left join L_WH_GOODS g on g.id = gwr.WH_GOODS_ID where ft.BUSINESS_TYPE = 1 GROUP BY gr.BASE_GOODS_TEMPLATE_ID \n";
+        HashMap<String, Object> param = new HashMap<>();
+        List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
+        select.forEach(item -> {
+
+
+        });
+        return select;
+
+    }
 }

--
Gitblit v1.9.1