From 209d9c6f60d96fc29fad0bd2f9dad8fe8424f91f Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期五, 17 十一月 2023 18:10:47 +0800
Subject: [PATCH] 调拨管理

---
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java       |  178 ++++++-
 consum-base/src/main/java/com/consum/base/pojo/WarehouseManagerInfo.java                   |   19 
 consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java         |  166 ++++---
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java          |   69 +-
 consum-base/src/main/java/com/consum/base/pojo/WarehouseManagerParam.java                  |   21 
 consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java          |   93 +++
 consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantVO.java                |   23 +
 consum-base/src/main/java/com/consum/base/pojo/response/UserVO.java                        |   19 
 consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java            |    3 
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java            |   37 
 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java           |   84 +-
 consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java        |   72 ++
 consum-base/src/main/java/com/consum/base/pojo/query/WarehouseQry.java                     |   35 +
 consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java      |   31 
 consum-base/src/main/java/com/consum/base/pojo/response/DepartmentVO.java                  |   22 +
 consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java         |   64 +-
 consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java          |   20 
 consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java          |   27 
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java            |   17 
 consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java          |   52 ++
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java |   59 ++
 consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java                      |    6 
 consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java     |   83 +++
 consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java            |   11 
 consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java   |   36 +
 consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java        |    7 
 consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java         |    9 
 consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java            |   18 
 consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java                     |    6 
 29 files changed, 958 insertions(+), 329 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
index 241bff7..d03b55d 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java
@@ -11,23 +11,27 @@
 import com.consum.model.po.BaseGoodsModels;
 import com.consum.model.po.BaseGoodsTemplate;
 import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.SDictData;
 import com.consum.model.vo.BaseGoodsTemplateVo;
-import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.compress.utils.Lists;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
-
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.apache.commons.compress.utils.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+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 鐗╁搧妯℃澘
@@ -54,6 +58,10 @@
      */
     @PostMapping("/add")
     public ResponseValue add(@RequestBody BaseGoodsTemplateParam param) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (param.getCategoryId() == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
         if (param.getCategoryId() == null) {
             return ResponseValue.error("鍒嗙被涓虹┖");
         }
@@ -66,7 +74,7 @@
             return ResponseValue.error("鐗╁搧鍚嶇О宸插瓨鍦�");
         }
 
-        int result = this.baseGoodsTemplateService.add(param, this.getCurrentUser());
+        int result = this.baseGoodsTemplateService.add(param, sysInfo);
         if (result > 0) {
             return ResponseValue.success(1);
         }
@@ -80,10 +88,11 @@
      */
     @GetMapping("/list")
     public ResponseValue queryList(BaseGoodsTemplateParam param) {
-        S_user_core currentUser = this.getCurrentUser();
-        if (currentUser == null) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
+        param.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
         GenericPager<BaseGoodsTemplate> pager = this.baseGoodsTemplateService.queryList(param);
         return ResponseValue.success(pager);
     }
@@ -201,8 +210,8 @@
         Map<String, Object> map = new HashMap<>();
         map.put("categoryId", categoryId);
 
-        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(agencyId,(short)1,(short)1);
-        if (CollectionUtils.isEmpty(baseWarehouseList)){
+        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(agencyId, (short) 1, (short) 1);
+        if (CollectionUtils.isEmpty(baseWarehouseList)) {
             return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒");
 
         }
diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
index e8835d4..b1dcd6a 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java
@@ -2,15 +2,26 @@
 
 import com.consum.base.BaseController;
 import com.consum.base.pojo.BaseWarehouseParam;
+import com.consum.base.pojo.query.WarehouseQry;
 import com.consum.base.service.BaseWarehouseServiceImpl;
+import com.consum.base.service.LWhGoodsService;
 import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+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 浠撳簱绠$悊
@@ -23,6 +34,9 @@
 
     @Autowired
     private BaseWarehouseServiceImpl baseWarehouseService;
+    @Autowired
+    private LWhGoodsService lWhGoodsService;
+
 
     /**
      * @Description 鏂板
@@ -50,10 +64,11 @@
      */
     @GetMapping("/list")
     public ResponseValue queryList(BaseWarehouseParam param) {
-//        FinSysTenantUser sysInfo = this.getSysInfo();
-//        if (sysInfo == null) {
-//            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
-//        }
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        param.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
         GenericPager<BaseWarehouse> pager = this.baseWarehouseService.queryList(param);
         return ResponseValue.success(pager);
     }
@@ -135,13 +150,34 @@
 //        if (agencyId == null) {
 //            return ResponseValue.error("鏈烘瀯id涓虹┖");
 //        }
-        List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId,null,null);
+        List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId, null, null);
         if (list == null) {
             return ResponseValue.error("鏌ヨ澶辫触锛�");
         }
         return ResponseValue.success("鏌ヨ鎴愬姛!", list);
     }
 
+    @ApiOperation(value = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨", notes = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "warehouseQry", value = "浠撳簱id鍜屽瀷鍙穒d", required = true, dataType = "WarehouseQry", paramType = "query")
+    })
+    @GetMapping("/select/number")
+    public ResponseValue selectNumber(@Validated WarehouseQry warehouseQry) {
+        Long warehouseId = warehouseQry.getWarehouseId();
+        if (warehouseId == null) {
+            Long agencyId = warehouseQry.getAgencyId();
+            BaseWarehouse defaultWarehouseByAgencyId = this.baseWarehouseService.getDefaultWarehouseByAgencyId(agencyId);
+            warehouseId = defaultWarehouseByAgencyId.getId();
+        }
+        Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId();
+        Integer warehouseType = warehouseQry.getWarehouseType();
+        Integer states = warehouseQry.getStates();
+        Integer buyType = warehouseQry.getBuyType();
+
+        int num = this.lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, buyType);
+        return ResponseValue.success(num);
+    }
+
 
 }
 
diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java
index fad1776..22728e6 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseManagerController.java
@@ -1,10 +1,17 @@
 package com.consum.base.controller;
 
 import com.consum.base.BaseController;
+import com.consum.base.pojo.WarehouseManagerParam;
 import com.consum.base.service.BaseWarehouseManagerServiceImpl;
 import com.consum.model.po.BaseWarehouseManager;
+import com.consum.model.po.FinSysTenantUser;
 import com.walker.web.ResponseValue;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+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.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -15,8 +22,8 @@
  * @Author 鍗㈠簡闃�
  * @Date 2023/10/26
  * <p>
- * todo 搴撶鍛�
  */
+@Api(value = "搴撶鍛�", tags = "搴撶鍛�")
 @RestController
 @RequestMapping("/pc/base/warehouse/manager")
 public class BaseWarehouseManagerController extends BaseController {
@@ -29,13 +36,28 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
-    @PostMapping("/add")
-    public ResponseValue add(@RequestBody BaseWarehouseManager baseWarehouseManager) {
-        int result = this.baseWarehouseManagerService.add(baseWarehouseManager);
-        if (result > 0) {
-            return ResponseValue.success(1);
+    @ApiOperation(value = "鏂板", notes = "鏂板")
+    @ApiImplicitParam(name = "warehouseManagerParam", value = "搴撶鍛樹俊鎭�", required = true, dataType = "WarehouseManagerParam", paramType = "body")
+    @PostMapping("/save")
+    public ResponseValue add(@RequestBody WarehouseManagerParam warehouseManagerParam) throws Exception {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("璇峰厛鐧诲綍");
         }
-        return ResponseValue.error("鏂板澶辫触锛�");
+        this.baseWarehouseManagerService.add(warehouseManagerParam);
+        return ResponseValue.success();
     }
+
+    @ApiOperation(value = "鏌ヨ", notes = "鏌ヨ")
+    @ApiImplicitParam(name = "warehouseId", value = "浠撳簱id", required = true, dataType = "Long")
+    @GetMapping("/list")
+    public ResponseValue select(Long warehouseId) {
+        BaseWarehouseManager baseWarehouseManager = new BaseWarehouseManager();
+        baseWarehouseManager.setBaseWarehouseId(warehouseId);
+        List<BaseWarehouseManager> select = this.baseWarehouseManagerService.select(baseWarehouseManager);
+        return ResponseValue.success(select);
+    }
+
+
 }
 
diff --git a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
index 76d3c26..e57c589 100644
--- a/consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java
@@ -4,22 +4,30 @@
 import com.consum.base.pojo.FinSysTenantDepartmentParam;
 import com.consum.base.service.FinSysTenantDepartmentServiceImpl;
 import com.consum.base.service.FinSysTenantServiceImpl;
-import com.consum.model.po.BaseCategory;
-import com.consum.model.po.FinSysTenant;
 import com.consum.model.po.FinSysTenantDepartment;
 import com.consum.model.po.FinSysTenantUser;
-import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 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;
+import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+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/26
  */
+@Api(value = "閮ㄩ棬绠$悊", tags = "閮ㄩ棬绠$悊")
 @RestController
 @RequestMapping("/pc/fin/sys/tenant/department")
 public class FinSysTenantDepartmentController extends BaseController {
@@ -34,6 +42,10 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
+    @ApiOperation(value = "鏂板", notes = "鏂板")
+    @ApiImplicitParams(value = {
+        @ApiImplicitParam(name = "param", value = "閮ㄩ棬淇℃伅", required = true, dataType = "FinSysTenantDepartmentParam")
+    })
     @PostMapping("/add")
     public ResponseValue add(@RequestBody FinSysTenantDepartmentParam param) {
         if (StringUtils.isEmpty(param.getName())) {
@@ -47,13 +59,15 @@
             return ResponseValue.error("閮ㄩ棬缂栧彿宸插瓨鍦�");
         }
         //鍒ゆ柇鍚屼竴鏈烘瀯id涓� 閮ㄩ棬鍚嶇О 鏄惁閲嶅
-        FinSysTenantDepartment department = this.departmentService.getByNameAndTenantId(param.getName(),param.getTenantId());
+        FinSysTenantDepartment department = this.departmentService.getByNameAndTenantId(param.getName(), param.getTenantId());
         if (department != null) {
             return ResponseValue.error("閮ㄩ棬鍚嶇О宸插瓨鍦�");
         }
 
         int result = this.departmentService.add(param, this.getSysInfo());
-        if (result > 0) return ResponseValue.success(1);
+        if (result > 0) {
+            return ResponseValue.success();
+        }
         return ResponseValue.error("鏂板澶辫触锛�");
     }
 
@@ -71,6 +85,23 @@
         }
         GenericPager<FinSysTenantDepartment> pager = this.departmentService.queryList(param);
         return ResponseValue.success(pager);
+    }
+
+
+    @ApiOperation(value = "鏍规嵁鏈烘瀯id鏌ヨ鎵�鏈夐儴闂ㄥ垪琛ㄤ俊鎭�", notes = "鏍规嵁鏈烘瀯id鏌ヨ鎵�鏈夐儴闂ㄥ垪琛ㄤ俊鎭�")
+    @ApiImplicitParams(value = {
+        @ApiImplicitParam(name = "param", value = "閮ㄩ棬淇℃伅", required = true, dataType = "FinSysTenantDepartmentParam")
+    })
+    @GetMapping("/list/all")
+    public ResponseValue queryAllDepartment(Long tenantId) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
+        finSysTenantDepartment.setTenantId(tenantId);
+        List<FinSysTenantDepartment> finSysTenantDepartments = this.departmentService.select(finSysTenantDepartment);
+        return ResponseValue.success(finSysTenantDepartments);
     }
 
     /**
@@ -94,13 +125,17 @@
         if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-
-        int num = this.departmentService.updateFinSysTenantDepartment(department,sysInfo);
-        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("缂栬緫澶辫触锛�");
+        FinSysTenantDepartment tenantDepartment = this.departmentService.selectByCode(department.getCode());
+        if (tenantDepartment != null) {
+            return ResponseValue.error("閮ㄩ棬缂栧彿宸插瓨鍦�");
+        }
+        int num = this.departmentService.updateFinSysTenantDepartment(department, sysInfo);
+        return num > 0 ? ResponseValue.success() : ResponseValue.error("缂栬緫澶辫触锛�");
     }
 
     /**
      * 鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬璇︽儏
+     *
      * @author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
@@ -110,7 +145,9 @@
             return ResponseValue.error("閮ㄩ棬id涓虹┖");
         }
         FinSysTenantDepartment department = this.departmentService.getById(id);
-        if (department == null) return ResponseValue.error("鏌ヨ澶辫触锛�");
+        if (department == null) {
+            return ResponseValue.error("鏌ヨ澶辫触锛�");
+        }
         return ResponseValue.success("鏌ヨ鎴愬姛!", department);
     }
 
@@ -128,7 +165,7 @@
         if (sysInfo == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-        int num = this.departmentService.updateById(department,sysInfo);
+        int num = this.departmentService.updateById(department, sysInfo);
 
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鍒犻櫎澶辫触锛�");
     }
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 a3f305f..d687248 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
@@ -8,9 +8,15 @@
 import com.consum.base.BaseController;
 import com.consum.base.pojo.FinSysTenantUserSearchParam;
 import com.consum.base.pojo.FinSysTenantUserUpdParam;
+import com.consum.base.pojo.response.DepartmentVO;
+import com.consum.base.pojo.response.FinSysTenantUserVO;
+import com.consum.base.pojo.response.FinSysTenantVO;
+import com.consum.base.pojo.response.UserVO;
+import com.consum.base.service.FinSysTenantDepartmentServiceImpl;
 import com.consum.base.service.FinSysTenantServiceImpl;
 import com.consum.base.service.FinSysTenantUserServiceImpl;
 import com.consum.model.po.FinSysTenant;
+import com.consum.model.po.FinSysTenantDepartment;
 import com.consum.model.po.FinSysTenantUser;
 import com.iplatform.base.ArgumentsConstants;
 import com.iplatform.base.service.DeptServiceImpl;
@@ -23,15 +29,36 @@
 import com.iplatform.model.po.S_role;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
-import com.walker.infrastructure.utils.*;
+import com.walker.infrastructure.utils.CollectionUtils;
+import com.walker.infrastructure.utils.DateUtils;
+import com.walker.infrastructure.utils.NumberGenerator;
+import com.walker.infrastructure.utils.PhoneNumberUtils;
+import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+import org.apache.commons.compress.utils.Lists;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
+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.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.util.*;
 
 /**
  * @Description 绯荤粺鐢ㄦ埛
@@ -54,6 +81,9 @@
 
     private RoleServiceImpl roleService;
 
+    @Autowired
+    private FinSysTenantDepartmentServiceImpl finSysTenantDepartmentService;
+
 
     @Autowired
     public void setUserService(UserServiceImpl userService) {
@@ -63,7 +93,8 @@
     private S_config sConfig;
 
     @Autowired
-    public FinSysTenantUserController(FinSysTenantServiceImpl finSysTenantService, FinSysTenantUserServiceImpl finSysTenantUserService, RoleServiceImpl roleService) {
+    public FinSysTenantUserController(FinSysTenantServiceImpl finSysTenantService, FinSysTenantUserServiceImpl finSysTenantUserService,
+        RoleServiceImpl roleService) {
         this.finSysTenantUserService = finSysTenantUserService;
         this.finSysTenantService = finSysTenantService;
         this.roleService = roleService;
@@ -87,9 +118,11 @@
         }
         GenericPager<FinSysTenantUser> pager = this.finSysTenantUserService.queryAllPageUser(param);
 
+        List<FinSysTenantUserVO> resultList = Lists.newArrayList();
         List<FinSysTenantUser> datas = pager.getDatas();
         if (datas.size() > 0) {
             for (FinSysTenantUser finSysTenantUser : datas) {
+                FinSysTenantUserVO userVO = new FinSysTenantUserVO();
                 if (finSysTenantUser.getUserPhone() != null) {
                     // 瑙e瘑骞惰劚鏁�
                     String tel = null;
@@ -125,7 +158,22 @@
                 } else {
                     finSysTenantUser.setIsSupplier("鍚�");
                 }
+                BeanUtils.copyProperties(finSysTenantUser, userVO);
+                Long sysDeptId = finSysTenantUser.getSysDeptId();
+                FinSysTenantDepartment department = finSysTenantDepartmentService.getById(sysDeptId);
+                if (Objects.nonNull(department)) {
+                    userVO.setSysDeptName(department.getName());
+                }
+                resultList.add(userVO);
             }
+        }
+
+        try {
+            Field fieldDatas = GenericPager.class.getDeclaredField("datas");
+            fieldDatas.setAccessible(true);
+            fieldDatas.set(pager, resultList);
+        } catch (Exception e) {
+            e.printStackTrace();
         }
         return ResponseValue.success(pager);
     }
@@ -159,7 +207,7 @@
         user.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         user.setUpdateBy(this.getCurrentUser().getUser_name());
         //user.setStatus(1);// 0绂佺敤 1鍚敤
-        user.setIsDelete(0);// 鏄惁鍒犻櫎 0鏄� 1鍚�
+        user.setIsDelete(0);
         user.setSysUserId(NumberGenerator.getLongSequenceNumber());
         // 鍔犲瘑鎵嬫満鍙�
         String key = PlatformRSAUtils.AES_KEY;
@@ -168,7 +216,6 @@
             pwdPhone = AESUtils.encryptStrAES(user.getUserPhone(), key);
         }
         user.setUserPhone(pwdPhone);
-        user.setIsDelete(1);
         //鎬庝箞鑾峰彇宸︿晶鏈烘瀯鏍戞暟鎹�
         user.setSysDeptId(3L); //瀵瑰簲骞冲彴鏈烘瀯id  榛樿涓哄钩鍙扮鐞�
         this.finSysTenantUserService.insert(user);
@@ -229,8 +276,8 @@
     }
 
 
+    public static class ImportUserParam {
 
-    public static class ImportUserParam{
         @ExcelProperty("鐢ㄦ埛濮撳悕")
         private String userName;
         @ExcelProperty("鐢ㄦ埛缂栧彿")
@@ -249,42 +296,55 @@
         public String getUserName() {
             return userName;
         }
+
         public void setUserName(String userName) {
             this.userName = userName;
         }
+
         public String getUserCode() {
             return userCode;
         }
+
         public void setUserCode(String userCode) {
             this.userCode = userCode;
         }
+
         public String getUserPhone() {
             return userPhone;
         }
+
         public void setUserPhone(String userPhone) {
             this.userPhone = userPhone;
         }
+
         public Integer getSex() {
             return sex;
         }
+
         public void setSex(Integer sex) {
             this.sex = sex;
         }
+
         public String getEmail() {
             return email;
         }
+
         public void setEmail(String email) {
             this.email = email;
         }
+
         public Long getSeq() {
             return seq;
         }
+
         public void setSeq(Long seq) {
             this.seq = seq;
         }
+
         public String getRoleName() {
             return roleName;
         }
+
         public void setRoleName(String roleName) {
             this.roleName = roleName;
         }
@@ -296,35 +356,35 @@
      * @Date 2023/10/12 15:56
      */
     @PostMapping("/import")
