From 1742240f8f6841e2d930e549caabab94f2a58ece Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期三, 22 十一月 2023 18:37:10 +0800
Subject: [PATCH] --报废单

---
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryGoodsServiceImpl.java |   58 +-
 consum-base/src/main/java/com/consum/base/pojo/query/LWhFormInventoryQry.java           |   14 
 consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java      |   50 ++
 consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java    |   46 -
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java       |  270 ++++++-----
 consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryGoodsVO.java       |    3 
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java        |    4 
 consum-base/src/main/java/com/consum/base/pojo/request/LWhFormInventoryParam.java       |   51 ++
 consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java                |  167 -------
 consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java     |  101 ++-
 consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java            |    6 
 consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java        |   29 +
 /dev/null                                                                               |   36 -
 consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java               |    3 
 consum-base/src/main/java/com/consum/base/pojo/query/LWhFormScrappedQry.java            |   48 ++
 consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsInfoParam.java       |   33 +
 consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java    |   53 ++
 consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsDetailVO.java  |   43 +
 consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java      |   52 +
 consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java          |   70 --
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java      |  130 +++--
 consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java                  |    2 
 consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedVO.java          |   44 +
 consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsModelParams.java     |   21 
 24 files changed, 772 insertions(+), 562 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java
index 398a0b7..741e765 100644
--- a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantController.java
@@ -357,7 +357,7 @@
         if (StringUtils.isEmpty(param.getName())) {
             return ResponseValue.error("鏈烘瀯鍚嶇О涓虹┖");
         }
-        FinSysTenant finSysTenant = this.finSysTenantService.selectByTenantId(param.getCode());
+        FinSysTenant finSysTenant = this.finSysTenantService.queryOneByCode(param.getCode());
         if (finSysTenant != null) {
             return ResponseValue.error("鏈烘瀯缂栧彿宸插瓨鍦�");
         }
@@ -445,7 +445,7 @@
                         "绗�" + analysisContext.readSheetHolder().getRowIndex() + "琛�,鏈烘瀯缂栧彿涓嶈兘涓虹┖鎴栭暱搴﹀ぇ浜�20");
                     throw exception;
                 }
-                if (null != finSysTenantService.selectByTenantId(finSysTenantParam.getCode())) {
+                if (null != finSysTenantService.queryOneByCode(finSysTenantParam.getCode())) {
                     throw new IllegalStateException("绗�" + analysisContext.readSheetHolder().getRowIndex() + "琛�,鏈烘瀯缂栧彿宸插瓨鍦�");
                 }
                 if (StringUtils.isEmpty(finSysTenantParam.getName()) || finSysTenantParam.getName().length() > 100) {
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 13101c5..6f4a5e7 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,11 +1,15 @@
 package com.consum.base.controller;
 
 import com.consum.base.BaseController;
+import com.consum.base.core.utils.PageUtil;
+import com.consum.base.pojo.query.LWhFormInventoryQry;
 import com.consum.base.pojo.request.FormInventoryParam;
 import com.consum.base.pojo.request.LWhFormInventoryParam;
+import com.consum.base.pojo.response.FormInventoryDetailVO;
 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.LWhFormInventoryGoodsServiceImpl;
 import com.consum.base.service.LWhFormInventoryServiceImpl;
 import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.LWhFormInventory;
@@ -15,8 +19,8 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
 import java.util.List;
-import java.util.Map;
 import java.util.Objects;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +45,8 @@
     private LWhFormInventoryServiceImpl lWhFormInventoryService;
     @Autowired
     private FinSysTenantUserServiceImpl finSysTenantUserService;
+    @Autowired
+    private LWhFormInventoryGoodsServiceImpl inventoryGoodsService;
 
     /**
      * @Description 鏂板
@@ -82,7 +88,7 @@
         @ApiImplicitParam(name = "param", value = "鐩樼偣鏉′欢", dataType = "LWhFormInventoryParam", required = true, paramType = "query")
     })
     @GetMapping("/list")
-    public ResponseValue queryList(com.consum.base.pojo.LWhFormInventoryParam param) {
+    public ResponseValue queryList(LWhFormInventoryQry param) {
         FinSysTenantUser sysInfo = this.getSysInfo();
         if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
@@ -91,10 +97,11 @@
         return ResponseValue.success(pager);
     }
 
-    @ApiOperation(value = "鐩樼偣鍗曠墿鍝佸垪琛ㄦ煡璇�", notes = "鐩樼偣鍗曠墿鍝佸垪琛ㄦ煡璇�")
+    @ApiOperation(value = "鐩樼偣鍗曠墿鍝佸垪琛ㄦ煡璇�", notes = "鐩樼偣鍗曠墿鍝佸垪琛ㄦ煡璇�", response = FormInventoryVO.class)
     @ApiImplicitParams({
         @ApiImplicitParam(name = "id", value = "鐩樼偣鍗昳d", dataType = "Long", required = true, paramType = "query")
     })
+    @ApiResponse(code = 200, message = "鎴愬姛", response = FormInventoryVO.class)
     @GetMapping("/query")
     public ResponseValue queryInventBaseGoodTemplate(Long id) {
         FinSysTenantUser sysInfo = this.getSysInfo();
@@ -105,6 +112,8 @@
             return ResponseValue.error("鍙傛暟涓嶈兘涓虹┖");
         }
         FormInventoryVO formInventoryVO = this.lWhFormInventoryService.queryInventBaseGoodTemplate(id);
+
+        this.lWhFormInventoryService.saveInventory(formInventoryVO, id);
         return ResponseValue.success(formInventoryVO);
     }
 
@@ -165,25 +174,6 @@
         return ResponseValue.success(1);
     }
 
-    /**
-     * @Description 鐩樼偣
-     * @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("鐩樼偣澶辫触锛�");
-        }
-
-        List list = this.lWhFormInventoryService.queryPdList(id);
-        return ResponseValue.success(list);
-    }
 
     /**
      * 鏆傚瓨
@@ -201,7 +191,7 @@
             return ResponseValue.error("鍙傛暟閿欒");
         }
 
-        int num = this.lWhFormInventoryService.temporaryStorage(dto, 1);
+        int num = this.lWhFormInventoryService.updateInventoryInfo(dto, 1);
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鏆傚瓨澶辫触锛�");
     }
 
@@ -221,7 +211,7 @@
             return ResponseValue.error("鍙傛暟閿欒");
         }
 
-        int num = this.lWhFormInventoryService.temporaryStorage(dto, 2);
+        int num = this.lWhFormInventoryService.updateInventoryInfo(dto, 2);
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鐩樼偣澶辫触锛�");
     }
 
@@ -232,16 +222,16 @@
      */
     @ApiOperation(value = "寮傚父鏄庣粏鍒楄〃鏌ヨ", notes = "寮傚父鏄庣粏鍒楄〃鏌ヨ")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "param", value = "鐩樼偣鏉′欢", dataType = "LWhFormInventoryParam", required = true, paramType = "query")
+        @ApiImplicitParam(name = "param", value = "鐩樼偣鏉′欢", dataType = "LWhFormInventoryParam", paramType = "query")
     })
     @GetMapping("/list/PdDetail")
-    public ResponseValue queryPdDetailList(com.consum.base.pojo.LWhFormInventoryParam param) {
+    public ResponseValue queryPdDetailList(LWhFormInventoryQry 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);
+        PageUtil<FormInventoryDetailVO> result = this.lWhFormInventoryService.queryPdDetailList(param, sysInfo);
+        return ResponseValue.success(result);
     }
 
     @ApiOperation(value = "鏍规嵁id鏌ヨ鐩樼偣鐗╁搧璇︾粏淇℃伅", notes = "鏍规嵁id鏌ヨ鐩樼偣鐗╁搧璇︾粏淇℃伅")
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java
index 8796c3f..ed68075 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java
@@ -7,13 +7,32 @@
 import com.consum.base.core.utils.CommonUtil;
 import com.consum.base.core.utils.MapUtils;
 import com.consum.base.core.utils.MapperUtil;
+import com.consum.base.core.utils.PageUtil;
 import com.consum.base.pojo.LWhFormProcureGoodsInfoParam;
 import com.consum.base.pojo.LWhFormProcureParam;
 import com.consum.base.pojo.LWhProcureModelParam;
 import com.consum.base.pojo.query.FormProcureQry;
-import com.consum.base.pojo.response.*;
-import com.consum.base.service.*;
-import com.consum.model.po.*;
+import com.consum.base.pojo.response.FormProcureVO;
+import com.consum.base.pojo.response.FromProcureTemplateInfoVO;
+import com.consum.base.pojo.response.GoodsModelVO;
+import com.consum.base.pojo.response.LWhFormProcureExtendVO;
+import com.consum.base.pojo.response.LWhFormProcureGoodsVO;
+import com.consum.base.service.BaseGoodsTemplateServiceImpl;
+import com.consum.base.service.BaseWarehouseServiceImpl;
+import com.consum.base.service.FinSysTenantServiceImpl;
+import com.consum.base.service.LOrgSupplierServiceImpl;
+import com.consum.base.service.LWhFormProcureCoreService;
+import com.consum.base.service.LWhFormProcureGoodsService;
+import com.consum.base.service.LWhFormProcureService;
+import com.consum.base.service.LWhGoodsService;
+import com.consum.base.service.LWhProcureModelService;
+import com.consum.model.po.BaseGoodsTemplate;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LOrgSupplier;
+import com.consum.model.po.LWhFormProcure;
+import com.consum.model.po.LWhFormProcureGoods;
+import com.consum.model.po.LWhProcureModel;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.CollectionUtils;
@@ -23,13 +42,22 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import javax.annotation.Resource;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import java.lang.reflect.Field;
-import java.util.*;
+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;
 
 /**
  * @ClassName LWhFormProcureController
@@ -151,7 +179,7 @@
                 model.setCounts(counts);
                 model.setWorehouseCount(goodsModelNum);
                 model.setSupplier(supplier);
-                model.setTotalAmount(price*counts);
+                model.setTotalAmount(price * counts);
                 procureModelList.add(model);
             }
             procureGoodList.add(procureGood);
@@ -208,7 +236,7 @@
         if (param.getAgencyId() == null) {
             param.setAgencyId(Long.valueOf(tenantId));
         }
-        GenericPager genericPager = lWhFormProcureService.queryFormProcureList(param);
+        PageUtil genericPager = lWhFormProcureService.queryFormProcureList(param);
         List<LWhFormProcure> data = genericPager.getDatas();
         ArrayList<FormProcureVO> result = new ArrayList<>();
         if (!CollectionUtils.isEmpty(data)) {
@@ -241,6 +269,7 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
+        genericPager.setDatas(result);
         return ResponseValue.success(genericPager);
     }
 
@@ -302,6 +331,9 @@
             return ResponseValue.error("閲囪喘鍗昳d涓虹┖");
         }
         LWhFormProcure lWhFormProcure = lWhFormProcureService.get(new LWhFormProcure(id));
+        if (lWhFormProcure == null) {
+            return ResponseValue.error("閲囪喘鍗曚笉瀛樺湪");
+        }
         LWhFormProcureExtendVO lWhFormProcureExtendVO = new LWhFormProcureExtendVO();
         BeanUtils.copyProperties(lWhFormProcure, lWhFormProcureExtendVO);
 
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
index e5bad62..32e8b9f 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
@@ -1,20 +1,27 @@
 package com.consum.base.controller;
 
 import com.consum.base.BaseController;
-import com.consum.base.pojo.LWhFormScrappedExtend;
+import com.consum.base.core.utils.MapUtils;
+import com.consum.base.core.utils.MapperUtil;
+import com.consum.base.core.utils.PageUtil;
 import com.consum.base.pojo.LWhFormScrappedParam;
-import com.consum.base.service.LWhFormScrappedGoodsService;
+import com.consum.base.pojo.query.LWhFormScrappedQry;
+import com.consum.base.pojo.response.FromTransferTemplateInfoVO;
+import com.consum.base.pojo.response.LWhFormScrappedExtendVO;
+import com.consum.base.pojo.response.LWhFormScrappedVO;
 import com.consum.base.service.LWhFormScrappedServiceImpl;
 import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.LWhFormScrapped;
-import com.consum.model.po.LWhFormScrappedGoods;
-import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.web.ResponseValue;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -28,20 +35,24 @@
  * @Author 鍗㈠簡闃�
  * @Date 2023/11/1
  */
+@Api(value = "鎶ュ簾鍗�", tags = "鎶ュ簾鍗�")
 @RestController
 @RequestMapping("/pc/l/wh/form/scrapped")
 public class LWhFormScrappedController extends BaseController {
 
     @Autowired
     private LWhFormScrappedServiceImpl lWhFormScrappedService;
-    @Autowired
-    private LWhFormScrappedGoodsService scrappedGoodsService;
+
 
     /**
      * @Description 鏂板鎶ュ簾鍗�
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/1
      */
+    @ApiOperation(value = "鏂板鎶ュ簾鍗�", notes = "鏂板鎶ュ簾鍗�")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鎶ュ簾鍗曚俊鎭�", dataType = "LWhFormScrappedParam", paramType = "body")
+    })
     @PostMapping("/add")
     public ResponseValue add(@RequestBody LWhFormScrappedParam param) {
         FinSysTenantUser sysInfo = this.getSysInfo();
@@ -55,40 +66,42 @@
     /**
      * @Description 鍒楄〃鏌ヨ
      * @Author 鍗㈠簡闃�
-     * @Date 2023/11/02
+     * @Date 2023/11/02 1.鏌ヨ鎶ュ簾鍗� 2.鏌ヨ鎶ュ簾鍗曠墿鍝�
      */
-    //1.鏌ヨ鎶ュ簾鍗�
-    //2.鏌ヨ鎶ュ簾鍗曠墿鍝�
+    @ApiOperation(value = "鍒楄〃鏌ヨ", notes = "鍒楄〃鏌ヨ")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query")
+    })
     @GetMapping("/list")
-    public ResponseValue queryList(LWhFormScrappedParam param) {
+    public ResponseValue queryList(LWhFormScrappedQry param) {
         FinSysTenantUser sysInfo = getSysInfo();
         if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-
-        GenericPager genericPager = lWhFormScrappedService.queryList(param, sysInfo);
-        List<LWhFormScrapped> datas = genericPager.getDatas();
-        ArrayList<LWhFormScrappedExtend> newDatas = new ArrayList<>();
-        if (!CollectionUtils.isEmpty(datas)) {
-            datas.forEach(item -> {
-                // 鏌ヨ鎶ュ簾鍗曠墿鍝�
-                LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
-                scrappedGoods.setFormScrappedId(item.getId());
-                List<LWhFormScrappedGoods> scrappedGoodsList = scrappedGoodsService.select(scrappedGoods);
-                LWhFormScrappedExtend formScrappedExtend = new LWhFormScrappedExtend();
-                BeanUtils.copyProperties(item, formScrappedExtend);
-                formScrappedExtend.setScrappedGoodsList(scrappedGoodsList);
-                newDatas.add(formScrappedExtend);
+        PageUtil genericPager = lWhFormScrappedService.queryList(param, sysInfo);
+        List<LWhFormScrapped> data = genericPager.getDatas();
+        List<LWhFormScrappedVO> result = Lists.newArrayList();
+        if (!CollectionUtils.isEmpty(data)) {
+            data.forEach(item -> {
+                LWhFormScrappedVO lWhFormScrappedVO = new LWhFormScrappedVO();
+                BeanUtils.copyProperties(item, lWhFormScrappedVO);
+                List<FromTransferTemplateInfoVO> list = Lists.newArrayList();
+                // 鏌ヨ鍨嬪彿鏁伴噺
+                String sql =
+                    "SELECT fsg.id,fsg.BASE_GOODS_TEMPLATE_ID goodsTemplatesId,fsg.GOODS_TEMPLATE_NAME goodsName,sum(counts) count FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID "
+                        + "where fsg.FORM_SCRAPPED_ID =:id group by fsg.BASE_GOODS_TEMPLATE_ID";
+                Map<String, Object> paramMap = new HashMap<>();
+                paramMap.put("id", item.getId());
+                List<Map<String, Object>> procureModelList = lWhFormScrappedService.select(sql, paramMap, new MapperUtil());
+                for (Map<String, Object> map : procureModelList) {
+                    FromTransferTemplateInfoVO fromTransferTemplateInfoVO = MapUtils.convertMapToObj(map, FromTransferTemplateInfoVO.class);
+                    list.add(fromTransferTemplateInfoVO);
+                }
+                lWhFormScrappedVO.setGoodTemplateInfo(list);
+                result.add(lWhFormScrappedVO);
             });
         }
-        try {
-            Field fieldDatas = GenericPager.class.getDeclaredField("datas");
-            fieldDatas.setAccessible(true);
-            fieldDatas.set(genericPager, newDatas);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-//        genericPager.setDatas(newDatas);
+        genericPager.setDatas(result);
         return ResponseValue.success(genericPager);
     }
 
@@ -97,12 +110,16 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/2
      */
+    @ApiOperation(value = "鏍规嵁id鏌ヨ璇︽儏", notes = "鏍规嵁id鏌ヨ璇︽儏")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "id", value = "鎶ュ簾鍗昳d", dataType = "Long", paramType = "query")
+    })
     @GetMapping("/detail")
     public ResponseValue getById(Long id) {
         if (id == null) {
             return ResponseValue.error("鎶ュ簾鍗昳d涓虹┖");
         }
-        LWhFormScrappedExtend scrappedExtend = this.lWhFormScrappedService.getById(id);
+        LWhFormScrappedExtendVO scrappedExtend = this.lWhFormScrappedService.getById(id);
         return ResponseValue.success(scrappedExtend);
     }
 
@@ -112,14 +129,18 @@
      * @param param
      * @return
      */
+    @ApiOperation(value = "鎶ュ簾鏄庣粏", notes = "鎶ュ簾鏄庣粏")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query")
+    })
     @GetMapping("/list/detailList")