-    public ResponseValue importUser(@RequestParam String tenantId,@RequestParam String tenantCode,MultipartFile file) throws IOException {
+    public ResponseValue importUser(@RequestParam String tenantId, @RequestParam String tenantCode, MultipartFile file) throws IOException {
         String originalFilename = file.getOriginalFilename();
-        if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))){
+        if (!"xls".equals(originalFilename.substring(originalFilename.lastIndexOf(".") + 1))) {
             return ResponseValue.error("鏂囦欢鏍煎紡鏈夎!");
         }
         S_user_core currentUser = this.getCurrentUser();
-        if (currentUser==null){
+        if (currentUser == null) {
             return ResponseValue.error("褰撳墠鐧诲綍鐢ㄦ埛涓虹┖");
         }
 
-        if (StringUtils.isEmpty(tenantId)||StringUtils.isEmpty(tenantCode)){
+        if (StringUtils.isEmpty(tenantId) || StringUtils.isEmpty(tenantCode)) {
             return ResponseValue.error("娣诲姞鏃惰閫夋嫨鍖哄幙");
         }
 
         List<S_role> roles = this.roleService.select(new S_role());
         ArrayList<FinSysTenantUser> finSysTenantUsers = new ArrayList<>();
 
-        EasyExcel.read(file.getInputStream(), ImportUserParam.class, new AnalysisEventListener<ImportUserParam>(){
+        EasyExcel.read(file.getInputStream(), ImportUserParam.class, new AnalysisEventListener<ImportUserParam>() {
             @Override
             public void invoke(ImportUserParam data, AnalysisContext context) {
-                if (StringUtils.isEmpty(data.getUserName()) || StringUtils.isEmpty(data.getUserCode())  || StringUtils.isEmpty(data.getUserPhone()) || null==data.getSex()
-                    || StringUtils.isEmpty(data.getEmail()) || null==data.getSeq() || StringUtils.isEmpty(data.getRoleName())){
+                if (StringUtils.isEmpty(data.getUserName()) || StringUtils.isEmpty(data.getUserCode()) || StringUtils.isEmpty(data.getUserPhone())
+                    || null == data.getSex() || StringUtils.isEmpty(data.getEmail()) || null == data.getSeq() || StringUtils.isEmpty(data.getRoleName())) {
                     throw new ImportUserParamVerifyException("鍗曞厓鏍间笉鑳戒负绌�!");
                 }
                 //鏍规嵁鍛樺伐缂栧彿鏌ヨ锛屽鏋滃瓨鍦ㄥ垯鎻愮ず
-                if ( finSysTenantUserService.getByUserCode(data.getUserCode()) > 0) {
+                if (finSysTenantUserService.getByUserCode(data.getUserCode()) > 0) {
                     throw new ImportUserParamVerifyException("鍛樺伐缂栧彿涓虹┖鎴栧凡瀛樺湪!");
                 }
-                if (data.getSex()<1&&data.getSex()>0){
+                if (data.getSex() < 1 && data.getSex() > 0) {
                     throw new ImportUserParamVerifyException("鎬у埆鐮佸彧鑳戒负 0 鎴� 1");
                 }
                 FinSysTenantUser user = new FinSysTenantUser();
@@ -359,22 +419,26 @@
                 user.setSysDeptId(3L); //瀵瑰簲骞冲彴鏈烘瀯id  榛樿涓哄钩鍙扮鐞�
                 finSysTenantUsers.add(user);
             }
+
             @Override
             public void doAfterAllAnalysed(AnalysisContext context) {
 
             }
+
             @Override
             public void onException(Exception exception, AnalysisContext context) throws Exception {
-                if (exception!=null){
+                if (exception != null) {
                     // 濡傛灉鏄煇涓�涓崟鍏冩牸鐨勮浆鎹㈠紓甯� 鑳借幏鍙栧埌鍏蜂綋琛屽彿 灏佽鏃跺紓甯�
                     if (exception instanceof ExcelDataConvertException) {
-                        ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception;
-                        logger.error("绗瑊}琛岋紝绗瑊}鍒楄В鏋愬紓甯革紝鏁版嵁涓�:{}",excelDataConvertException.getRowIndex(),
-                                excelDataConvertException.getColumnIndex()+1, excelDataConvertException.getCellData().getStringValue());
-                        throw new IllegalStateException("绗�"+(excelDataConvertException.getRowIndex()+1)+"琛岋紝绗�"+(excelDataConvertException.getColumnIndex()+1)+"鍒楄В鏋愬紓甯革紝寮傚父鏁版嵁涓�:[ "+excelDataConvertException.getCellData().getStringValue()+" ]");
+                        ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException) exception;
+                        logger.error("绗瑊}琛岋紝绗瑊}鍒楄В鏋愬紓甯革紝鏁版嵁涓�:{}", excelDataConvertException.getRowIndex(), excelDataConvertException.getColumnIndex() + 1,
+                            excelDataConvertException.getCellData().getStringValue());
+                        throw new IllegalStateException(
+                            "绗�" + (excelDataConvertException.getRowIndex() + 1) + "琛岋紝绗�" + (excelDataConvertException.getColumnIndex() + 1) + "鍒楄В鏋愬紓甯革紝寮傚父鏁版嵁涓�:[ "
+                                + excelDataConvertException.getCellData().getStringValue() + " ]");
                     }
-                    if (exception instanceof ImportUserParamVerifyException){
-                        throw new IllegalStateException("绗�"+context.readSheetHolder().getRowIndex()+"琛�, 瑙f瀽閿欒:[ "+ exception.getMessage()+" ]");
+                    if (exception instanceof ImportUserParamVerifyException) {
+                        throw new IllegalStateException("绗�" + context.readSheetHolder().getRowIndex() + "琛�, 瑙f瀽閿欒:[ " + exception.getMessage() + " ]");
                     }
                     throw exception;
                 }
@@ -390,7 +454,7 @@
      * 鎵归噺鎻掑叆鐢ㄦ埛琛ㄥ拰骞冲彴鐢ㄦ埛琛�
      */
     @Transactional(rollbackFor = Exception.class)
-    public void insertUserAndUserCoreBatch(List<FinSysTenantUser> finSysTenantUsers){
+    public void insertUserAndUserCoreBatch(List<FinSysTenantUser> finSysTenantUsers) {
         ArrayList<S_user_core> sUserCores = new ArrayList<>();
         for (FinSysTenantUser user : finSysTenantUsers) {
             // 鎻掑叆骞冲彴鐢ㄦ埛
@@ -447,9 +511,15 @@
         this.finSysTenantUserService.execInsertRoleUserList(finSysTenantUsers);
     }
 
-    public static class ImportUserParamVerifyException extends RuntimeException{
-        public ImportUserParamVerifyException(){super();}
-        public ImportUserParamVerifyException(String message){super(message);}
+    public static class ImportUserParamVerifyException extends RuntimeException {
+
+        public ImportUserParamVerifyException() {
+            super();
+        }
+
+        public ImportUserParamVerifyException(String message) {
+            super(message);
+        }
     }
 
 
@@ -593,8 +663,7 @@
     }
 
     /**
-     * 寰楀埌 褰撳墠鐧诲綍鐢ㄦ埛鐨勪俊鎭�
-     * 澧炲姞 鐖剁被鏈烘瀯鐨刢ode
+     * 寰楀埌 褰撳墠鐧诲綍鐢ㄦ埛鐨勪俊鎭� 澧炲姞 鐖剁被鏈烘瀯鐨刢ode
      *
      * @param
      * @return
@@ -875,4 +944,51 @@
         // 2. 淇敼骞冲彴鐢ㄦ埛锛堜笉鐢ㄤ慨鏀癸級
         return ResponseValue.success(1);
     }
+
+    @ApiOperation(value = "鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬涓殑鐢ㄦ埛", notes = "鏍规嵁鏈烘瀯id鏌ヨ閮ㄩ棬涓殑鐢ㄦ埛")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "agencyId", value = "鏈烘瀯id", required = true, dataType = "Long", paramType = "query")
+    })
+    @GetMapping("/select/department")
+    public ResponseValue selectDepartment(Long agencyId) {
+        FinSysTenantVO finSysTenantVO = new FinSysTenantVO();
+
+        FinSysTenant finSysTenant = new FinSysTenant();
+        finSysTenant.setId(agencyId);
+        FinSysTenant sysTenant = finSysTenantService.select(finSysTenant).get(0);
+        finSysTenantVO.setId(sysTenant.getId());
+        finSysTenantVO.setName(sysTenant.getName());
+        finSysTenantVO.setType("tenant");
+        // 閮ㄩ棬
+        FinSysTenantDepartment finSysTenantDepartment = new FinSysTenantDepartment();
+        finSysTenantDepartment.setTenantId(agencyId);
+        List<FinSysTenantDepartment> tenantDepartmentList = finSysTenantDepartmentService.select(finSysTenantDepartment);
+        List<DepartmentVO> departmentVOList = Lists.newArrayList();
+        tenantDepartmentList.forEach(department -> {
+            DepartmentVO departmentVO = new DepartmentVO();
+            //鐢ㄦ埛
+            Long id = department.getId();
+            departmentVO.setId(id);
+            departmentVO.setName(department.getName());
+            departmentVO.setType("department");
+            FinSysTenantUser finSysTenantUser = new FinSysTenantUser();
+            finSysTenantUser.setSysDeptId(id);
+            List<FinSysTenantUser> tenantUserList = finSysTenantUserService.select(finSysTenantUser);
+            List<UserVO> userVOList = Lists.newArrayList();
+            tenantUserList.forEach(user -> {
+                UserVO userVO = new UserVO();
+                userVO.setId(user.getId());
+                userVO.setName(user.getUserName());
+                userVO.setType("user");
+                userVOList.add(userVO);
+            });
+            departmentVO.setChildren(userVOList);
+            departmentVOList.add(departmentVO);
+        });
+        finSysTenantVO.setChildren(departmentVOList);
+
+        return ResponseValue.success(finSysTenantVO);
+    }
+
+
 }
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
index 4d66964..ca0024f 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
@@ -15,6 +15,7 @@
 import com.consum.base.service.LWhFormOutputServiceImpl;
 import com.consum.base.service.LWhGoodsService;
 import com.consum.base.service.LWhProcureModelService;
+import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.LWhFormOutput;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
@@ -91,7 +92,12 @@
         if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-
+        /*褰撳墠鐧诲綍浜哄彧鑳界湅鍒拌嚜宸辨満鏋勪笅鐨勫垪琛�*/
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        String tenantId = sysInfo.getTenantId();
+        if (param.getAgencyId() == null) {
+            param.setAgencyId(Long.valueOf(tenantId));
+        }
         GenericPager genericPager = lWhFormOutputService.queryFormOutputList(param);
         List<LWhFormOutput> data = genericPager.getDatas();
 
@@ -175,24 +181,7 @@
         return ResponseValue.success("鏌ヨ鎴愬姛!", lWhFormOutputExtendVO);
     }
 
-    /**
-     * @Description 鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨
-     * @Author 鍗㈠簡闃�
-     * @Date 2023/11/2
-     */
-    @ApiOperation(value = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨", notes = "鏍规嵁浠撳簱id鍜屽瀷鍙穒d 鏌ヨ搴撳瓨")
-    @ApiImplicitParams({
-        @ApiImplicitParam(name = "warehouseId", value = "浠撳簱id", required = true, dataType = "Long", paramType = "query"),
-        @ApiImplicitParam(name = "baseGoodsModelsId", value = "鍨嬪彿id", required = true, dataType = "Long", paramType = "query")
-    })
-    @GetMapping("/select/number")
-    public ResponseValue selectNumber(Long warehouseId, Long baseGoodsModelsId) {
-        if (warehouseId == null || baseGoodsModelsId == null) {
-            return ResponseValue.error("鍙傛暟閿欒");
-        }
-        int num = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, (short) 1, null);
-        return ResponseValue.success(num);
-    }
+
 
     @ApiOperation(value = "鏌ヨ鍑哄簱鍗曡鎯呮槑缁�", notes = "鏌ヨ鍑哄簱鍗曡鎯呮槑缁�")
     @ApiImplicitParam(name = "formOutputQry", value = "鍑哄簱鍗曡鎯呮煡璇㈡潯浠�", required = true, dataType = "LWhFormOutputQry", paramType = "query")
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 b3e027c..8796c3f 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
@@ -139,7 +139,7 @@
                 }
                 String modelName = (String) tempGoodsInfo.get("modelname");
                 // 鏌ヨ鍨嬪彿搴撳瓨
-                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, (short) 1, null);
+                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
                 LWhProcureModel model = new LWhProcureModel();
                 model.setId(NumberGenerator.getLongSequenceNumber());
                 model.setFromProcureGoodsId(fromProcureGoodsId);
@@ -202,7 +202,12 @@
         if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-
+        /*褰撳墠鐧诲綍浜哄彧鑳界湅鍒拌嚜宸辨満鏋勪笅鐨勫垪琛�*/
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        String tenantId = sysInfo.getTenantId();
+        if (param.getAgencyId() == null) {
+            param.setAgencyId(Long.valueOf(tenantId));
+        }
         GenericPager genericPager = lWhFormProcureService.queryFormProcureList(param);
         List<LWhFormProcure> data = genericPager.getDatas();
         ArrayList<FormProcureVO> result = new ArrayList<>();
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 9527206..cc8c3f9 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
@@ -4,14 +4,30 @@
 import com.consum.base.core.utils.IdUtil;
 import com.consum.base.core.utils.MapUtils;
 import com.consum.base.core.utils.MapperUtil;
-import com.consum.base.pojo.*;
+import com.consum.base.pojo.LWhFormTransferGoodsInfoParam;
+import com.consum.base.pojo.LWhFormTransferParam;
+import com.consum.base.pojo.ProcureModelInfoDto;
+import com.consum.base.pojo.UseRecordDto;
+import com.consum.base.pojo.UseRecordSkuDto;
 import com.consum.base.pojo.query.TransferQry;
 import com.consum.base.pojo.response.FormTransferVO;
 import com.consum.base.pojo.response.FromTransferTemplateInfoVO;
 import com.consum.base.pojo.response.LWHFromTransferExtendVO;
 import com.consum.base.pojo.response.TransferInfoVO;
-import com.consum.base.service.*;
-import com.consum.model.po.*;
+import com.consum.base.service.BaseGoodsModelsServiceImpl;
+import com.consum.base.service.BaseWarehouseServiceImpl;
+import com.consum.base.service.LWhFormTransferCoreService;
+import com.consum.base.service.LWhFormTransferServiceImpl;
+import com.consum.base.service.LWhProcureModelService;
+import com.consum.base.service.LWhProcureModelUserRecordServiceImpl;
+import com.consum.base.service.LWhProcureModelUserServiceImpl;
+import com.consum.model.po.BaseGoodsModels;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LWhFormTransfer;
+import com.consum.model.po.LWhProcureModel;
+import com.consum.model.po.LWhProcureModelUser;
+import com.consum.model.po.LWhProcureModelUserRecord;
 import com.consum.model.vo.LWhFormOutputVo;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
@@ -22,16 +38,19 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-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.*;
-
 import java.lang.reflect.Field;
 import java.util.ArrayList;
 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;
+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 璋冩嫧绠$悊
@@ -40,7 +59,7 @@
  */
 @RestController
 @RequestMapping("/pc/l/wh/form/transfer")
-@Api(tags = "璋冩嫧鍒嗗彂绠$悊")
+@Api(value = "璋冩嫧鍒嗗彂绠$悊", tags = "璋冩嫧鍒嗗彂绠$悊")
 public class LWhFormTransferController extends BaseController {
 
     @Autowired
@@ -57,6 +76,7 @@
     private BaseGoodsModelsServiceImpl baseGoodsModelsService;
     @Autowired
     private BaseWarehouseServiceImpl baseWarehouseService;
+
     /**
      * @Description 鏂板
      */
@@ -100,7 +120,7 @@
         if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-
+        /*褰撳墠鐧诲綍浜哄彧鑳界湅鍒拌嚜宸辨満鏋勪笅鐨勫垪琛�*/
         GenericPager genericPager = lWhFormTransferService.queryFormTransferList(param);
         List<LWhFormTransfer> datas = genericPager.getDatas();
         ArrayList<FormTransferVO> result = new ArrayList<>();
@@ -192,6 +212,21 @@
         return ResponseValue.success(vo);
     }
 
+    @ApiOperation(value = "璋冩嫧鏄庣粏鍒楄〃", notes = "璋冩嫧鏄庣粏鍒楄〃")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "param", value = "鏉′欢", required = true, dataType = "TransferQry"),
+    })
+    @GetMapping("/detail/list")
+    public ResponseValue queryFormTransferDetailList(TransferQry param) {
+        FinSysTenantUser sysInfo = this.getSysInfo();
+        if (sysInfo == null) {
+            return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
+        }
+        GenericPager<Map<String, Object>> mapGenericPager = lWhFormTransferService.queryFormTransferDetailList(param);
+
+        return ResponseValue.success(mapGenericPager);
+    }
+
     /**
      * 鎾ら攢
      *
@@ -242,7 +277,7 @@
         FinSysTenantUser sysTenantUser = this.getSysInfo();
         String agencyId = sysTenantUser.getTenantId();
         List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(Long.valueOf(agencyId), (short) 1, (short) 1);
-        if (CollectionUtils.isEmpty(baseWarehouseList)){
+        if (CollectionUtils.isEmpty(baseWarehouseList)) {
             return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒");
         }
         BaseWarehouse baseWarehouse = baseWarehouseList.get(0);
@@ -404,6 +439,21 @@
     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";
         return ResponseValue.success(transferInfoVO);
     }
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java b/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java
index 9fadc2b..c72318d 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/FinSysTenantDepartmentParam.java
@@ -1,8 +1,11 @@
 package com.consum.base.pojo;
 
 import com.walker.web.param.ParamRequest;
+import io.swagger.annotations.ApiModel;
 
+@ApiModel(value = "FinSysTenantDepartmentParam")
 public class FinSysTenantDepartmentParam extends ParamRequest {
+
     /**
      * id
      */
diff --git a/consum-base/src/main/java/com/consum/base/pojo/WarehouseManagerInfo.java b/consum-base/src/main/java/com/consum/base/pojo/WarehouseManagerInfo.java
new file mode 100644
index 0000000..c19366b
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/WarehouseManagerInfo.java
@@ -0,0 +1,19 @@
+package com.consum.base.pojo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 搴撶鍛樹俊鎭�
+ * @date 2023/11/17 13:07
+ */
+@Data
+@ApiModel(value = "搴撶鍛樹俊鎭�")
+public class WarehouseManagerInfo {
+
+    private Long managerId;
+    private String managerName;
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/WarehouseManagerParam.java b/consum-base/src/main/java/com/consum/base/pojo/WarehouseManagerParam.java
new file mode 100644
index 0000000..4deb6ce
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/WarehouseManagerParam.java
@@ -0,0 +1,21 @@
+package com.consum.base.pojo;
+
+import io.swagger.annotations.ApiModel;
+import java.util.List;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 搴撶鍛樹俊鎭�
+ * @date 2023/11/17 13:05
+ */
+@Data
+@ApiModel(value = "搴撶鍛樹俊鎭�")
+public class WarehouseManagerParam {
+
+    private Long warehouseId;
+
+    List<WarehouseManagerInfo> warehouseManagerInfoList;
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java b/consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java
index dc008b1..f3b3c06 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java
@@ -36,9 +36,9 @@
     @ApiModelProperty(value = "鎺ユ敹鏈烘瀯")
     private Long inAgencyId;
     /**
-     * 鐘舵�� 0=寰呭嚭搴擄紱1=寰呮帴鏀讹紱2=宸插叆搴�
+     * 鐘舵�� 0=寰呭嚭搴擄紱1=寰呮帴鏀讹紱2=宸插叆搴撳簱:4=宸叉挙閿�
      */
-    @ApiModelProperty(value = "鐘舵�� 0=寰呭嚭搴擄紱1=寰呮帴鏀讹紱2=宸插叆搴�")
+    @ApiModelProperty(value = "鐘舵�� 0=寰呭嚭搴擄紱1=寰呮帴鏀讹紱2=宸插叆搴撳簱:4=宸叉挙閿�")
     private Short states;
     /**
      * 鍒涘缓浜�/鍒嗗彂浜�
@@ -70,7 +70,7 @@
      * 瑙勬牸鍨嬪彿id
      */
     @ApiModelProperty(value = "瑙勬牸鍨嬪彿id")
-    private Long baseGoodsTemplateId;
+    private Long baseGoodsModelsId;
 
     /**
      * 椤电爜
diff --git a/consum-base/src/main/java/com/consum/base/pojo/query/WarehouseQry.java b/consum-base/src/main/java/com/consum/base/pojo/query/WarehouseQry.java
new file mode 100644
index 0000000..c3a28f7
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/query/WarehouseQry.java
@@ -0,0 +1,35 @@
+package com.consum.base.pojo.query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import javax.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 搴撳瓨鏌ヨ鏉′欢
+ * @date 2023/11/16 10:18
+ */
+@Data
+@ApiModel(value = "搴撳瓨鏌ヨ鏉′欢")
+public class WarehouseQry {
+
+    @ApiModelProperty(value = "浠撳簱id")
+    private Long warehouseId;
+    @ApiModelProperty(value = "鍟嗗搧鍨嬪彿id")
+    @NotNull(message = "鍟嗗搧鍨嬪彿id涓嶈兘涓虹┖")
+    private Long baseGoodsModelsId;
+    //浠撳簱绫诲瀷 0鏈烘瀯1閮ㄩ棬
+    @ApiModelProperty(value = "浠撳簱绫诲瀷 0鏈烘瀯1閮ㄩ棬")
+    private Integer warehouseType;
+    //锛�0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛�
+    @ApiModelProperty(value = "锛�0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛�")
+    private Integer states;
+    //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
+    @ApiModelProperty(value = "閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�")
+    private Integer buyType;
+    @ApiModelProperty(value = "鏈烘瀯id")
+    private Long agencyId;
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/DepartmentVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/DepartmentVO.java
new file mode 100644
index 0000000..e9eb47a
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/DepartmentVO.java
@@ -0,0 +1,22 @@
+package com.consum.base.pojo.response;
+
+import java.util.ArrayList;
+import java.util.List;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: TODO
+ * @date 2023/11/16 16:57
+ */
+@Data
+public class DepartmentVO {
+
+    private Long id;
+    private String name;
+    private String type;
+    private List<UserVO> children = new ArrayList<>();
+
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java
new file mode 100644
index 0000000..df9b90c
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantUserVO.java
@@ -0,0 +1,18 @@
+package com.consum.base.pojo.response;
+
+import com.consum.model.po.FinSysTenantUser;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鏈烘瀯鐢ㄦ埛淇℃伅
+ * @date 2023/11/16 15:46
+ */
+@Data
+@ApiModel(value = "FinSysTenantUserVO", description = "鏈烘瀯鐢ㄦ埛淇℃伅")
+public class FinSysTenantUserVO extends FinSysTenantUser {
+
+    private String sysDeptName;
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantVO.java
new file mode 100644
index 0000000..57187a9
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FinSysTenantVO.java
@@ -0,0 +1,23 @@
+package com.consum.base.pojo.response;
+
+import java.util.ArrayList;
+import java.util.List;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鏈烘瀯
+ * @date 2023/11/16 16:56
+ */
+@Data
+public class FinSysTenantVO {
+
+    private Long id;
+    private String name;
+    //tenant department user
+    private String type;
+    private List<DepartmentVO> children = new ArrayList<>();
+
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/UserVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/UserVO.java
new file mode 100644
index 0000000..01c7945
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/UserVO.java
@@ -0,0 +1,19 @@
+package com.consum.base.pojo.response;
+
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: TODO
+ * @date 2023/11/16 16:57
+ */
+@Data
+public class UserVO {
+
+    private Long id;
+    private String name;
+    private String type;
+
+
+}
\ No newline at end of file
diff --git a/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java
index 81a2cde..7db3e79 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseGoodsTemplateServiceImpl.java
@@ -2,11 +2,12 @@
 
 import com.consum.base.Constants;
 import com.consum.base.core.CodeGeneratorService;
-import com.consum.base.pojo.BaseGoodsTemplateParam;
 import com.consum.base.core.utils.IdUtil;
+import com.consum.base.pojo.BaseGoodsTemplateParam;
 import com.consum.model.po.BaseCategory;
 import com.consum.model.po.BaseGoodsModels;
 import com.consum.model.po.BaseGoodsTemplate;
+import com.consum.model.po.FinSysTenantUser;
 import com.consum.model.po.SDictData;
 import com.consum.model.vo.BaseGoodsTemplateVo;
 import com.iplatform.model.po.S_user_core;
@@ -62,7 +63,7 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/24
      */
-    public int add(BaseGoodsTemplateParam param, S_user_core currentUser) {
+    public int add(BaseGoodsTemplateParam param, FinSysTenantUser currentUser) {
         //1.鏂板鐗╁搧妯℃澘
         BaseGoodsTemplate baseGoodsTemplate = new BaseGoodsTemplate();
         BeanUtils.copyProperties(param, baseGoodsTemplate);
@@ -84,7 +85,9 @@
         //褰撳墠鏈烘瀯鐨勭埗绾ф満鏋勭紪鍙�
         //鏈烘瀯灞傜骇
         //鏈烘瀯缂栧彿
+        baseGoodsTemplate.setAgencyId(Long.valueOf(currentUser.getTenantId()));
         //鏈烘瀯鍚嶇О
+        baseGoodsTemplate.setAgencyName(currentUser.getTenantName());
         //鍒涘缓鏃堕棿
         long createTime = DateUtils.getDateTimeNumber(System.currentTimeMillis());
         baseGoodsTemplate.setCreateDate(createTime);
diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java
index 180efd4..6ad2ed7 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseManagerServiceImpl.java
@@ -1,9 +1,19 @@
 package com.consum.base.service;
 
 import com.consum.base.core.utils.IdUtil;
+import com.consum.base.pojo.WarehouseManagerInfo;
+import com.consum.base.pojo.WarehouseManagerParam;
 import com.consum.model.po.BaseWarehouseManager;
+import com.consum.model.po.FinSysTenantUser;
+import com.iplatform.model.po.S_role;
+import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @Description 鐗╁搧鍒嗙被
@@ -13,13 +23,80 @@
 @Service
 public class BaseWarehouseManagerServiceImpl extends BaseServiceImpl {
 
+    @Autowired
+    private FinSysTenantUserServiceImpl finSysTenantUserService;
+
     /**
      * @Description 鏂板
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
-    public int add(BaseWarehouseManager baseWarehouseManager) {
-        baseWarehouseManager.setId(IdUtil.generateId());
-        return this.insert(baseWarehouseManager);
+    @Transactional(rollbackFor = Exception.class)
+    public void add(WarehouseManagerParam list) throws Exception {
+
+        Long warehouseId = list.getWarehouseId();
+
+        // 瑙掕壊id
+        Long roleId = null;
+        List<S_role> roleAll = finSysTenantUserService.getRoleAll();
+        if (!CollectionUtils.isEmpty(roleAll)) {
+            S_role sRole = roleAll.stream().filter(item -> item.getRole_name().equals("浠撳簱绠$悊鍛�")).findFirst().orElse(null);
+            if (sRole != null) {
+                roleId = sRole.getRole_id();
+            }
+        }
+
+        // 鍒犻櫎瑙掕壊
+        BaseWarehouseManager warehouseManager = new BaseWarehouseManager();
+        warehouseManager.setBaseWarehouseId(warehouseId);
+        List<BaseWarehouseManager> baseWarehouseManagerList = this.select(warehouseManager);
+        String deleteRoleSql = "DELETE FROM S_ROLE_USER WHERE USER_ID =:managerId AND role_id =:roleId";
+        for (BaseWarehouseManager item : baseWarehouseManagerList) {
+            Long managerId = item.getManagerId();
+            FinSysTenantUser finSysTenantUser = finSysTenantUserService.queryOneById(String.valueOf(managerId));
+            if (finSysTenantUser == null) {
+                throw new Exception("鐢ㄦ埛涓嶅瓨鍦�");
+            }
+            Map<String, Object> params = new HashMap<>();
+            params.put("managerId", finSysTenantUser.getSysUserId());
+            params.put("roleId", roleId);
+            this.execute(deleteRoleSql, params);
+        }
+
+        //鍒犻櫎搴撶璁板綍
+        String sql = "delete from base_warehouse_manager where base_warehouse_id =:warehouseId";
+        Map<String, Object> params = new HashMap<>();
+        params.put("warehouseId", warehouseId);
+        this.execute(sql, params);
+        //閲嶆柊淇濆瓨
+        List<WarehouseManagerInfo> warehouseManagerInfoList = list.getWarehouseManagerInfoList();
+        if (!CollectionUtils.isEmpty(warehouseManagerInfoList)) {
+            for (WarehouseManagerInfo warehouseManagerInfo : warehouseManagerInfoList) {
+                Long managerId = warehouseManagerInfo.getManagerId();
+                String managerName = warehouseManagerInfo.getManagerName();
+                BaseWarehouseManager baseWarehouseManager = new BaseWarehouseManager();
+                baseWarehouseManager.setId(IdUtil.generateId());
+                baseWarehouseManager.setBaseWarehouseId(warehouseId);
+                baseWarehouseManager.setManagerId(managerId);
+                baseWarehouseManager.setManagerName(managerName);
+                this.insert(baseWarehouseManager);
+
+                FinSysTenantUser finSysTenantUser = finSysTenantUserService.queryOneById(String.valueOf(managerId));
+                if (finSysTenantUser == null) {
+                    throw new Exception("鐢ㄦ埛涓嶅瓨鍦�");
+                }
+                Long sysUserId = finSysTenantUser.getSysUserId();
+                String saveUserRole = "insert into s_role_user(user_id, role_id, org_id) values(:managerId,:roleId,0)";
+                Map<String, Object> userRoleParam = new HashMap<>();
+                userRoleParam.put("managerId", sysUserId);
+                userRoleParam.put("roleId", roleId);
+                this.execute(saveUserRole, userRoleParam);
+//                this.finSysTenantUserService.execInsertRoleUserList(roleList, sysUserId);
+
+            }
+        }
+
     }
+
+
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java
index a52006d..618e9b6 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java
@@ -69,7 +69,6 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
-//    public GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param, FinSysTenantUser sysInfo) {
     public GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param) {
         StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
@@ -85,12 +84,10 @@
             paramts.put("CLASSIFICATION_CODE", param.getClassificationCode());
         }
         //鏈烘瀯id
-//        sql.append(" and AGENCY_ID =:AGENCY_ID ");
-//        if (param.getAgencyId() != null) {
-//            paramts.put("AGENCY_ID", param.getAgencyId());
-//        } else {
-//            paramts.put("AGENCY_ID", Long.valueOf(sysInfo.getTenantId()));
-//        }
+        if (param.getAgencyId() != null) {
+            sql.append(" and AGENCY_ID =:AGENCY_ID ");
+            paramts.put("AGENCY_ID", param.getAgencyId());
+        }
         //鐘舵��
         if (param.getStates() != null) {
             sql.append(" and states =:states ");
diff --git a/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java
index 037b2f0..b802998 100644
--- a/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java
@@ -10,44 +10,46 @@
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import org.springframework.stereotype.Service;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import org.springframework.stereotype.Service;
 
 @Service
 public class FinSysTenantUserServiceImpl extends BaseServiceImpl {
 
-    private static final String SQL_GET_USER = "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 1 AND `STATUS` = 1 AND TENANT_ID = ?";
-    private static final String SQL_QH_PAGE_USER_PREFIX = "select fstu.* from FIN_SYS_TENANT_USER fstu where fstu.IS_DELETE = 1 ";
-    private static final String SQL_QH_PAGE_USER_PREFIX_NEW = "select fstu.* from FIN_SYS_TENANT_USER fstu where IS_DELETE = 1 and status=1  ";
-    private static final String SQL_TENANT_USER = "select fstu.*, fst.TENANT_NAME, fst.LV from FIN_SYS_TENANT_USER fstu\n" +
-            "left join (SELECT CODE, NAME AS TENANT_NAME, LV FROM FIN_SYS_TENANT) fst ON fstu.TENANT_CODE = fst.CODE\n" +
-            "where fstu.SYS_USER_ID = ?";
+    private static final String SQL_GET_USER = "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 0 AND `STATUS` = 1 AND TENANT_ID = ?";
+    private static final String SQL_QH_PAGE_USER_PREFIX = "select fstu.* from FIN_SYS_TENANT_USER fstu where fstu.IS_DELETE = 0 ";
+    private static final String SQL_QH_PAGE_USER_PREFIX_NEW = "select fstu.* from FIN_SYS_TENANT_USER fstu where IS_DELETE = 0 and status=1  ";
+    private static final String SQL_TENANT_USER = "select fstu.*, fst.TENANT_NAME, fst.LV from FIN_SYS_TENANT_USER fstu\n"
+        + "left join (SELECT CODE, NAME AS TENANT_NAME, LV FROM FIN_SYS_TENANT) fst ON fstu.TENANT_CODE = fst.CODE\n" + "where fstu.SYS_USER_ID = ?";
     private static final String SQL_TENANT_USER_BY_USER_ID = "select * from FIN_SYS_TENANT_USER where SYS_USER_ID = ? AND STATUS = 1";
-    private static final String SQL_INSERT_ROLE_USER="insert into s_role_user(user_id, role_id, org_id) values(?,?,0)";
+    private static final String SQL_INSERT_ROLE_USER = "insert into s_role_user(user_id, role_id, org_id) values(?,?,0)";
 
-    private static final String SQL_DELETE_ROLE_USER="DELETE FROM S_ROLE_USER WHERE USER_ID =?";
+    private static final String SQL_DELETE_ROLE_USER = "DELETE FROM S_ROLE_USER WHERE USER_ID =?";
 
-    private static final String SQL_SELECT_USER_CODE="SELECT * FROM FIN_SYS_TENANT_USER  where  1 = 1 ";
+    /**
+     * 鏍规嵁鐢ㄦ埛id鍜岃鑹瞚d鍒犻櫎瑙掕壊
+     */
+    private static final String SQL_DELETE_ROLE_BY_USER_ID_AND_ROLE_ID = "DELETE FROM S_ROLE_USER WHERE USER_ID =? AND role_id =?";
 
-    private static final String SQL_SELECT_USER_ID="SELECT * FROM S_ROLE where 1=1 ";
+    private static final String SQL_SELECT_USER_CODE = "SELECT * FROM FIN_SYS_TENANT_USER  where  1 = 1 ";
+
+    private static final String SQL_SELECT_USER_ID = "SELECT * FROM S_ROLE where 1=1 ";
     private static final String SQL_DEPT_ROLES = "select * from s_dept where  status=0 and del_flag=0";
 
     private static final String SQL_FIN_SYS_ORG = "SELECT * from FIN_SYS_ORG where ID=?";
 
 
-    private static final String SQL_TENANT_KF_USER = "select fstu.*, sru.USER_ID from FIN_SYS_TENANT_USER fstu\n" +
-            "left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = '1690961420053') sru ON fstu.SYS_USER_ID = sru.USER_ID\n" +
-            "WHERE IS_DELETE = 1 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND TENANT_CODE = ?";
+    private static final String SQL_TENANT_KF_USER = "select fstu.*, sru.USER_ID from FIN_SYS_TENANT_USER fstu\n"
+        + "left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = '1690961420053') sru ON fstu.SYS_USER_ID = sru.USER_ID\n"
+        + "WHERE IS_DELETE = 0 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND TENANT_CODE = ?";
 
-    private static final String SQL_TEAM_KF_USER = "select fstu.*, sru.USER_ID,FST2.CODE as PARENT_Code from FIN_SYS_TENANT_USER fstu\n" +
-            " left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = 2) sru ON fstu.SYS_USER_ID = sru.USER_ID\n" +
-            " LEFT JOIN FIN_SYS_TENANT FST ON FST.CODE = fstu.TENANT_CODE \n" +
-            " LEFT JOIN FIN_SYS_TENANT FST2 ON FST2.ID = FST.PARENT_ID \n" +
-            "            WHERE IS_DELETE = 1 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND fstu.ID != ?";
+    private static final String SQL_TEAM_KF_USER = "select fstu.*, sru.USER_ID,FST2.CODE as PARENT_Code from FIN_SYS_TENANT_USER fstu\n"
+        + " left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = 2) sru ON fstu.SYS_USER_ID = sru.USER_ID\n"
+        + " LEFT JOIN FIN_SYS_TENANT FST ON FST.CODE = fstu.TENANT_CODE \n" + " LEFT JOIN FIN_SYS_TENANT FST2 ON FST2.ID = FST.PARENT_ID \n"
+        + "            WHERE IS_DELETE = 0 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND fstu.ID != ?";
 
     /**
      * @Description 鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛
@@ -57,19 +59,19 @@
     public GenericPager<FinSysTenantUser> queryAllPageUser(FinSysTenantUserSearchParam param) {
         Map<String, Object> parameter = new HashMap<>(5);
         StringBuilder sql = new StringBuilder(SQL_QH_PAGE_USER_PREFIX);
-        if(param.getTenantCode() > 0){
+        if (param.getTenantCode() > 0) {
             sql.append(" and fstu.TENANT_CODE =:tenantCode");
             parameter.put("tenantCode", param.getTenantCode());
         }
-        if(param.getSupplierId() !=null  ){
+        if (param.getSupplierId() != null) {
             sql.append(" and fstu.supplier_Id =:supplier_Id");
             parameter.put("supplier_Id", param.getSupplierId());
         }
-        if(StringUtils.isNotEmpty(param.getUserName())){
+        if (StringUtils.isNotEmpty(param.getUserName())) {
             sql.append(" and USER_NAME like :userName");
             parameter.put("userName", StringUtils.CHAR_PERCENT + param.getUserName() + StringUtils.CHAR_PERCENT);
         }
-        if(StringUtils.isNotEmpty(param.getUserCode())){
+        if (StringUtils.isNotEmpty(param.getUserCode())) {
             sql.append(" and USER_CODE like :USER_CODE");
             parameter.put("USER_CODE", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT);
         }
@@ -77,7 +79,7 @@
 //            sql.append(" and user_code like :user_code");
 //            parameter.put("user_code", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT);
 //        }
-        if(param.getStatus()!=null){
+        if (param.getStatus() != null) {
             sql.append(" and status =:status");
             parameter.put("status", param.getStatus());
         }
@@ -87,8 +89,7 @@
 //            parameter.put("role_id", param.getRoleId());
 //        }
 
-
-        if(StringUtils.isNotEmpty(param.getUserPhone())){
+        if (StringUtils.isNotEmpty(param.getUserPhone())) {
             sql.append(" and USER_PHONE =:userPhone");
             try {
                 // 鍔犲瘑鎵嬫満鍙�
@@ -101,15 +102,15 @@
         }
 
         // 杩欓噷鏄�夋嫨浜哄憳鍔犵殑
-        if(param.getType()!=null){
-                // 1 鏄储鏀跨敤鎴�  2 渚涘簲鍟�  浠栦咯鐨勫尯鍒氨鏄� 渚涘簲鍟唅d鏄惁涓虹┖
-               if(param.getType()==1){
-                   sql.append(" and  fstu.supplier_Id is  null  ");
-               }
+        if (param.getType() != null) {
+            // 1 鏄储鏀跨敤鎴�  2 渚涘簲鍟�  浠栦咯鐨勫尯鍒氨鏄� 渚涘簲鍟唅d鏄惁涓虹┖
+            if (param.getType() == 1) {
+                sql.append(" and  fstu.supplier_Id is  null  ");
+            }
 
-               if(param.getType()==2){
-                      //杩欓噷鏄� 鏌ョ殑渚涘簲鍟�   渚涘簲鍟唅d 宸茬粡鍦ㄤ笂闈㈠姞杩囦簡
-               }
+            if (param.getType() == 2) {
+                //杩欓噷鏄� 鏌ョ殑渚涘簲鍟�   渚涘簲鍟唅d 宸茬粡鍦ㄤ笂闈㈠姞杩囦簡
+            }
         }
         // 缁戝畾CTI瀹㈡湇
         if (param.getCtiStatus() != null) {
@@ -124,7 +125,6 @@
     }
 
 
-
     /**
      * @Description 鍒嗛〉鏌ヨ绯荤粺鐢ㄦ埛
      * @Author wh
@@ -133,34 +133,33 @@
     public GenericPager<FinSysTenantUser> queryAllPageUserNew(FinSysTenantUserSearchParam param) {
         Map<String, Object> parameter = new HashMap<>(5);
         StringBuilder sql = new StringBuilder(SQL_QH_PAGE_USER_PREFIX_NEW);
-        if(param.getTenantCode() > 0){
+        if (param.getTenantCode() > 0) {
             sql.append(" and fstu.TENANT_CODE =:tenantCode");
             parameter.put("tenantCode", param.getTenantCode());
         }
-        if(param.getSupplierId() !=null  ){
+        if (param.getSupplierId() != null) {
             sql.append(" and fstu.supplier_Id =:supplier_Id");
             parameter.put("supplier_Id", param.getSupplierId());
         }
-        if(StringUtils.isNotEmpty(param.getUserName())){
+        if (StringUtils.isNotEmpty(param.getUserName())) {
             sql.append(" and USER_NAME like :userName");
             parameter.put("userName", StringUtils.CHAR_PERCENT + param.getUserName() + StringUtils.CHAR_PERCENT);
         }
-        if(StringUtils.isNotEmpty(param.getUserCode())){
+        if (StringUtils.isNotEmpty(param.getUserCode())) {
             sql.append(" and user_code like :user_code");
             parameter.put("user_code", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT);
         }
-        if(param.getStatus()!=null){
+        if (param.getStatus() != null) {
             sql.append(" and status like :status");
             parameter.put("status", param.getStatus());
         }
 
-        if(param.getRoleId()!=null &&!param.getRoleId().equals("")){
+        if (param.getRoleId() != null && !param.getRoleId().equals("")) {
             sql.append(" and fstu.SYS_USER_ID  in  (select  user_id    from s_role_user where role_id = :role_id)");
             parameter.put("role_id", param.getRoleId());
         }
 
-
-        if(StringUtils.isNotEmpty(param.getUserPhone())){
+        if (StringUtils.isNotEmpty(param.getUserPhone())) {
             sql.append(" and USER_PHONE =:userPhone");
             try {
                 // 鍔犲瘑鎵嬫満鍙�
@@ -173,13 +172,13 @@
         }
 
         // 杩欓噷鏄�夋嫨浜哄憳鍔犵殑
-        if(param.getType()!=null){
+        if (param.getType() != null) {
             // 1 鏄储鏀跨敤鎴�  2 渚涘簲鍟�  浠栦咯鐨勫尯鍒氨鏄� 渚涘簲鍟唅d鏄惁涓虹┖
-            if(param.getType()==1){
+            if (param.getType() == 1) {
                 sql.append(" and  fstu.supplier_Id is  null  ");
             }
 
-            if(param.getType()==2){
+            if (param.getType() == 2) {
                 //杩欓噷鏄� 鏌ョ殑渚涘簲鍟�   渚涘簲鍟唅d 宸茬粡鍦ㄤ笂闈㈠姞杩囦簡
             }
         }
@@ -191,7 +190,7 @@
         FinSysTenantUser finSysTenantUser = new FinSysTenantUser();
         finSysTenantUser.setId(Long.valueOf(id));
         List<FinSysTenantUser> finSysTenantUserList = this.select(finSysTenantUser);
-        if(!StringUtils.isEmptyList(finSysTenantUserList)){
+        if (!StringUtils.isEmptyList(finSysTenantUserList)) {
             return finSysTenantUserList.get(0);
         }
         return null;
@@ -208,13 +207,14 @@
 
     /**
      * 鎵归噺娣诲姞瑙掕壊瀵瑰簲鐨勭敤鎴枫��
+     *
      * @param roleIdList
      * @param userId
      */
-    public void execInsertRoleUserList(List<Long> roleIdList, Long userId){
+    public void execInsertRoleUserList(List<Long> roleIdList, Long userId) {
         List<Object[]> parameters = new ArrayList<>();
         Object[] one = null;
-        for(long roleId : roleIdList){
+        for (long roleId : roleIdList) {
             one = new Object[2];
             one[0] = userId;
             one[1] = roleId;
@@ -226,11 +226,11 @@
     /**
      * 鎵归噺娣诲姞瑙掕壊瀵瑰簲鐨勭敤鎴枫�傛敮鎸佸悓鏃跺涓敤鎴�
      */
-    public void execInsertRoleUserList(List<FinSysTenantUser> finSysTenantUsers){
+    public void execInsertRoleUserList(List<FinSysTenantUser> finSysTenantUsers) {
         List<Object[]> parameters = new ArrayList<>();
         for (FinSysTenantUser finSysTenantUser : finSysTenantUsers) {
             Object[] one = null;
-            for(long roleId : finSysTenantUser.getRoleList()){
+            for (long roleId : finSysTenantUser.getRoleList()) {
                 one = new Object[2];
                 one[0] = finSysTenantUser.getSysUserId();
                 one[1] = roleId;
@@ -243,42 +243,59 @@
 
     /**
      * 鎵归噺鍒犻櫎鐢ㄦ埛瑙掕壊
+     *
      * @param userId
      */
-    public void execDelRoleUserList(Long userId){
+    public void execDelRoleUserList(Long userId) {
         List<Object[]> parameters = new ArrayList<>();
         Object[] one = new Object[1];
-        one[0]=userId;
+        one[0] = userId;
         parameters.add(one);
         this.execBatchUpdate(SQL_DELETE_ROLE_USER, parameters);
+    }
+
+    /**
+     * 鏍规嵁鐢ㄦ埛id鍜岃鑹瞚d鍒犻櫎鐢ㄦ埛瑙掕壊
+     *
+     * @param userId
+     */
+    public void execDeleteRoleByUserIdAndRoleId(Long userId, Long roleId) {
+        List<Object[]> parameters = new ArrayList<>();
+        Object[] one = new Object[2];
+        one[0] = userId;
+        one[1] = roleId;
+        parameters.add(one);
+        this.execBatchUpdate(SQL_DELETE_ROLE_BY_USER_ID_AND_ROLE_ID, parameters);
     }
 
 
     /**
      * 鏍规嵁userCode鏌ヨ閲嶅銆�
-     * @param userCode  鐢ㄦ埛鐧诲綍鏍囪瘑
+     *
+     * @param userCode 鐢ㄦ埛鐧诲綍鏍囪瘑
      * @return
      */
-    public Integer getByUserCode(String userCode){
+    public Integer getByUserCode(String userCode) {
         Map<String, Object> parameter = new HashMap<>();
         StringBuilder sql = new StringBuilder(SQL_SELECT_USER_CODE);
         sql.append("and  USER_CODE= :userCode");
         parameter.put("userCode", userCode);
         sql.append(" limit 1");
         List<FinSysTenantUser> select = this.select(sql.toString(), parameter, new FinSysTenantUser());
-        Integer flag=0;
-        if (select!=null && select.size() >0){
-            flag=select.size();
+        Integer flag = 0;
+        if (select != null && select.size() > 0) {
+            flag = select.size();
         }
         return flag;
     }
 
     /**
      * 鏍规嵁USERID鏌ヨ瑙掕壊
+     *
      * @param userId
      * @return
      */
-    public List<S_role> getByUserId(Long userId){
+    public List<S_role> getByUserId(Long userId) {
         Map<String, Object> parameter = new HashMap<>();
         StringBuilder sql = new StringBuilder(SQL_SELECT_USER_ID);
         sql.append("and ROLE_ID IN (SELECT DISTINCT(ROLE_ID) FROM S_ROLE_USER WHERE USER_ID= :userId )");
@@ -287,11 +304,23 @@
         return select;
     }
 
+    /**
+     * 鏌ヨ鎵�鏈夎鑹插垪琛�
+     *
+     * @return
+     */
+    public List<S_role> getRoleAll() {
+        Map<String, Object> parameter = new HashMap<>();
+        StringBuilder sql = new StringBuilder(SQL_SELECT_USER_ID);
+        List<S_role> select = this.select(sql.toString(), parameter, new S_role());
+        return select;
+    }
+
     public List<S_dept> selectDept(String deptName) {
-        StringBuilder sqlStr=new StringBuilder(SQL_DEPT_ROLES);
+        StringBuilder sqlStr = new StringBuilder(SQL_DEPT_ROLES);
         Map<String, Object> paramts = new HashMap<>();
         sqlStr.append(" and dept_name =:dept_name");
-        paramts.put("dept_name",deptName);
+        paramts.put("dept_name", deptName);
         List<S_dept> orgDeptList = this.select(sqlStr.toString(), paramts, new S_dept());
         return orgDeptList;
     }
@@ -328,6 +357,7 @@
 
     /**
      * 鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯
+     *
      * @param orgId
      * @return
      */
@@ -345,15 +375,15 @@
         }
     }
 
-    private static final String SQL_GET_ALL_USER = "select DISTINCT( fstu.sys_user_id), fstu.USER_NAME as USER_Name, fstu.id as Id from (\n" +
-            "SELECT DISTINCT(CREATE_BY), EVENT_MANAGE_ID FROM FIN_EVENT_MANAGE_RECORD) femr LEFT JOIN FIN_SYS_TENANT_USER fstu ON femr.CREATE_BY = fstu.ID\n" +
-            "LEFT JOIN FIN_EVENT_MANAGE fem ON fem.id = femr.EVENT_MANAGE_ID WHERE USER_NAME is not NULL ";
+    private static final String SQL_GET_ALL_USER = "select DISTINCT( fstu.sys_user_id), fstu.USER_NAME as USER_Name, fstu.id as Id from (\n"
+        + "SELECT DISTINCT(CREATE_BY), EVENT_MANAGE_ID FROM FIN_EVENT_MANAGE_RECORD) femr LEFT JOIN FIN_SYS_TENANT_USER fstu ON femr.CREATE_BY = fstu.ID\n"
+        + "LEFT JOIN FIN_EVENT_MANAGE fem ON fem.id = femr.EVENT_MANAGE_ID WHERE USER_NAME is not NULL ";
 
     /**
      * @Description 鏌ヨ鏁版嵁缁熻鐨勪俊鎭�
      * @Author wh
      * @Date 2023/9/5 11:53
-     * */
+     */
     public List<FinSysTenantUser> getStatics(FinSysTenantUserSearchParam finSysTenantUserSearchParam) {
         Map<String, Object> parameters = new HashMap<>(10);
         StringBuilder sql = new StringBuilder(SQL_GET_ALL_USER);
@@ -363,11 +393,11 @@
             sql.append(" and fstu.USER_NAME like :userName");
             parameters.put("userName", StringUtils.CHAR_PERCENT + finSysTenantUserSearchParam.getUserName() + StringUtils.CHAR_PERCENT);
         }
-        if(finSysTenantUserSearchParam.getStartTime() != null && finSysTenantUserSearchParam.getStartTime() > 0){
+        if (finSysTenantUserSearchParam.getStartTime() != null && finSysTenantUserSearchParam.getStartTime() > 0) {
             sql.append(" and fem.create_time >= :startTime");
             parameters.put("startTime", finSysTenantUserSearchParam.getStartTime());
         }
-        if(finSysTenantUserSearchParam.getEndTime() != null && finSysTenantUserSearchParam.getEndTime() > 0){
+        if (finSysTenantUserSearchParam.getEndTime() != null && finSysTenantUserSearchParam.getEndTime() > 0) {
             sql.append(" and fem.create_time <= :endTime");
             parameters.put("endTime", finSysTenantUserSearchParam.getEndTime());
         }
diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
index a44e229..5f65e91 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
@@ -1,9 +1,16 @@
 package com.consum.base.service;
 
 import com.consum.base.core.utils.LockManage;
-import com.consum.model.po.*;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.LWarehouseFlow;
+import com.consum.model.po.LWhFormProcure;
+import com.consum.model.po.LWhGoodsRecord;
+import com.consum.model.po.LWhProcureModel;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.NumberGenerator;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -12,13 +19,8 @@
 import org.springframework.jdbc.core.simple.SimpleJdbcCall;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
 /**
  * @ClassName LWarehouseFlowService
-
  * @Date 2023/10/24
  * @Description
  * @Version 1.0
@@ -35,7 +37,8 @@
     private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
 
     @Autowired
-    public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) {
+    public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService,
+        BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) {
         this.jdbcTemplate = jdbcTemplate;
         this.lWarehouseFlowService = lWarehouseFlowService;
         this.baseGoodsTemplateService = baseGoodsTemplateService;
@@ -79,11 +82,11 @@
 
         //缁熻鍚勫瀷鍙锋暟閲�
         Map<Long, Integer> countsSumByBaseGoodsModelsId = goodsModelNumList.stream()
-                .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId,
-                        Collectors.summingInt(LWhProcureModel::getCounts)));
+            .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId,
+                Collectors.summingInt(LWhProcureModel::getCounts)));
         Map<Long, List<LWhProcureModel>> sameModelList = goodsModelNumList.stream()
-                // 鎸夊瀷鍙峰垎
-                .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId));
+            // 鎸夊瀷鍙峰垎
+            .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId));
         countsSumByBaseGoodsModelsId.forEach((baseGoodsModelsId, modelCount) -> {
             //鏌ヨ鍨嬪彿淇℃伅
             Map<String, Object> tempGoodsInfo = baseGoodsTemplateService.queryGoodsInfoByModelId(baseGoodsModelsId);
@@ -118,7 +121,7 @@
             Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId);
             synchronized (warehouseModelLockObj) {
                 // 鑾峰緱閿佸悗鏌ヨ璇ュ瀷鍙风殑鏈熷垵鏁伴噺
-                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, (short) 1, null);
+                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, null);
                 whGoodsRecord.setInitialCount(goodsModelNum);
                 whGoodsRecord.setThisCount(modelCount);
                 whGoodsRecord.setEndCount(goodsModelNum + modelCount);
@@ -135,8 +138,8 @@
                     Integer counts = item.getCounts();
                     totalPrice = totalPrice + counts*price;
                     sameGoodsInsertMore(warehouseFlowId, warehouseType, warehouseId, whGoodsRecordId, (short) 1, warehouseName,
-                            classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName,
-                            supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts);
+                        classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName,
+                        supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts);
                 };
                 whGoodsRecord.setTotalPrice(totalPrice);
             }
@@ -148,9 +151,7 @@
 
 
     /**
-     * 鍚屾牱瑙勬牸鐨勭墿鍝� 鎻掑叆澶氭锛�
-     * 鍚屾椂灏嗕富閿褰曞湪 杩涘嚭搴撴祦姘存槑缁嗐�怢_WH_GOODS_RECORD_DETAILS銆�,
-     * 鏇存柊 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆�
+     * 鍚屾牱瑙勬牸鐨勭墿鍝� 鎻掑叆澶氭锛� 鍚屾椂灏嗕富閿褰曞湪 杩涘嚭搴撴祦姘存槑缁嗐�怢_WH_GOODS_RECORD_DETAILS銆�, 鏇存柊 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆�
      *
      * @param pWarehouseId         浠撳簱id
      * @param pWarehouseName       浠撳簱鍚嶇О
@@ -167,31 +168,32 @@
      * @param pStates              鐘舵��
      * @param pTimes               鎻掑叆鏉℃暟
      */
-    public void sameGoodsInsertMore(long pWarehouseFlowId, Integer warehouseType, long pWarehouseId, long pWhGoodsRecordId, short pRecordType, String pWarehouseName, short pCostType,
-                                    long pBaseGoodsTemplateId, String pGoodsTemplateName, long pBaseGoodsModelsId,
-                                    String pBaseGoodsModelsName, String pSupplier, short pBuyType,
-                                    String pUnit, long pPrice, long pProcureDate,
-                                    int pStates, long pDealTime, int pTimes) {
+    public void sameGoodsInsertMore(long pWarehouseFlowId, Integer warehouseType, long pWarehouseId, long pWhGoodsRecordId, short pRecordType,
+        String pWarehouseName, short pCostType,
+        long pBaseGoodsTemplateId, String pGoodsTemplateName, long pBaseGoodsModelsId,
+        String pBaseGoodsModelsName, String pSupplier, short pBuyType,
+        String pUnit, long pPrice, long pProcureDate,
+        int pStates, long pDealTime, int pTimes) {
         SqlParameterSource in = new MapSqlParameterSource()
-                .addValue("p_WAREHOUSE_FLOW_ID", pWarehouseFlowId)
-                .addValue("p_WAREHOUSE_TYPE", warehouseType)
-                .addValue("p_WAREHOUSE_ID", pWarehouseId)
-                .addValue("p_WH_GOODS_RECORD_ID", pWhGoodsRecordId)
-                .addValue("p_RECORD_TYPE", pRecordType)
-                .addValue("p_WAREHOUSE_NAME", pWarehouseName)
-                .addValue("p_COST_TYPE", pCostType)
-                .addValue("p_BASE_GOODS_TEMPLATE_ID", pBaseGoodsTemplateId)
-                .addValue("p_GOODS_TEMPLATE_NAME", pGoodsTemplateName)
-                .addValue("p_BASE_GOODS_MODELS_ID", pBaseGoodsModelsId)
-                .addValue("p_BASE_GOODS_MODELS_NAME", pBaseGoodsModelsName)
-                .addValue("p_SUPPLIER", pSupplier)
-                .addValue("p_BUY_TYPE", pBuyType)
-                .addValue("p_UNIT", pUnit)
-                .addValue("p_PRICE", pPrice)
-                .addValue("p_PROCURE_DATE", pProcureDate)
-                .addValue("p_STATES", pStates)
-                .addValue("p_DEAL_TIME", pDealTime)
-                .addValue("p_times", pTimes);
+            .addValue("p_WAREHOUSE_FLOW_ID", pWarehouseFlowId)
+            .addValue("p_WAREHOUSE_TYPE", warehouseType)
+            .addValue("p_WAREHOUSE_ID", pWarehouseId)
+            .addValue("p_WH_GOODS_RECORD_ID", pWhGoodsRecordId)
+            .addValue("p_RECORD_TYPE", pRecordType)
+            .addValue("p_WAREHOUSE_NAME", pWarehouseName)
+            .addValue("p_COST_TYPE", pCostType)
+            .addValue("p_BASE_GOODS_TEMPLATE_ID", pBaseGoodsTemplateId)
+            .addValue("p_GOODS_TEMPLATE_NAME", pGoodsTemplateName)
+            .addValue("p_BASE_GOODS_MODELS_ID", pBaseGoodsModelsId)
+            .addValue("p_BASE_GOODS_MODELS_NAME", pBaseGoodsModelsName)
+            .addValue("p_SUPPLIER", pSupplier)
+            .addValue("p_BUY_TYPE", pBuyType)
+            .addValue("p_UNIT", pUnit)
+            .addValue("p_PRICE", pPrice)
+            .addValue("p_PROCURE_DATE", pProcureDate)
+            .addValue("p_STATES", pStates)
+            .addValue("p_DEAL_TIME", pDealTime)
+            .addValue("p_times", pTimes);
         Map<String, Object> out = simpleJdbcCall.execute(in);
         System.out.println("Procedure result: " + out);
     }
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java
index 4c670d9..62796d9 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryCoreService.java
@@ -4,9 +4,21 @@
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.WhBusinessEnum;
 import com.consum.base.core.utils.IdUtil;
-import com.consum.model.po.*;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LWhFormInventory;
+import com.consum.model.po.LWhFormInventoryGoods;
+import com.consum.model.po.LWhFormOutput;
+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.infrastructure.utils.NumberGenerator;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -14,15 +26,8 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
 /**
  * @ClassName LWhFormInventoryCoreService
-
  * @Date 2023/11/1
  * @Description
  * @Version 1.0
@@ -30,6 +35,7 @@
 @Slf4j
 @Service
 public class LWhFormInventoryCoreService {
+
     private LWhFormInventoryGoodsServiceImpl lWhFormInventoryGoods;
     private LWhFormOutputCoreService lWhFormOutputCoreService;
     private CodeGeneratorService codeGeneratorService;
@@ -45,17 +51,17 @@
 
     @Autowired
     public LWhFormInventoryCoreService(LWhFormInventoryGoodsServiceImpl lWhFormInventoryGoods,
-                                       LWhFormOutputCoreService lWhFormOutputCoreService,
-                                       CodeGeneratorService codeGeneratorService,
-                                       LWhFormProcureService lWhFormProcureService,
-                                       BaseWarehouseServiceImpl baseWarehouseService,
-                                       LWhFormProcureGoodsService lWhFormProcureGoodsService,
-                                       LWhProcureModelService lWhProcureModelService,
-                                       BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
-                                       LWhGoodsService lWhGoodsService,
-                                       LWhFormInventoryServiceImpl lWhFormInventoryService,
-                                       LWhFormProcureCoreService lWhFormProcureCoreService,
-                                       LWhFormOutputServiceImpl lWhFormOutputService
+        LWhFormOutputCoreService lWhFormOutputCoreService,
+        CodeGeneratorService codeGeneratorService,
+        LWhFormProcureService lWhFormProcureService,
+        BaseWarehouseServiceImpl baseWarehouseService,
+        LWhFormProcureGoodsService lWhFormProcureGoodsService,
+        LWhProcureModelService lWhProcureModelService,
+        BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
+        LWhGoodsService lWhGoodsService,
+        LWhFormInventoryServiceImpl lWhFormInventoryService,
+        LWhFormProcureCoreService lWhFormProcureCoreService,
+        LWhFormOutputServiceImpl lWhFormOutputService
 
     ) {
         this.lWhFormInventoryGoods = lWhFormInventoryGoods;
@@ -73,12 +79,10 @@
     }
 
     /**
-     * 鏍规嵁 鐩樼偣鍗� 鐢熸垚 鍑哄簱鍗� 鍜� 鍏ュ簱鍗�
-     * 鐩樼偣鍗曚腑 鐩樼泩鐗╁搧鐢熸垚鍏ュ簱鍗曪紝鐩樹簭鐢熸垚鍑哄簱鍗�
+     * 鏍规嵁 鐩樼偣鍗� 鐢熸垚 鍑哄簱鍗� 鍜� 鍏ュ簱鍗� 鐩樼偣鍗曚腑 鐩樼泩鐗╁搧鐢熸垚鍏ュ簱鍗曪紝鐩樹簭鐢熸垚鍑哄簱鍗�
      *
      * @param whformInventoryId 鐩樼偣鍗昳d
-     * @return status true/false
-     * errMsg 閿欒娑堟伅
+     * @return status true/false errMsg 閿欒娑堟伅
      */
     @Transactional(rollbackFor = Exception.class)
     public String createInOutFormByInventoryId(Long whformInventoryId, S_user_core currentUser, FinSysTenantUser sysInfo) {
@@ -100,8 +104,8 @@
             return "娌℃湁鎵惧埌鐩樼偣鍗曠粨鏋滅墿鍝�";
         }
         Map<Integer, List<LWhFormInventoryGoods>> inventoryGoodsMap = lWhFormInventoryGoods.stream()
-                .filter(goods -> goods.getInventoryResult() == 2 || goods.getInventoryResult() == 3)
-                .collect(Collectors.groupingBy(LWhFormInventoryGoods::getInventoryResult));
+            .filter(goods -> goods.getInventoryResult() == 2 || goods.getInventoryResult() == 3)
+            .collect(Collectors.groupingBy(LWhFormInventoryGoods::getInventoryResult));
         if (CollectionUtils.isEmpty(lWhFormInventoryGoods)) {
 //            rtnMap.put("status", true);
             return null;
@@ -152,7 +156,7 @@
                 inOutMap.putAll(ckMap);
                 Long lWhFormOutputId = (Long) inOutMap.get("outId");
                 //2.鏍规嵁鍑哄簱鍗曞嚭搴�
-                Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(lWhFormOutputId,WhBusinessEnum.CAIGOU, currentUser, stopTime);
+                Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(lWhFormOutputId, WhBusinessEnum.CAIGOU, currentUser, stopTime);
                 if (lWarehouseFlowId == null) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 //                    throw new RuntimeException("鍒涘缓鍑哄簱鍗曞け璐�");
@@ -183,7 +187,7 @@
      * @param currentUser
      */
     private Map<String, Object> createInFormByInventoryId(Long warehouseId, Long procureTime, List<LWhFormInventoryGoods> inventoryGoodsList,
-                                                          S_user_core currentUser) {
+        S_user_core currentUser) {
         if (CollectionUtils.isEmpty(inventoryGoodsList)) {
             return null;
         }
@@ -233,7 +237,7 @@
                 continue;
             }
             // 鏌ヨ鍨嬪彿搴撳瓨
-            int goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, (short) 1, null);
+            int goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
             LWhProcureModel model = new LWhProcureModel();
             model.setId(NumberGenerator.getLongSequenceNumber());
             model.setFromProcureGoodsId(fromProcureGoodsId);
@@ -264,7 +268,7 @@
      * @param currentUser
      */
     private Map<String, Object> createOutFormByInventoryId(Long warehouseId, Long procureTime, List<LWhFormInventoryGoods> inventoryGoodsList,
-                                                           S_user_core currentUser, FinSysTenantUser sysInfo) {
+        S_user_core currentUser, FinSysTenantUser sysInfo) {
         if (CollectionUtils.isEmpty(inventoryGoodsList)) {
             return null;
         }
@@ -304,7 +308,7 @@
                 continue;
             }
             //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-            int goodsNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, (short) 1, null);
+            int goodsNum = lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
             //鏂板L_WH_PROCURE_MODEL璁板綍
             LWhProcureModel lWhProcureModel = new LWhProcureModel();
             lWhProcureModel.setId(IdUtil.generateId());
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
index c1bfa39..c74b9a0 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
@@ -5,18 +5,21 @@
 import com.consum.base.core.WhBusinessEnum;
 import com.consum.base.core.param.BaseWarehouseParam1;
 import com.consum.base.core.utils.LockManage;
-import com.consum.model.po.*;
+import com.consum.model.po.LWarehouseFlow;
+import com.consum.model.po.LWhFormOutput;
+import com.consum.model.po.LWhFormTransfer;
+import com.consum.model.po.LWhGoodsRecord;
+import com.consum.model.po.LWhProcureModel;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.NumberGenerator;
+import java.util.List;
+import java.util.Map;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
-
-import java.util.List;
-import java.util.Map;
 
 /**
  * @ClassName WhFormOutputCoreService
@@ -40,13 +43,13 @@
 
     @Autowired
     public LWhFormOutputCoreService(BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
-                                    LWhGoodsService lWhGoodsService,
-                                    CodeGeneratorService codeGeneratorService,
-                                    LWhProcureModelService lWhProcureModelService,
-                                    LWhFormOutputService lWhFormOutputService,
-                                    LWarehouseFlowService lWarehouseFlowService,
-                                    LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
-                                    LWhGoodsRecordService lWhGoodsRecordService) {
+        LWhGoodsService lWhGoodsService,
+        CodeGeneratorService codeGeneratorService,
+        LWhProcureModelService lWhProcureModelService,
+        LWhFormOutputService lWhFormOutputService,
+        LWarehouseFlowService lWarehouseFlowService,
+        LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
+        LWhGoodsRecordService lWhGoodsRecordService) {
         this.baseGoodsTemplateService = baseGoodsTemplateService;
         this.lWhGoodsService = lWhGoodsService;
         this.codeGeneratorService = codeGeneratorService;
@@ -146,7 +149,7 @@
      * @return 娴佹按璁板綍鎬昏〃ID
      */
     @Transactional(rollbackFor = Exception.class)
-    public Long outFormByTransId(Long outWarehouseFormId,WhBusinessEnum businessType, S_user_core currentUser, Long dealTime) {
+    public Long outFormByTransId(Long outWarehouseFormId, WhBusinessEnum businessType, S_user_core currentUser, Long dealTime) {
         if (outWarehouseFormId == null) {
             return null;
         }
@@ -179,9 +182,9 @@
         long lWarehouseFlowBusinessId = outWarehouseFormId;
 
         // 鐗╁搧鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛�
-        short queryModelStatusT = 1;
+        Integer queryModelStatusT = 1;
         //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
-        Short buyTypeT = null;
+        Integer buyTypeT = null;
         Integer modGoodsTransferingStatusT = null;
         String outputCode = lWhFormOutput.getOutputCode();
         if ((BaseWarehouseParam1.In_OutPutTypeEnum.Transfer_Output.getValue() + "").equals(outputCode)) {
@@ -199,8 +202,8 @@
             buyTypeT = null;
             modGoodsTransferingStatusT = 4;
         }
-        short queryModelStatus = queryModelStatusT;
-        Short buyType = buyTypeT;
+        Integer queryModelStatus = queryModelStatusT;
+        Integer buyType = buyTypeT;
         Integer modGoodsTransferingStatus = modGoodsTransferingStatusT;
 
         goodsModelNumList.forEach(itemModelInfo -> {
@@ -255,7 +258,7 @@
 
                 //鍑哄簱鏃跺�欙紝鎸� 鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱
                 outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType,
-                        counts);
+                    counts);
                 lWhGoodsService.modGoodsTransfering(outGoodsId, inWarehouseType, inWarehouseId, inWarehouseName, modGoodsTransferingStatus);
                 // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS]
                 lWhGoodsRecordDetailsService.sameGoodsInsertMore(outGoodsId, whGoodsRecordId, (short) 0);
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
index 7e814b6..aebbe2f 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
@@ -10,20 +10,23 @@
 import com.consum.base.pojo.LWFormsOutputGoodsModelParam;
 import com.consum.base.pojo.LWhFormOutputParam;
 import com.consum.base.pojo.query.LWhFormOutputQry;
-import com.consum.model.po.*;
+import com.consum.model.po.BaseGoodsModels;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LWhFormOutput;
+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.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 /**
  * @Description 鍑哄簱鍗�
@@ -103,7 +106,7 @@
                 }
                 lWhProcureModel.setCounts(model.getCounts());
                 //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), (short) 1, null);
+                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), 1, null);
                 lWhProcureModel.setWorehouseCount(goodsNum);
                 modelList.add(lWhProcureModel);
             }
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 d8c4a0c..fc83d65 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
@@ -2,26 +2,34 @@
 
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
-import com.consum.base.core.utils.MapRowMapper;
-import com.consum.base.pojo.*;
 import com.consum.base.core.utils.IdUtil;
-import com.consum.model.po.*;
+import com.consum.base.core.utils.MapRowMapper;
+import com.consum.base.pojo.LWhFormScrappedExtend;
+import com.consum.base.pojo.LWhFormScrappedGoodsParams;
+import com.consum.base.pojo.LWhFormScrappedParam;
+import com.consum.model.po.BaseGoodsModels;
+import com.consum.model.po.BaseGoodsTemplate;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantDepartment;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LWhFormScrapped;
+import com.consum.model.po.LWhFormScrappedGoods;
+import com.consum.model.po.SDictData;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
-import org.springframework.util.CollectionUtils;
-
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.CollectionUtils;
 
 /**
  * @Description 鎶ュ簾鍗�
@@ -30,6 +38,7 @@
  */
 @Service
 public class LWhFormScrappedServiceImpl extends BaseServiceImpl {
+
     @Autowired
     private CodeGeneratorService codeGeneratorService;
     @Autowired
@@ -52,21 +61,21 @@
     private static String QUERY_LIST = "SELECT * FROM l_wh_form_scrapped 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 ";
+        "       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 ";
 
     /**
      * 鏂板
      *
      * @param param
-     * @param currentUser  褰撳墠鐧诲綍鐢ㄦ埛
-     * @param sysInfo      褰撳墠鐧诲綍鐢ㄦ埛
+     * @param currentUser 褰撳墠鐧诲綍鐢ㄦ埛
+     * @param sysInfo     褰撳墠鐧诲綍鐢ㄦ埛
      * @return
      */
     //1.鏂板鎶ュ簾鍗�
@@ -133,7 +142,7 @@
             LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
             scrappedGoods.setId(IdUtil.generateId());
             //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-            int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, scrappedGoods.getBaseGoodsModelsId(), (short) 1, null);
+            int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, scrappedGoods.getBaseGoodsModelsId(), 1, null);
             if (params.getCounts() > goodsNum) {
                 log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺");
                 return 0;
@@ -175,7 +184,7 @@
     }
 
     /**
-     * @Description  鍒楄〃鏌ヨ
+     * @Description 鍒楄〃鏌ヨ
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/2
      */
@@ -189,15 +198,16 @@
         }
         //鐗╁搧鍚嶇О
         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 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)");
             paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
         }
         //鏈烘瀯
         sql.append(" and AGENCY_ID like :agencyId ");
-        if (param.getAgencyId() != null){
-            paramts.put("agencyId",  param.getAgencyId() + StringUtils.CHAR_PERCENT);
+        if (param.getAgencyId() != null) {
+            paramts.put("agencyId", param.getAgencyId() + StringUtils.CHAR_PERCENT);
         } else {
-            paramts.put("agencyId",  sysInfo.getTenantId() + StringUtils.CHAR_PERCENT);
+            paramts.put("agencyId", sysInfo.getTenantId() + StringUtils.CHAR_PERCENT);
         }
         //鎶ュ簾鏃堕棿
         if (param.getDealTimeStart() != null) {
@@ -215,7 +225,7 @@
     }
 
     /**
-     * @Description  鏍规嵁id鏌ヨ璇︽儏
+     * @Description 鏍规嵁id鏌ヨ璇︽儏
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/2
      */
@@ -224,7 +234,7 @@
         //1.鏌ヨ鎶ュ簾鍗�
         LWhFormScrapped lWhFormScrapped = this.get(new LWhFormScrapped(id));
         if (lWhFormScrapped != null) {
-            BeanUtils.copyProperties(lWhFormScrapped,scrappedExtend);
+            BeanUtils.copyProperties(lWhFormScrapped, scrappedExtend);
         }
         //2.鏌ヨ鎶ュ簾鍗�
         List<LWhFormScrappedGoods> scrappedGoodsList = this.scrappedGoodsService.getByFormScrappedId(id);
@@ -236,6 +246,7 @@
 
     /**
      * 鎶ュ簾鏄庣粏
+     *
      * @param param
      * @return
      */
@@ -288,7 +299,7 @@
 
 
     /**
-     * @Description  瀵煎嚭鎶ュ簾鐧昏鍗�
+     * @Description 瀵煎嚭鎶ュ簾鐧昏鍗�
      * @Author 鍗㈠簡闃�
      * @Date 2023/11/2
      */
@@ -299,7 +310,7 @@
         if (lWhFormScrapped != null) {
             lWhFormScrapped.setDealTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
             lWhFormScrapped.setOperatorName(sysInfo.getUserName());
-            BeanUtils.copyProperties(lWhFormScrapped,scrappedExtend);
+            BeanUtils.copyProperties(lWhFormScrapped, scrappedExtend);
         }
         //2.鏌ヨ鎶ュ簾鍗曠墿鍝�
         List<LWhFormScrappedGoods> scrappedGoodsList = this.scrappedGoodsService.getByFormScrappedId(id);
diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java
index 8c3f810..7c0bff1 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java
@@ -2,22 +2,26 @@
 
 import com.consum.base.core.WhBusinessEnum;
 import com.consum.base.core.utils.LockManage;
-import com.consum.model.po.*;
+import com.consum.model.po.LGoodsUserRecord;
+import com.consum.model.po.LWarehouseFlow;
+import com.consum.model.po.LWhFormTransfer;
+import com.consum.model.po.LWhGoodsRecord;
+import com.consum.model.po.LWhGoodsRecordDetails;
+import com.consum.model.po.LWhProcureModelUser;
 import com.iplatform.model.po.S_user_core;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.NumberGenerator;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
-
-import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import javax.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 /**
  * @ClassName LWhFormTransferCoreService
@@ -228,7 +232,7 @@
                 lGoodsWhRecordService.insertNewRecord(outGoodsIds, inWarehouseFlowId, dealTime);
 
                 // 鑾峰緱閿佸悗鏌ヨ璇ュ瀷鍙风殑鏈熷垵鏁伴噺
-                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, (short) 1, null);
+                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(inWarehouseType, inWarehouseId, baseGoodsModelsId, 1, null);
                 whGoodsRecord.setInitialCount(goodsModelNum);
                 whGoodsRecord.setEndCount(goodsModelNum + whGoodsRecord.getThisCount());
             }
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 80a1143..a9be7ec 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
@@ -14,7 +14,15 @@
 import com.consum.base.pojo.response.FormTransferGoodsVO;
 import com.consum.base.pojo.response.GoodsModelVO;
 import com.consum.base.pojo.response.LWHFromTransferExtendVO;
-import com.consum.model.po.*;
+import com.consum.model.po.BaseGoodsModels;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenant;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.LWhFormOutput;
+import com.consum.model.po.LWhFormTransfer;
+import com.consum.model.po.LWhGoodsRecord;
+import com.consum.model.po.LWhProcureModel;
+import com.consum.model.po.LWhProcureModelUser;
 import com.consum.model.vo.LWhFormOutputVo;
 import com.consum.model.vo.LWhGoodsRecordVo;
 import com.iplatform.model.po.S_user_core;
@@ -22,17 +30,16 @@
 import com.walker.infrastructure.utils.DateUtils;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @Description 璋冩嫧绠$悊
@@ -151,10 +158,8 @@
                 if (baseGoodsModels != null) {
                     lWhProcureModel.setBaseGoodsModelsName(baseGoodsModels.getModelName());
                 }
-                // TODO 浠锋牸
-                lWhProcureModel.setPrice(10L);
                 //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), (short) 1, null);
+                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), 1, null);
                 lWhProcureModel.setWorehouseCount(goodsNum);
 
                 //3.褰撲笟鍔$被鍨嬩负閮ㄩ棬鍒嗗彂鏃� 娣诲姞閮ㄩ棬鍒嗗彂璁板綍鍜屼娇鐢ㄤ汉
@@ -395,9 +400,9 @@
             paramts.put("goodsName", StringUtils.CHAR_PERCENT + transferQry.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
         }
         // 瑙勬牸鍨嬪彿
-        if (transferQry.getBaseGoodsTemplateId() != null) {
+        if (transferQry.getBaseGoodsModelsId() != null) {
             sql.append("AND bgm.id =:goodsModelId ");
-            paramts.put("goodsModelId", transferQry.getBaseGoodsTemplateId());
+            paramts.put("goodsModelId", transferQry.getBaseGoodsModelsId());
         }
         //璋冩嫧鏈烘瀯
         if (transferQry.getOutAgencyId() != null) {
@@ -428,4 +433,70 @@
     }
 
 
+    public GenericPager<Map<String, Object>> queryFormTransferDetailList(TransferQry param) {
+
+        HashMap<String, Object> params = new HashMap<>();
+        StringBuilder sql = new StringBuilder("SELECT ft.id,\n"
+            + "       ft.BUSINESS_FORM_CODE,\n"
+            + "       bgt.GOODS_NAME,\n"
+            + "       bgt.CLASSIFICATION,\n"
+            + "       pm.BASE_GOODS_MODELS_NAME,\n"
+            + "       pm.COUNTS,\n"
+            + "       ft.IN_AGENCY_NAME,\n"
+            + "       ft.OPERATOR_NAME,\n"
+            + "       ft.CREATE_TIME,\n"
+            + "       ft.IN_TIME,\n"
+            + "       ft.OUT_AGENCY_NAME,\n"
+            + "       ft.OUT_OPERATOR_NAME,\n"
+            + "       ft.OUTPUT_TIME\n"
+            + "FROM l_wh_form_transfer ft\n"
+            + "         LEFT JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID\n"
+            + "         LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID\n"
+            + "         LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID where 1=1 ");
+        if (StringUtils.isNotEmpty(param.getBusinessFormCode())) {
+            sql.append("AND ft.BUSINESS_FORM_CODE = :businessFormCode ");
+            params.put("businessFormCode", param.getBusinessFormCode());
+        }
+        if (StringUtils.isNotEmpty(param.getGoodsTemplateName())) {
+            sql.append("AND bgt.GOODS_NAME like :goodsName ");
+            params.put("goodsName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
+        }
+        if (param.getBaseGoodsModelsId() != null) {
+            sql.append("AND bgm.id = :goodsModelId ");
+            params.put("goodsModelId", param.getBaseGoodsModelsId());
+        }
+        if (param.getOutAgencyId() != null) {
+            sql.append("AND ft.OUT_AGENCY_ID like :outAgencyId ");
+            params.put("outAgencyId", param.getOutAgencyId());
+        }
+        if (param.getOutAgencyId() != null) {
+            sql.append("AND ft.IN_AGENCY_ID like :inAgencyId ");
+            params.put("inAgencyId", param.getInAgencyId());
+        }
+        if (StringUtils.isNotEmpty(param.getOperatorName())) {
+            sql.append("AND ft.OPERATOR_NAME = :operatorName ");
+            params.put("operatorName", param.getOperatorName());
+        }
+        //鐢宠鍒涘缓鏃堕棿
+        if (param.getCreateTimeStart() != null) {
+            sql.append("AND ft.CREATE_TIME >= :createTimeStart ");
+            params.put("createTimeStart", param.getCreateTimeStart() * 1000000);
+        }
+        if (param.getCreateTimeEnd() != null) {
+            sql.append("AND ft.CREATE_TIME < :createTimeEnd ");
+            params.put("createTimeEnd", param.getCreateTimeEnd() * 1000000 + 240000);
+        }
+        //鎺ユ敹鏃堕棿
+        if (param.getStartTime() != null) {
+            sql.append("AND ft.IN_TIME >= :createTimeStart ");
+            params.put("createTimeStart", param.getStartTime() * 1000000);
+        }
+        if (param.getEndTime() != null) {
+            sql.append("AND ft.IN_TIME < :createTimeEnd ");
+            params.put("createTimeEnd", param.getEndTime() * 1000000 + 240000);
+        }
+        GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), params, param.getPageNum(), param.getPageSize(), new MapperUtil());
+        return mapGenericPager;
+
+    }
 }
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 007e80b..1881d31 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
@@ -33,7 +33,7 @@
      */
     private static String query_Goods_Model_Num = "SELECT COUNT(1) from L_WH_GOODS where 1=1";
 
-    public int queryGoodsModelNum(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType) {
+    public int queryGoodsModelNum(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType) {
         StringBuilder sql = new StringBuilder(query_Goods_Model_Num);
         Map<String, Object> paramts = new HashMap<>();
 
@@ -73,7 +73,7 @@
      */
     private static String QUERY_OUT_GOODS_ID = "SELECT * FROM L_WH_GOODS WHERE 1=1";
 
-    public List<Map<String, Object>> queryOutGoods(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType,
+    public List<Map<String, Object>> queryOutGoods(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType,
                                                    Integer goodsModelNum) {
         StringBuilder sql = new StringBuilder(QUERY_OUT_GOODS_ID);
         Map<String, Object> paramts = new HashMap<>();
@@ -111,7 +111,7 @@
      * @param goodsModelNum     鍙栧嚭鐨勬暟閲�
      * @return
      */
-    public List<Long> queryOutGoodsId(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType, Integer goodsModelNum) {
+    public List<Long> queryOutGoodsId(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType, Integer goodsModelNum) {
         List<Map<String, Object>> outGoods = queryOutGoods(warehouseType, warehouseId, baseGoodsModelsId, states, buyType, goodsModelNum);
         if (CollectionUtils.isEmpty(outGoods)) {
             return null;

--
Gitblit v1.9.1