-    public ResponseValue queryDetailList(LWhFormScrappedParam param) {
+    public ResponseValue queryDetailList(LWhFormScrappedQry param) {
         FinSysTenantUser sysInfo = this.getSysInfo();
         if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        GenericPager<Map<String, Object>> genericPager = lWhFormScrappedService.queryDetailList(param, sysInfo);
-        return ResponseValue.success(genericPager);
+        PageUtil pageUtil = lWhFormScrappedService.queryDetailList(param, sysInfo);
+        return ResponseValue.success(pageUtil);
     }
 
     /**
@@ -132,8 +153,8 @@
         if (id == null) {
             return ResponseValue.error("鎶ュ簾鍗昳d涓虹┖");
         }
-        LWhFormScrappedExtend scrappedExtend = this.lWhFormScrappedService.export(id, this.getSysInfo());
-        return ResponseValue.success(scrappedExtend);
+        //LWhFormScrappedExtendVO scrappedExtend = this.lWhFormScrappedService.export(id, this.getSysInfo());
+        return ResponseValue.success(null);
     }
 
 
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedExtend.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedExtend.java
deleted file mode 100644
index dff99b7..0000000
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedExtend.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.consum.base.pojo;
-
-import com.consum.model.po.LWhFormProcure;
-import com.consum.model.po.LWhFormScrapped;
-import com.consum.model.po.LWhFormScrappedGoods;
-import com.consum.model.po.LWhProcureModel;
-
-import java.util.List;
-
-/**
- * @Description
- * @Author 鍗㈠簡闃�
- * @Date 2023/11/2
- */
-public class LWhFormScrappedExtend extends LWhFormScrapped {
-
-    private List<LWhFormScrappedGoods> scrappedGoodsList;
-
-    public List<LWhFormScrappedGoods> getScrappedGoodsList() {
-        return scrappedGoodsList;
-    }
-
-    public void setScrappedGoodsList(List<LWhFormScrappedGoods> scrappedGoodsList) {
-        this.scrappedGoodsList = scrappedGoodsList;
-    }
-}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsInfoParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsInfoParam.java
new file mode 100644
index 0000000..e4065cb
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsInfoParam.java
@@ -0,0 +1,33 @@
+package com.consum.base.pojo;
+
+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/21 16:06
+ */
+@Data
+@ApiModel(value = "LWhFormScrappedGoodsInfoParam", description = "鎶ュ簾鍗曠墿鍝佷俊鎭�")
+public class LWhFormScrappedGoodsInfoParam {
+
+    /**
+     * 鍒嗙被id
+     */
+    private Long baseCategoryId;
+    /**
+     * 鐗╁搧id
+     */
+    private Long baseGoodsTemplateId;
+    @ApiModelProperty(value = "瑙勬牸鍨嬪彿缂栧彿")
+    private Long baseGoodsModelsId;
+    /**
+     * 鎶ュ簾鍗曠墿鍝�
+     */
+    private List<LWhFormScrappedGoodsModelParams> scrappedGoodsList;
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsModelParams.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsModelParams.java
new file mode 100644
index 0000000..0edaa02
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsModelParams.java
@@ -0,0 +1,21 @@
+package com.consum.base.pojo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "LWhFormScrappedGoodsParams", description = "鎶ュ簾鍟嗗搧鍙傛暟")
+public class LWhFormScrappedGoodsModelParams {
+
+    //瑙勬牸鍨嬪彿缂栧彿
+    private Long baseGoodsModelsId;
+    //瑙勬牸鍨嬪彿
+    private String baseGoodsModelsName;
+    //鍓╀綑鏁伴噺
+    private String total;
+    //鎶ュ簾鏁伴噺
+    private Integer counts;
+    //鎶ュ簾鍘熷洜
+    private String scrappedCode;
+
+}
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
deleted file mode 100644
index 91bb254..0000000
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedGoodsParams.java
+++ /dev/null
@@ -1,36 +0,0 @@
-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
index d014bd5..74f3263 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java
@@ -1,13 +1,12 @@
 package com.consum.base.pojo;
 
-import com.consum.model.po.LWhFormScrappedGoods;
-import com.walker.web.param.ParamRequest;
-
+import io.swagger.annotations.ApiModel;
 import java.util.List;
+import lombok.Data;
 
-public class LWhFormScrappedParam extends ParamRequest {
-
-    //鏂板鍙傛暟
+@Data
+@ApiModel(value = "LWhFormScrappedParam")
+public class LWhFormScrappedParam {
 
     /**
      * 鏈烘瀯id
@@ -29,162 +28,8 @@
      * 闄勪欢
      */
     private String uploadFiles;
-    /**
-     * 鐗╁搧id
-     */
-    private Long baseGoodsTemplateId;
-    /**
-     * 鎶ュ簾鍗曠墿鍝�
-     */
-    private List<LWhFormScrappedGoodsParams> scrappedGoodsList;
 
-    //鏌ヨ鍙傛暟
+    private List<LWhFormScrappedGoodsInfoParam> scrappedGoodsInfo;
 
-    /**
-     * 鎶ュ簾鍗曞彿
-     */
-    private String businessFormCode;
-    /**
-     * 鐗╁搧妯$増鍚嶇О
-     */
-    private String goodsTemplateName;
-    /**
-     * 鎶ュ簾鏃堕棿 寮�濮�
-     */
-    private Long dealTimeStart;
-    /**
-     * 鎶ュ簾鏃堕棿 缁撴潫
-     */
-    private Long dealTimeEnd;
-    /**
-     * 瑙勬牸鍨嬪彿id
-     */
-    private Long baseGoodsModelsId;
-    /**
-     * 鍒涘缓浜�
-     */
-    private String operatorName;
 
-    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 getBaseGoodsModelsId() {
-        return baseGoodsModelsId;
-    }
-
-    public void setBaseGoodsModelsId(Long baseGoodsModelsId) {
-        this.baseGoodsModelsId = baseGoodsModelsId;
-    }
-
-    public String getBusinessFormCode() {
-        return businessFormCode;
-    }
-
-    public void setBusinessFormCode(String businessFormCode) {
-        this.businessFormCode = businessFormCode;
-    }
-
-    public String getGoodsTemplateName() {
-        return goodsTemplateName;
-    }
-
-    public void setGoodsTemplateName(String goodsTemplateName) {
-        this.goodsTemplateName = goodsTemplateName;
-    }
-
-    public Long getDealTimeStart() {
-        return dealTimeStart;
-    }
-
-    public void setDealTimeStart(Long dealTimeStart) {
-        this.dealTimeStart = dealTimeStart;
-    }
-
-    public Long getDealTimeEnd() {
-        return dealTimeEnd;
-    }
-
-    public void setDealTimeEnd(Long dealTimeEnd) {
-        this.dealTimeEnd = dealTimeEnd;
-    }
-
-    public Long getBaseGoodsTemplateId() {
-        return baseGoodsTemplateId;
-    }
-
-    public void setBaseGoodsTemplateId(Long baseGoodsTemplateId) {
-        this.baseGoodsTemplateId = baseGoodsTemplateId;
-    }
-
-    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/LWhFormInventoryParam.java b/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormInventoryQry.java
similarity index 78%
rename from consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryParam.java
rename to consum-base/src/main/java/com/consum/base/pojo/query/LWhFormInventoryQry.java
index b643f53..ef266c5 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormInventoryParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormInventoryQry.java
@@ -1,12 +1,11 @@
-package com.consum.base.pojo;
+package com.consum.base.pojo.query;
 
-import com.walker.web.param.ParamRequest;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
 @Data
 @ApiModel(value = "鐩樼偣鍗曟潯浠跺弬鏁�")
-public class LWhFormInventoryParam extends ParamRequest {
+public class LWhFormInventoryQry {
 
     private Long id;
     /**
@@ -62,14 +61,7 @@
      * 鐩樼偣浜�
      */
     private String operatorName;
-    /**
-     * 鏃堕棿(鐩樼偣缁撴潫鏃堕棿) 寮�濮�
-     */
-    private Long stopTimeStart;
-    /**
-     * 鏃堕棿(鐩樼偣缁撴潫鏃堕棿) 缁撴潫
-     */
-    private Long stopTimeEnd;
+
 
     private Integer pageSize = 10;
     private Integer pageNum = 1;
diff --git a/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormScrappedQry.java b/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormScrappedQry.java
new file mode 100644
index 0000000..72f98d8
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormScrappedQry.java
@@ -0,0 +1,48 @@
+package com.consum.base.pojo.query;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鎶ュ簾鍗曟煡璇㈡潯浠�
+ * @date 2023/11/21 15:00
+ */
+@Data
+@ApiModel(value = "LWhFormScrappedQry", description = "鎶ュ簾鍗曟煡璇㈡潯浠�")
+public class LWhFormScrappedQry {
+
+    /**
+     * 鎶ュ簾鍗曞彿
+     */
+    private String businessFormCode;
+    /**
+     * 鐗╁搧妯$増鍚嶇О
+     */
+    private String goodsTemplateName;
+    /**
+     * 鎶ュ簾鏃堕棿 寮�濮�
+     */
+    private Long startTime;
+    /**
+     * 鎶ュ簾鏃堕棿 缁撴潫
+     */
+    private Long endTime;
+    /**
+     * 瑙勬牸鍨嬪彿id
+     */
+    private Long baseGoodsModelsId;
+    /**
+     * 鍒涘缓浜�
+     */
+    private String operatorName;
+    /**
+     * 鏈烘瀯
+     */
+    private String agencyId;
+
+    private Integer pageSize = 10;
+    private Integer pageNum = 1;
+
+}
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
index fcbecde..b2be802 100644
--- 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
@@ -1,14 +1,61 @@
 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 {
+public class LWhFormInventoryParam {
+
+    // 涓婚敭
+    private Long id;
+
+    // 灞炴�у垪琛�
+    private String businessFormCode;
+
+    private String businessFormName;
+
+    private Integer warehouseType;
+
+    private Long warehouseId;
+
+    private String warehouseName;
+
+    private Long operatorId;
+
+    private String operatorName;
+
+    private Integer states;
+
+    private Long operatorId2;
+
+    private String operatorName2;
+
+    private String beiz1;
+
+    private Long agencyId;
+
+    private String agencyName;
+
+    private Long creatorId;
+
+    private String creatorName;
+
+    private Long inventoryDate;
+
+    private Long createTime;
+
+    private Long stopTime;
+
+    private Long inWarehouseFormId;
+
+    private String inBusinessFormCode;
+
+    private Long outWarehouseFormId;
+
+    private String outBusinessFormCode;
 
     /**
      * 鐩樼偣鍗曠墿鍝�
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java
new file mode 100644
index 0000000..5bb70e5
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java
@@ -0,0 +1,50 @@
+package com.consum.base.pojo.response;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鐩樼偣寮傚父鏄庣粏淇℃伅
+ * @date 2023/11/21 13:20
+ */
+@Data
+@ApiModel(value = "鐩樼偣寮傚父鏄庣粏淇℃伅")
+public class FormInventoryDetailVO {
+
+    private Long id;
+    private String warehouseName;
+    private String goodsTemplateName;
+    private String baseGoodsModelsName;
+    /**
+     * 鐩樼偣缁撴灉锛�1=姝e父锛�2=鐩樼泩锛�3=鐩樹簭锛�
+     */
+    private Integer inventoryResult;
+    /**
+     * 鐩樼偣缁撴灉锛�1=姝e父锛�2=鐩樼泩锛�3=鐩樹簭锛�
+     */
+    private String inventoryResultType;
+    /**
+     * 搴撳瓨鏁伴噺
+     */
+    private Integer initCounts;
+    /**
+     * 鐩樼偣鏁伴噺
+     */
+    private Integer inventoryCounts;
+    /**
+     * 鐩樼偣寮傚父鏁伴噺
+     */
+    private Integer errorCounts;
+    /**
+     * 鐩樼偣鍑哄叆搴撶被鍨�
+     */
+    private String inventoryType;
+    private String businessFormCode;
+    private String agencyName;
+    private String operatorName;
+    private Long operatorTime;
+    private Long warehouseFormCode;
+
+}
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
index 0e4ff2d..b5074c7 100644
--- 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
@@ -46,5 +46,8 @@
     @ApiModelProperty(value = "瀹炵洏鏁伴噺")
     private Integer realNum;
 
+    @ApiModelProperty(value = "鐘舵��")
+    private Integer status;
+
 
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsDetailVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsDetailVO.java
new file mode 100644
index 0000000..a2071e1
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsDetailVO.java
@@ -0,0 +1,43 @@
+package com.consum.base.pojo.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鎶ュ簾鍗曟槑缁嗕俊鎭�
+ * @date 2023/11/22 18:16
+ */
+@NoArgsConstructor
+@Data
+@ApiModel(value = "FormScrappedGoodsDetailVO")
+public class FormScrappedGoodsDetailVO {
+
+    @JsonProperty("id")
+    private Long id;
+
+    @JsonProperty("businessFormCode")
+    private String businessFormCode;
+
+
+    @JsonProperty("goodsTemplateName")
+    private String goodsTemplateName;
+    @JsonProperty("baseGoodsModelsName")
+    private String baseGoodsModelsName;
+
+    @JsonProperty("counts")
+    private Integer counts;
+
+    @JsonProperty("agencyName")
+    private String agencyName;
+
+
+    @JsonProperty("operatorName")
+    private String operatorName;
+
+    @JsonProperty("dealTime")
+    private Long dealTime;
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java
new file mode 100644
index 0000000..6467a14
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FormScrappedGoodsVO.java
@@ -0,0 +1,29 @@
+package com.consum.base.pojo.response;
+
+import io.swagger.annotations.ApiModel;
+import java.util.List;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: TODO
+ * @date 2023/11/22 17:26
+ */
+@Data
+@ApiModel
+public class FormScrappedGoodsVO {
+
+    private Long id;
+    //鍒嗙被缂栧彿
+    private Long categoryId;
+    //鍒嗙被鍚嶇О
+    private String categoryName;
+    //鐗╁搧妯$増缂栧彿
+    private Long baseGoodsTemplateId;
+
+    private String goodsName;
+
+    private List<GoodsModelVO> models;
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java
index ad51961..b863e12 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java
@@ -21,4 +21,7 @@
     private Integer totalAmount;
 
 
+    private String scrappedName;
+
+
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java
new file mode 100644
index 0000000..1525d04
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedExtendVO.java
@@ -0,0 +1,53 @@
+package com.consum.base.pojo.response;
+
+import io.swagger.annotations.ApiModel;
+import java.util.List;
+import lombok.Data;
+
+/**
+ * @Description
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/11/2
+ */
+@Data
+@ApiModel
+public class LWhFormScrappedExtendVO {
+
+
+    // 涓婚敭
+    private Long id;
+
+
+    private String businessFormCode;
+
+
+    private Long warehouseId;
+
+
+    private String warehouseName;
+
+
+    private Long agencyId;
+
+
+    private String agencyName;
+
+
+    private Long operatorId;
+
+
+    private String operatorName;
+
+
+    private Long dealTime;
+
+
+    private String uploadFiles;
+
+
+    private Integer states;
+
+    private List<FormScrappedGoodsVO> scrappedGoods;
+
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedVO.java
new file mode 100644
index 0000000..4966ac3
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/LWhFormScrappedVO.java
@@ -0,0 +1,44 @@
+package com.consum.base.pojo.response;
+
+import io.swagger.annotations.ApiModel;
+import java.util.List;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: TODO
+ * @date 2023/11/22 16:29
+ */
+@Data
+@ApiModel(value = "LWhFormScrappedVO", description = "LWhFormScrappedVO")
+public class LWhFormScrappedVO {
+
+    // 涓婚敭
+    private Long id;
+
+    private String businessFormCode;
+
+    private Long warehouseId;
+
+    private String warehouseName;
+
+    private Long agencyId;
+
+    private String agencyName;
+
+    private Long operatorId;
+
+    private String operatorName;
+
+    private Long dealTime;
+
+
+    private Integer states;
+
+
+    /**
+     * 瑙勬牸鍨嬪彿
+     */
+    private List<FromTransferTemplateInfoVO> goodTemplateInfo;
+}
diff --git a/consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java
index 452bd0c..60fb4a2 100644
--- a/consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java
@@ -7,10 +7,7 @@
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -22,10 +19,8 @@
 
     private static final String QUERY_TREE_ALL = "select * from FIN_SYS_TENANT where is_delete = 0 and status = 1  order by parent_id, LV ASC";
     private static final String QUERY_TREE_BY_CODE = "SELECT * FROM FIN_SYS_TENANT  ";
-    private static final String QUERY_BY_PARENT_ID = "SELECT * FROM FIN_SYS_TENANT WHERE parent_id = ?";
-    private static final String QUERY_BY_PARENT_CODE = "SELECT * FROM FIN_SYS_TENANT WHERE CODE = ?";
     private static final String QUERY_LIST_BY_CITY_CODE = "SELECT ID, NAME, CODE, CASE WHEN LV = 2 THEN ID ELSE PARENT_ID END AS PARENT_ID, LV, TENANT_TYPE, BELONG_PROVINCE FROM FIN_SYS_TENANT  ";
-    private static final String QUERY_LIST_BY_PARENT_ID = "SELECT * FROM FIN_SYS_TENANT WHERE PARENT_ID = ? ORDER BY LV ASC";
+    private static final String QUERY_LV2_ALL = "SELECT * FROM FIN_SYS_TENANT WHERE LV < 3 ORDER BY CODE ASC";
 
     /**
      * @Author 锛歱ower
@@ -41,8 +36,6 @@
         return null;
     }
 
-
-    private static final String QUERY_LV2_ALL = "SELECT * FROM FIN_SYS_TENANT WHERE LV < 3 ORDER BY CODE ASC";
 
     public List<FinSysTenant> queryForTree() {
         // 灞曠ず鍏ㄩ儴鑺傜偣
@@ -101,37 +94,6 @@
         return this.select(QUERY_LV2_ALL, new Object[]{}, new FinSysTenant());
     }
 
-    /**
-     * @Description 鏍规嵁鐖剁骇id鑾峰彇涓嬬骇鍒楄〃
-     * @Author wh
-     * @Date 2023/7/25 13:53
-     */
-    public List<FinSysTenant> getByParentId(Long parentId) {
-        return this.select(QUERY_LIST_BY_PARENT_ID, new Object[]{parentId}, new FinSysTenant());
-    }
-
-    /**
-     * @Description 鏍规嵁parentId鏌ヨ
-     * @Author wh
-     * @Date 2023/9/11 19:16
-     */
-    public FinSysTenant selectByParentId(String parentId) {
-        List<FinSysTenant> select = this.select(QUERY_BY_PARENT_ID, new Object[]{parentId}, new FinSysTenant());
-        if (StringUtils.isEmptyList(select)) {
-            return null;
-        } else {
-            return select.get(0);
-        }
-    }
-
-    public FinSysTenant selectByTenantId(String tenantCode) {
-        List<FinSysTenant> select = this.select(QUERY_BY_PARENT_CODE, new Object[]{tenantCode}, new FinSysTenant());
-        if (StringUtils.isEmptyList(select)) {
-            return null;
-        } else {
-            return select.get(0);
-        }
-    }
 
     /**
      * 鍒犻櫎
@@ -144,7 +106,7 @@
         finSysTenant.setTempId(param.getId());
         finSysTenant.setStatus(0);
         finSysTenant.setIsDelete(1);
-        finSysTenant.setModified(getCurrentDate());
+        finSysTenant.setModified(DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
         finSysTenant.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         finSysTenant.setUpdateBy(sysInfo.getUserName());
         return this.update(finSysTenant);
@@ -182,7 +144,7 @@
         finSysTenant.setCode(param.getCode());
         //璁剧疆璇︾粏鍦板潃鍙婄粡绾害
         finSysTenant.setName(param.getName());
-        finSysTenant.setCreateTime3(getCurrentDate());
+        finSysTenant.setCreateTime3(DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
         finSysTenant.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         finSysTenant.setSummary(param.getSummary());
         finSysTenant.setCreateBy(sysInfo.getUserName());
@@ -262,24 +224,6 @@
 
 
     /**
-     * 鑾峰彇褰撳墠鏃ユ湡
-     *
-     * @author 鍗㈠簡闃�
-     * @date 2023/10/4
-     */
-    private Date getCurrentDate() {
-        Date currentDate = new Date();
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String formattedDate = dateFormat.format(currentDate);
-        try {
-            Date convertedDate = dateFormat.parse(formattedDate);
-        } catch (ParseException e) {
-            e.printStackTrace();
-        }
-        return currentDate;
-    }
-
-    /**
      * 缂栬緫
      *
      * @author 鍗㈠簡闃�
@@ -294,9 +238,15 @@
         } else {
             finSysTenant.setLv3Name(finSysTenant.getName());
         }
-        finSysTenant.setModified(getCurrentDate());
+        finSysTenant.setModified(DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
         finSysTenant.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         finSysTenant.setUpdateBy(sysInfo.getUserName());
         return this.update(finSysTenant);
     }
+
+    public FinSysTenant selectById(Long id) {
+        FinSysTenant tenant = new FinSysTenant();
+        tenant.setTempId(id);
+        return this.get(tenant);
+    }
 }
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 5331d39..3292f01 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
@@ -30,52 +30,46 @@
         return this.select(inventoryGoods);
     }
 
-    /**
-     * @return
-     * @Description 鏂板鐩樼偣鍗曠墿鍝佽褰�
-     * @Author 鍗㈠簡闃�
-     * @Date 2023/10/31
-     */
-//    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) {
+
+    public int add(List<FormInventoryGoodsVO> inventoryGoodsList, Long inventoryId) {
         List<LWhFormInventoryGoods> goodsList = new ArrayList<>();
         for (FormInventoryGoodsVO inventoryGoods : inventoryGoodsList) {
             LWhFormInventoryGoods lWhFormInventoryGoods = new LWhFormInventoryGoods();
             lWhFormInventoryGoods.setId(IdUtil.generateId());
-            lWhFormInventoryGoods.setWhFormInventoryId(warehouseId);
+            lWhFormInventoryGoods.setWhFormInventoryId(inventoryId);
             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);
+            lWhFormInventoryGoods.setInitCounts(inventoryGoods.getInventoryCount());
             goodsList.add(lWhFormInventoryGoods);
         }
         return this.insert(goodsList);
     }
 
+    public int updateInventoryGoods(List<FormInventoryGoodsVO> inventoryGoodsList) {
+        List<LWhFormInventoryGoods> goodsList = new ArrayList<>();
+        for (FormInventoryGoodsVO inventoryGoods : inventoryGoodsList) {
+            LWhFormInventoryGoods lWhFormInventoryGoods = new LWhFormInventoryGoods();
+            lWhFormInventoryGoods.setId(inventoryGoods.getId());
+            Integer inventoryCount = inventoryGoods.getInventoryCount();
+            Integer realNum = inventoryGoods.getRealNum();
+            if (realNum != null) {
+                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);
+            }
+//            this.update(lWhFormInventoryGoods);
+
+        }
+        return this.updateBatch(goodsList);
+//        return 1;
+    }
+
     /**
      * @Description 鏍规嵁鐩樼偣鍗昳d鍒犻櫎鐩樼偣鍗曠墿鍝�
      * @Author 鍗㈠簡闃�
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 df1ea64..45982fd 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
@@ -3,14 +3,17 @@
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.utils.IdUtil;
-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.core.utils.PageUtil;
+import com.consum.base.pojo.query.LWhFormInventoryQry;
 import com.consum.base.pojo.request.FormInventoryParam;
 import com.consum.base.pojo.request.LWhFormInventoryParam;
+import com.consum.base.pojo.response.FormInventoryDetailVO;
 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.FinSysTenant;
 import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.LWhFormInventory;
 import com.walker.db.page.GenericPager;
@@ -48,6 +51,8 @@
     private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
     @Autowired
     private LWhGoodsService lWhGoodsService;
+    @Autowired
+    private FinSysTenantServiceImpl finSysTenantService;
 
 
     private static final String QUERY_LIST = "select * from l_wh_form_inventory where 1=1 ";
@@ -60,10 +65,10 @@
         + "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 ";
+        "SELECT fig.id,fi.WAREHOUSE_NAME,fig.GOODS_TEMPLATE_NAME,fig.BASE_GOODS_MODELS_NAME,fig.INVENTORY_RESULT,fig.INIT_COUNTS,fig.INVENTORY_COUNTS,"
+            + "fig.ERROR_COUNTS,fi.AGENCY_NAME,fi.OPERATOR_NAME,fi.STOP_TIME operatorTime,"
+            + "CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE END warehouseFormCode "
+            + "FROM l_wh_form_inventory fi INNER JOIN l_wh_form_inventory_goods fig ON fi.ID = fig.WH_FORM_INVENTORY_ID where 1=1 ";
 
     /**
      * @param param
@@ -99,7 +104,8 @@
 
         lWhFormInventory.setStates(0);
         lWhFormInventory.setAgencyId(Long.valueOf(currentUser.getTenantId()));
-        lWhFormInventory.setAgencyName(currentUser.getTenantName());
+        FinSysTenant finSysTenant = finSysTenantService.selectById(Long.valueOf(currentUser.getTenantId()));
+        lWhFormInventory.setAgencyName(finSysTenant.getName());
         lWhFormInventory.setCreatorId(currentUser.getSysUserId());
         lWhFormInventory.setCreatorName(currentUser.getUserName());
         lWhFormInventory.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
@@ -112,7 +118,7 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/31
      */
-    public GenericPager<LWhFormInventory> queryList(com.consum.base.pojo.LWhFormInventoryParam param, FinSysTenantUser sysInfo) {
+    public GenericPager<LWhFormInventory> queryList(LWhFormInventoryQry param, FinSysTenantUser sysInfo) {
         StringBuilder sql = new StringBuilder(QUERY_LIST);
         HashMap<String, Object> paramts = new HashMap<>();
 
@@ -148,41 +154,39 @@
         return selectSplit(sql.toString(), paramts, new LWhFormInventory());
     }
 
-    /**
-     * @param id 鐩樼偣鍗昳d
-     * @Description 鐩樼偣
-     * @Author 鍗㈠簡闃�
-     * @Date 2023/10/31
-     */
-    public List queryPdList(Long id) {
+
+    public void saveInventory(FormInventoryVO dto, Long id) {
         //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
         LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(id));
         if (lWhFormInventory == null) {
-            log.error("鐩樼偣澶辫触");
+            log.error("鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曞け璐�");
         }
-        //2.鏌ヨ鐩樼偣鍗曟暟鎹�
-        List<Map<String, Object>> list = this.select(QUERY_PD_List, new Object[]{lWhFormInventory.getWarehouseId()});
-        if (CollectionUtils.isEmpty(list)) {
-            log.error("鐩樼偣澶辫触");
-            return null;
+        //2.淇敼鐩樼偣鍗�
+        lWhFormInventory.setStates(1);
+        lWhFormInventory.setInventoryDate(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+        int flag1 = this.update(lWhFormInventory);
+        if (flag1 == 0) {
+            log.error("淇敼鐩樼偣鍗曞け璐�");
         }
-        //3.鏂板鐩樼偣鍗曠墿鍝佽褰�
-//        int flag = inventoryGoodsService.add(list, lWhFormInventory.getWarehouseId());
-//        if (flag != list.size()) {
-//            log.error("鏂板鐩樼偣鍗曡褰�");
-//            return null;
-//        }
-        //4.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曠墿鍝�
-        return inventoryGoodsService.getByInventoryId(id);
+        //3.娣诲姞鐩樼偣鍗曠墿鍝�
+        List<FormInventoryGoodsVO> formInventoryGoodsList = dto.getFormInventoryGoodsList();
+        if (CollectionUtils.isEmpty(formInventoryGoodsList)) {
+            log.error("鐩樼偣鍗曠墿鍝佷负绌�");
+        }
+        int num = inventoryGoodsService.add(formInventoryGoodsList, id);
+        if (num != formInventoryGoodsList.size()) {
+            log.error("鏇存柊鐩樼偣鍗曠墿鍝佸け璐�");
+        }
+
     }
 
     /**
-     * 鏆傚瓨
+     * 淇濆瓨鐩樼偣淇℃伅
      *
      * @author 鍗㈠簡闃�
      * @date 2023/10/31
      */
-    public int temporaryStorage(LWhFormInventoryParam dto, Integer state) {
+    public int updateInventoryInfo(LWhFormInventoryParam dto, Integer state) {
         //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
         LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(dto.getId()));
         if (lWhFormInventory == null) {
@@ -203,11 +207,7 @@
             log.error("鐩樼偣鍗曠墿鍝佷负绌�");
             return 0;
         }
-        int flag2 = inventoryGoodsService.add(inventoryGoodsList, lWhFormInventory.getWarehouseId());
-        if (flag2 != inventoryGoodsList.size()) {
-            log.error("鏇存柊鐩樼偣鍗曠墿鍝佸け璐�");
-            return 0;
-        }
+        this.inventoryGoodsService.updateInventoryGoods(inventoryGoodsList);
         return 1;
     }
 
@@ -263,7 +263,7 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/1
      */
-    public GenericPager<Map<String, Object>> queryPdDetailList(com.consum.base.pojo.LWhFormInventoryParam param, FinSysTenantUser sysInfo) {
+    public PageUtil<FormInventoryDetailVO> queryPdDetailList(LWhFormInventoryQry param, FinSysTenantUser sysInfo) {
         StringBuilder sql = new StringBuilder(QUERY_PD_DETAIL_LIST);
         HashMap<String, Object> paramts = new HashMap<>();
 
@@ -276,60 +276,67 @@
         }
         //浠撳簱缂栧彿
         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 (!StringUtils.isEmpty(param.getGoodsTemplateName())) {
-            sql.append(" and GOODS_TEMPLATE_NAME =:GOODS_TEMPLATE_NAME ");
+            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 ");
+            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 ");
+            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);
-            }
+            sql.append(
+                " and CASE WHEN fig.INVENTORY_RESULT = 2 THEN fi.IN_BUSINESS_FORM_CODE =:warehouseFormCode WHEN fig.INVENTORY_RESULT = 3 THEN fi.OUT_BUSINESS_FORM_CODE =:warehouseFormCode END ");
+            paramts.put("warehouseFormCode", param.getWarehouseFormCode());
         }
         //鎿嶄綔浜�
         if (!StringUtils.isEmpty(param.getOperatorName())) {
-            sql.append(" and OPERATOR_NAME =:OPERATOR_NAME ");
+            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.getStartTime() != null) {
+            sql.append("and STOP_TIME >=:stopTimeStart ");
+            paramts.put("stopTimeStart", param.getStartTime() * 1000000);
         }
-        if (param.getStopTimeEnd() != null) {
-            sql.append(" and STOP_TIME <:stopTimeEnd ");
-            paramts.put("stopTimeEnd", param.getStopTimeEnd() * 1000000 + 240000);
+        if (param.getEndTime() != null) {
+            sql.append("and STOP_TIME <:stopTimeEnd ");
+            paramts.put("stopTimeEnd", param.getEndTime() * 1000000 + 240000);
         }
-
-        sql.append(" ORDER BY CREATE_TIME DESC ");
-
-        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapRowMapper());
+        sql.append("AND fig.INVENTORY_RESULT in(2,3) ");
+        sql.append("ORDER BY CREATE_TIME DESC ");
+        GenericPager<Map<String, Object>> mapGenericPager = selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
+        PageUtil<FormInventoryDetailVO> pageUtil = new PageUtil<>(mapGenericPager);
+        List<FormInventoryDetailVO> result = Lists.newArrayList();
+        mapGenericPager.getDatas().forEach(item -> {
+            FormInventoryDetailVO formInventoryDetailVO = MapUtils.convertMapToObj(item, FormInventoryDetailVO.class);
+            formInventoryDetailVO.setInventoryResultType(
+                formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩" : "鐩樹簭"));
+            formInventoryDetailVO.setInventoryType(
+                formInventoryDetailVO.getInventoryResult() == null ? null : (formInventoryDetailVO.getInventoryResult() == 2 ? "鐩樼泩鍏ュ簱" : "鐩樹簭鍑哄簱"));
+            result.add(formInventoryDetailVO);
+        });
+        pageUtil.setDatas(result);
+        return pageUtil;
     }
 
     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";
+            + "fig.INIT_COUNTS inventoryCount,fig.INVENTORY_COUNTS realNum,fig.INVENTORY_RESULT status,fig.unit,bgt.CLASSIFICATION type from "
+            + "l_wh_form_inventory_goods fig left join base_goods_template bgt on bgt.id =fig.BASE_GOODS_TEMPLATE_ID  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());
@@ -359,7 +366,8 @@
         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 "
+            "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());
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java
index a5cc5ab..5145cc3 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java
@@ -1,6 +1,7 @@
 package com.consum.base.service;
 
 import com.consum.base.core.utils.MapperUtil;
+import com.consum.base.core.utils.PageUtil;
 import com.consum.base.pojo.query.FormProcureQry;
 import com.consum.model.po.LWhFormProcure;
 import com.walker.db.page.GenericPager;
@@ -21,7 +22,7 @@
 
     private static String QUERY_FORM_PROCURE_LIST = "SELECT * FROM L_WH_FORM_PROCURE WHERE 1 = 1";
 
-    public GenericPager<LWhFormProcure> queryFormProcureList(FormProcureQry param) {
+    public PageUtil<LWhFormProcure> queryFormProcureList(FormProcureQry param) {
         HashMap<String, Object> paramts = new HashMap<>();
         StringBuilder sql = new StringBuilder(QUERY_FORM_PROCURE_LIST);
         //鍏ュ簱鍗曞彿
@@ -60,7 +61,8 @@
         }
         sql.append(" ORDER BY PROCURE_TIME DESC");
         GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormProcure());
-        return genericPager;
+        PageUtil pageUtil = new PageUtil(genericPager);
+        return pageUtil;
 
     }
 
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
index fc83d65..79fa7b3 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
@@ -3,10 +3,17 @@
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.utils.IdUtil;
-import com.consum.base.core.utils.MapRowMapper;
-import com.consum.base.pojo.LWhFormScrappedExtend;
-import com.consum.base.pojo.LWhFormScrappedGoodsParams;
+import com.consum.base.core.utils.MapUtils;
+import com.consum.base.core.utils.MapperUtil;
+import com.consum.base.core.utils.PageUtil;
+import com.consum.base.pojo.LWhFormScrappedGoodsInfoParam;
+import com.consum.base.pojo.LWhFormScrappedGoodsModelParams;
 import com.consum.base.pojo.LWhFormScrappedParam;
+import com.consum.base.pojo.query.LWhFormScrappedQry;
+import com.consum.base.pojo.response.FormScrappedGoodsDetailVO;
+import com.consum.base.pojo.response.FormScrappedGoodsVO;
+import com.consum.base.pojo.response.GoodsModelVO;
+import com.consum.base.pojo.response.LWhFormScrappedExtendVO;
 import com.consum.model.po.BaseGoodsModels;
 import com.consum.model.po.BaseGoodsTemplate;
 import com.consum.model.po.BaseWarehouse;
@@ -17,7 +24,6 @@
 import com.consum.model.po.SDictData;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
-import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
 import java.util.ArrayList;
@@ -25,6 +31,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -58,17 +65,12 @@
     @Autowired
     private LWhFormScrappedCoreService lWhFormScrappedCoreService;
 
-    private static String QUERY_LIST = "SELECT * FROM l_wh_form_scrapped WHERE 1 = 1";
+    private static String QUERY_LIST = "SELECT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 ";
 
-    private static final String QUERY_BF_DETAIL_LIST = "select lwfs.BUSINESS_FORM_CODE,\n" +
-        "       lwfsg.GOODS_TEMPLATE_NAME,\n" +
-        "       lwfsg.BASE_GOODS_MODELS_NAME,\n" +
-        "       lwfsg.COUNTS,\n" +
-        "       lwfs.AGENCY_NAME,\n" +
-        "       lwfs,OPERATOR_NAME,\n" +
-        "       lwfs,DEAL_TIME\n" +
-        "from l_wh_form_scrapped lwfs\n" +
-        "         inner join l_wh_form_scrapped_goods lwfsg on lwfs.ID = lwfsg.FORM_SCRAPPED_ID ";
+    private static final String QUERY_BF_DETAIL_LIST =
+        "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS,"
+            + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs "
+            + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 ";
 
     /**
      * 鏂板
@@ -116,61 +118,67 @@
         }
         //2.鏂板鎶ュ簾鍗曠墿鍝佽褰�
         //鏍规嵁鐗╁搧id鏌ヨ鐗╁搧
-        BaseGoodsTemplate goodsTemplate = this.baseGoodsTemplateService.get(new BaseGoodsTemplate(param.getBaseGoodsTemplateId()));
-        if (goodsTemplate == null) {
-            log.error("鏍规嵁鐗╁搧id鏌ヨ鐗╁搧");
-            return 0;
-        }
-        List<LWhFormScrappedGoodsParams> scrappedGoodsParamList = param.getScrappedGoodsList();
-        if (CollectionUtils.isEmpty(scrappedGoodsParamList)) {
-            log.error("鏂板鎶ュ簾鍗曠墿鍝佽褰� 澶辫触");
-            return 0;
-        }
-        //鑾峰彇瑙勬牸鍨嬪彿id
-        List<Long> baseGoodsModelsIdList = scrappedGoodsParamList.stream().map(params -> params.getBaseGoodsModelsId()).collect(Collectors.toList());
-        //鏍规嵁瑙勬牸鍨嬪彿id鏌ヨ瑙勬牸鍨嬪彿
-        List<BaseGoodsModels> models = this.baseGoodsModelsService.selectByModelsIdList(baseGoodsModelsIdList);
-        Map<Long, BaseGoodsModels> modelMap = models.stream().collect(Collectors.toMap(model -> model.getId(), model -> model));
-        //鑾峰彇鎶ュ簾鍘熷洜code
-        List<String> scrappedCodeList = scrappedGoodsParamList.stream().map(params -> params.getScrappedCode()).collect(Collectors.toList());
-        //鏍规嵁鎶ュ簾鍘熷洜code鏌ヨ鏁版嵁瀛楀吀
-        List<SDictData> SDictDataList = this.sDictDataService.selectByScrappedCodeList(scrappedCodeList);
-        Map<Long, String> scrappedNameMap = SDictDataList.stream().collect(Collectors.toMap(s -> s.getDict_code(), s -> s.getDict_label()));
-
-        List<LWhFormScrappedGoods> scrappedGoodsList = new ArrayList<>();
-        for (LWhFormScrappedGoodsParams params : scrappedGoodsParamList) {
-            LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
-            scrappedGoods.setId(IdUtil.generateId());
-            //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-            int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null);
-            if (params.getCounts() > goodsNum) {
-                log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺");
+        for (LWhFormScrappedGoodsInfoParam goodsInfo : param.getScrappedGoodsInfo()) {
+            BaseGoodsTemplate goodsTemplate = this.baseGoodsTemplateService.get(new BaseGoodsTemplate(goodsInfo.getBaseGoodsTemplateId()));
+            if (goodsTemplate == null) {
+                log.error("璇ョ墿鍝佹ā鏉夸笉瀛樺湪");
                 return 0;
             }
-            scrappedGoods.setCounts(params.getCounts());
-            //鎶ュ簾鍘熷洜
-            scrappedGoods.setScrappedCode(params.getScrappedCode());
-            scrappedGoods.setScrappedName(scrappedNameMap.get(Long.valueOf(params.getScrappedCode())));
-            scrappedGoods.setFormScrappedId(lWhFormScrappedId);
-            //鐗╁搧妯℃澘
-            scrappedGoods.setBaseGoodsTemplateId(goodsTemplate.getId());
-            scrappedGoods.setGoodsTemplateName(goodsTemplate.getGoodsName());
-            //瑙勬牸鍨嬪彿
-            Long baseGoodsModelsId = params.getBaseGoodsModelsId();
-            BaseGoodsModels baseGoodsModels = modelMap.get(baseGoodsModelsId);
-            if (baseGoodsModels != null) {
-                scrappedGoods.setBaseGoodsModelsId(baseGoodsModelsId);
-                scrappedGoods.setBaseGoodsModelsName(baseGoodsModels.getModelName());
-                scrappedGoods.setUnit(baseGoodsModels.getUnit());
+            List<LWhFormScrappedGoodsModelParams> scrappedGoodsParamList = goodsInfo.getScrappedGoodsList();
+            if (CollectionUtils.isEmpty(scrappedGoodsParamList)) {
+                log.error("鏂板鎶ュ簾鍗曠墿鍝佽褰曞け璐�");
+                return 0;
             }
+            //鑾峰彇瑙勬牸鍨嬪彿id
+            List<Long> baseGoodsModelsIdList = scrappedGoodsParamList.stream().map(params -> params.getBaseGoodsModelsId()).collect(Collectors.toList());
+            //鏍规嵁瑙勬牸鍨嬪彿id鏌ヨ瑙勬牸鍨嬪彿
+            List<BaseGoodsModels> models = this.baseGoodsModelsService.selectByModelsIdList(baseGoodsModelsIdList);
+            if (CollectionUtils.isEmpty(models)) {
+                log.error("璇ュ瀷鍙峰晢鍝佷笉瀛樺湪");
+                return 0;
+            }
+            Map<Long, BaseGoodsModels> modelMap = models.stream().collect(Collectors.toMap(model -> model.getId(), model -> model));
+            //鑾峰彇鎶ュ簾鍘熷洜code
+            List<String> scrappedCodeList = scrappedGoodsParamList.stream().map(params -> params.getScrappedCode()).collect(Collectors.toList());
+            //鏍规嵁鎶ュ簾鍘熷洜code鏌ヨ鏁版嵁瀛楀吀
+            List<SDictData> SDictDataList = this.sDictDataService.selectByScrappedCodeList(scrappedCodeList);
+            Map<Long, String> scrappedNameMap = SDictDataList.stream().collect(Collectors.toMap(s -> s.getDict_code(), s -> s.getDict_label()));
 
-            scrappedGoodsList.add(scrappedGoods);
-        }
-        int flag2 = this.scrappedGoodsService.insert(scrappedGoodsList);
-        if (flag2 != scrappedGoodsList.size()) {
-            log.error("鏂板鎶ュ簾鍗曠墿鍝佽褰� 澶辫触");
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return 0;
+            List<LWhFormScrappedGoods> scrappedGoodsList = new ArrayList<>();
+            for (LWhFormScrappedGoodsModelParams params : scrappedGoodsParamList) {
+                LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
+                scrappedGoods.setId(IdUtil.generateId());
+                //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
+                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null);
+                if (params.getCounts() > goodsNum) {
+                    log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺");
+                    return 0;
+                }
+                scrappedGoods.setCounts(params.getCounts());
+                //鎶ュ簾鍘熷洜
+                scrappedGoods.setScrappedCode(params.getScrappedCode());
+                scrappedGoods.setScrappedName(scrappedNameMap.get(Long.valueOf(params.getScrappedCode())));
+                scrappedGoods.setFormScrappedId(lWhFormScrappedId);
+                //鐗╁搧妯℃澘
+                scrappedGoods.setBaseGoodsTemplateId(goodsTemplate.getId());
+                scrappedGoods.setGoodsTemplateName(goodsTemplate.getGoodsName());
+                //瑙勬牸鍨嬪彿
+                Long baseGoodsModelsId = params.getBaseGoodsModelsId();
+                BaseGoodsModels baseGoodsModels = modelMap.get(baseGoodsModelsId);
+                if (baseGoodsModels != null) {
+                    scrappedGoods.setBaseGoodsModelsId(baseGoodsModelsId);
+                    scrappedGoods.setBaseGoodsModelsName(baseGoodsModels.getModelName());
+                    scrappedGoods.setUnit(baseGoodsModels.getUnit());
+                }
+
+                scrappedGoodsList.add(scrappedGoods);
+            }
+            int flag2 = this.scrappedGoodsService.insert(scrappedGoodsList);
+            if (flag2 != scrappedGoodsList.size()) {
+                log.error("鏂板鎶ュ簾鍗曠墿鍝佽褰� 澶辫触");
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return 0;
+            }
         }
         //3.鏍规嵁鎶ュ簾鍗曟姤搴熺墿鍝�
         Long lWarehouseFlowId = this.lWhFormScrappedCoreService.outFormByTransId(lWhFormScrappedId, currentUser, param.getDealTime());
@@ -188,40 +196,39 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/2
      */
-    public GenericPager queryList(LWhFormScrappedParam param, FinSysTenantUser sysInfo) {
+    public PageUtil queryList(LWhFormScrappedQry param, FinSysTenantUser sysInfo) {
         HashMap<String, Object> paramts = new HashMap<>();
         StringBuilder sql = new StringBuilder(QUERY_LIST);
         //鎶ュ簾鍗曞彿
         if (!StringUtils.isEmpty(param.getBusinessFormCode())) {
-            sql.append(" and BUSINESS_FORM_CODE like :businessFormCode ");
-            paramts.put("businessFormCode", StringUtils.CHAR_PERCENT + param.getBusinessFormCode() + StringUtils.CHAR_PERCENT);
+            sql.append("and BUSINESS_FORM_CODE = :businessFormCode ");
+            paramts.put("businessFormCode", param.getBusinessFormCode());
         }
         //鐗╁搧鍚嶇О
         if (!StringUtils.isEmpty(param.getGoodsTemplateName())) {
-            sql.append(
-                " AND id IN (SELECT BUSINESS_ID FROM L_WH_PROCURE_MODEL procureModel LEFT JOIN BASE_GOODS_MODELS baseModel ON procureModel.BASE_GOODS_MODELS_ID=baseModel.ID LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseModel.GOODS_TEMPLATES_ID=baseTemp.id WHERE procureModel.BUSINESS_TYPE=1 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)");
+            sql.append("and fsg.GOODS_TEMPLATE_NAME LIKE :goodsTemplateName ");
             paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
         }
         //鏈烘瀯
-        sql.append(" and AGENCY_ID like :agencyId ");
+        sql.append("and AGENCY_ID like :agencyId ");
         if (param.getAgencyId() != null) {
             paramts.put("agencyId", param.getAgencyId() + StringUtils.CHAR_PERCENT);
         } else {
             paramts.put("agencyId", sysInfo.getTenantId() + StringUtils.CHAR_PERCENT);
         }
         //鎶ュ簾鏃堕棿
-        if (param.getDealTimeStart() != null) {
-            sql.append(" and DEAL_TIME >=:dealTimeStart ");
-            paramts.put("dealTimeStart", param.getDealTimeStart() * 1000000);
+        if (param.getStartTime() != null) {
+            sql.append("and DEAL_TIME >=:dealTimeStart ");
+            paramts.put("dealTimeStart", param.getStartTime() * 1000000);
         }
-        if (param.getDealTimeEnd() != null) {
-            sql.append(" and DEAL_TIME <:dealTimeEnd ");
-            paramts.put("dealTimeEnd", param.getDealTimeEnd() * 1000000 + 240000);
+        if (param.getEndTime() != null) {
+            sql.append("and DEAL_TIME <:dealTimeEnd ");
+            paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000);
         }
 
-        sql.append(" ORDER BY DEAL_TIME DESC");
+        sql.append("ORDER BY DEAL_TIME DESC");
         GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormScrapped());
-        return genericPager;
+        return new PageUtil(genericPager);
     }
 
     /**
@@ -229,8 +236,8 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/2
      */
-    public LWhFormScrappedExtend getById(Long id) {
-        LWhFormScrappedExtend scrappedExtend = new LWhFormScrappedExtend();
+    public LWhFormScrappedExtendVO getById(Long id) {
+        LWhFormScrappedExtendVO scrappedExtend = new LWhFormScrappedExtendVO();
         //1.鏌ヨ鎶ュ簾鍗�
         LWhFormScrapped lWhFormScrapped = this.get(new LWhFormScrapped(id));
         if (lWhFormScrapped != null) {
@@ -238,9 +245,34 @@
         }
         //2.鏌ヨ鎶ュ簾鍗�
         List<LWhFormScrappedGoods> scrappedGoodsList = this.scrappedGoodsService.getByFormScrappedId(id);
-        if (!CollectionUtils.isEmpty(scrappedGoodsList)) {
-            scrappedExtend.setScrappedGoodsList(scrappedGoodsList);
+        //閫氳繃baseGoodsTemplateId 杩涜鍒嗙粍
+        Map<Long, List<LWhFormScrappedGoods>> map = scrappedGoodsList.stream().collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsTemplateId));
+        //寰幆map鐨刱ey鍜寁alue
+        List<FormScrappedGoodsVO> scrappedGoodsVO = Lists.newArrayList();
+        for (Map.Entry<Long, List<LWhFormScrappedGoods>> entry : map.entrySet()) {
+            Long baseGoodsTemplateId = entry.getKey();
+            List<LWhFormScrappedGoods> goodsList = entry.getValue();
+            LWhFormScrappedGoods lWhFormScrappedGoods = goodsList.stream().findFirst().get();
+            FormScrappedGoodsVO formScrappedGoodsVO = new FormScrappedGoodsVO();
+            formScrappedGoodsVO.setBaseGoodsTemplateId(baseGoodsTemplateId);
+            formScrappedGoodsVO.setGoodsName(lWhFormScrappedGoods.getGoodsTemplateName());
+
+            List<GoodsModelVO> goodsModelList = Lists.newArrayList();
+            goodsList.forEach(item -> {
+                GoodsModelVO goodsModelVO = new GoodsModelVO();
+                goodsModelVO.setId(item.getId());
+                goodsModelVO.setBaseGoodsModelsName(item.getBaseGoodsModelsName());
+                goodsModelVO.setUnit(item.getUnit());
+                goodsModelVO.setCounts(item.getCounts());
+                goodsModelVO.setBaseGoodsModelsId(item.getBaseGoodsModelsId());
+                goodsModelVO.setScrappedName(item.getScrappedName());
+                goodsModelList.add(goodsModelVO);
+            });
+            formScrappedGoodsVO.setModels(goodsModelList);
+            scrappedGoodsVO.add(formScrappedGoodsVO);
+
         }
+        scrappedExtend.setScrappedGoods(scrappedGoodsVO);
         return scrappedExtend;
     }
 
@@ -250,27 +282,27 @@
      * @param param
      * @return
      */
-    public GenericPager<Map<String, Object>> queryDetailList(LWhFormScrappedParam param, FinSysTenantUser sysInfo) {
+    public PageUtil queryDetailList(LWhFormScrappedQry param, FinSysTenantUser sysInfo) {
         StringBuilder sql = new StringBuilder(QUERY_BF_DETAIL_LIST);
         HashMap<String, Object> paramts = new HashMap<>();
 
         //鎶ュ簾鍗曞彿
         if (!StringUtils.isEmpty(param.getBusinessFormCode())) {
-            sql.append(" and BUSINESS_FORM_CODE =: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.getGoodsTemplateName())) {
-            sql.append(" and GOODS_TEMPLATE_NAME =:GOODS_TEMPLATE_NAME ");
+            sql.append("and GOODS_TEMPLATE_NAME like: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 ");
+            sql.append("and BASE_GOODS_MODELS_ID =:BASE_GOODS_MODELS_ID ");
             paramts.put("BASE_GOODS_MODELS_ID", param.getBaseGoodsModelsId());
         }
         //鏈烘瀯
-        sql.append(" and AGENCY_ID like:AGENCY_ID ");
+        sql.append("and AGENCY_ID like:AGENCY_ID ");
         if (param.getAgencyId() != null) {
             paramts.put("AGENCY_ID", param.getAgencyId() + StringUtils.CHAR_PERCENT);
         } else {
@@ -278,45 +310,51 @@
         }
         //鍒涘缓浜�
         if (!StringUtils.isEmpty(param.getOperatorName())) {
-            sql.append(" and OPERATOR_NAME =:OPERATOR_NAME ");
+            sql.append("and OPERATOR_NAME =:OPERATOR_NAME ");
             paramts.put("OPERATOR_NAME", StringUtils.CHAR_PERCENT + param.getOperatorName() + StringUtils.CHAR_PERCENT);
         }
 
         //缁撴潫鏃堕棿
-        if (param.getDealTimeStart() != null) {
-            sql.append(" and DEAL_TIME >=:dealTimeStart ");
-            paramts.put("dealTimeStart", param.getDealTimeStart() * 1000000);
+        if (param.getStartTime() != null) {
+            sql.append("and DEAL_TIME >=:dealTimeStart ");
+            paramts.put("dealTimeStart", param.getStartTime() * 1000000);
         }
-        if (param.getDealTimeEnd() != null) {
-            sql.append(" and DEAL_TIME <:dealTimeEnd ");
-            paramts.put("dealTimeEnd", param.getDealTimeEnd() * 1000000 + 240000);
+        if (param.getEndTime() != null) {
+            sql.append("and DEAL_TIME <:dealTimeEnd ");
+            paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000);
         }
 
-        sql.append(" ORDER BY DEAL_TIME DESC ");
-
-        return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapRowMapper());
+        sql.append("ORDER BY DEAL_TIME DESC ");
+        GenericPager<Map<String, Object>> mapGenericPager = selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil());
+        PageUtil pageUtil = new PageUtil<>(mapGenericPager);
+        List<FormScrappedGoodsDetailVO> result = Lists.newArrayList();
+        mapGenericPager.getDatas().forEach(item -> {
+            FormScrappedGoodsDetailVO formScrappedGoodsDetailVO = MapUtils.convertMapToObj(item, FormScrappedGoodsDetailVO.class);
+            result.add(formScrappedGoodsDetailVO);
+        });
+        pageUtil.setDatas(result);
+        return pageUtil;
     }
-
 
     /**
      * @Description 瀵煎嚭鎶ュ簾鐧昏鍗�
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/2
      */
-    public LWhFormScrappedExtend export(Long id, FinSysTenantUser sysInfo) {
-        LWhFormScrappedExtend scrappedExtend = new LWhFormScrappedExtend();
-        //1.鏌ヨ鎶ュ簾鍗�
-        LWhFormScrapped lWhFormScrapped = this.get(new LWhFormScrapped(id));
-        if (lWhFormScrapped != null) {
-            lWhFormScrapped.setDealTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
-            lWhFormScrapped.setOperatorName(sysInfo.getUserName());
-            BeanUtils.copyProperties(lWhFormScrapped, scrappedExtend);
-        }
-        //2.鏌ヨ鎶ュ簾鍗曠墿鍝�
-        List<LWhFormScrappedGoods> scrappedGoodsList = this.scrappedGoodsService.getByFormScrappedId(id);
-        if (!CollectionUtils.isEmpty(scrappedGoodsList)) {
-            scrappedExtend.setScrappedGoodsList(scrappedGoodsList);
-        }
-        return scrappedExtend;
-    }
+//    public LWhFormScrappedExtendVO export(Long id, FinSysTenantUser sysInfo) {
+//        LWhFormScrappedExtendVO scrappedExtend = new LWhFormScrappedExtendVO();
+//        //1.鏌ヨ鎶ュ簾鍗�
+//        LWhFormScrapped lWhFormScrapped = this.get(new LWhFormScrapped(id));
+//        if (lWhFormScrapped != null) {
+//            lWhFormScrapped.setDealTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+//            lWhFormScrapped.setOperatorName(sysInfo.getUserName());
+//            BeanUtils.copyProperties(lWhFormScrapped, scrappedExtend);
+//        }
+//        //2.鏌ヨ鎶ュ簾鍗曠墿鍝�
+//        List<LWhFormScrappedGoods> scrappedGoodsList = this.scrappedGoodsService.getByFormScrappedId(id);
+//        if (!CollectionUtils.isEmpty(scrappedGoodsList)) {
+//            scrappedExtend.setScrappedGoodsList(scrappedGoodsList);
+//        }
+//        return scrappedExtend;
+//    }
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java b/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
index af30c9a..32b6f70 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
@@ -192,7 +192,7 @@
         }
         sql.append(QUERY_SCRAPPED_GOODS_END);
         if (goodsModelNum != null) {
-            sql.append(" limit").append(goodsModelNum);
+            sql.append(" limit ").append(goodsModelNum);
         }
         return select(sql.toString(), paramts);
     }

--
Gitblit v1.9.1