From 5112320c542900d9e79bbc0938b195a43e3fc255 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期四, 23 十一月 2023 17:34:54 +0800
Subject: [PATCH] --部门物品分发

---
 consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelUserParam.java               |    4 
 consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java       |   37 +++
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java          |   24 +
 consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java          |  228 +++++++++++++------------
 consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java          |    3 
 consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java                     |    2 
 consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java                   |    9 
 consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java        |   29 ++
 consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferGoodsInfoParam.java          |    8 
 consum-base/src/main/java/com/consum/base/pojo/response/DepartGoodsUseInfo.java            |   22 ++
 consum-base/src/main/java/com/consum/base/pojo/request/LWhFormTransferParam.java           |   11 +
 consum-base/src/main/java/com/consum/base/controller/FinSysTenantDepartmentController.java |    3 
 consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java        |   59 +-----
 consum-base/src/main/java/com/consum/base/pojo/UseRecordDto.java                           |    2 
 consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateVO.java               |    1 
 consum-base/src/main/java/com/consum/base/pojo/query/TransferQry.java                      |    3 
 consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java                  |    4 
 consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java           |    3 
 consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java      |   37 ++-
 consum-base/src/main/java/com/consum/base/pojo/LWhTransferModelParam.java                  |    4 
 consum-base/src/main/java/com/consum/base/pojo/excel/ScrappedInfoExport.java               |   39 ++++
 21 files changed, 335 insertions(+), 197 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 39c11d8..de0546b 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
@@ -8,7 +8,11 @@
 import com.consum.base.service.BaseGoodsTemplateServiceImpl;
 import com.consum.base.service.BaseWarehouseServiceImpl;
 import com.consum.base.service.LWhGoodsService;
-import com.consum.model.po.*;
+import com.consum.model.po.BaseGoodsModels;
+import com.consum.model.po.BaseGoodsTemplate;
+import com.consum.model.po.BaseWarehouse;
+import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.SDictData;
 import com.consum.model.vo.BaseGoodsTemplateVo;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
@@ -16,14 +20,18 @@
 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 鐗╁搧妯℃澘
@@ -183,7 +191,7 @@
 
     @GetMapping("/query/goodsTemplate")
     public ResponseValue queryGoodsTemplateByCategoryId(Long agencyId, Long categoryId) {
-        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, categoryId,null,null);
+        List<BaseGoodsTemplate> list = this.baseGoodsTemplateService.queryGoodsTemplateByCategoryId(agencyId, categoryId, null, null);
         if (list == null) {
             return ResponseValue.error("鏌ヨ澶辫触锛�");
         }
@@ -193,7 +201,7 @@
 
     @ApiOperation(value = "鏌ヨ鏈烘瀯涓嬮粯璁や粨搴撲笅鐨勫垎绫绘ā鏉夸俊鎭�", notes = "鏌ヨ鏈烘瀯涓嬮粯璁や粨搴撲笅鐨勫垎绫绘ā鏉夸俊鎭�")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "agencyId", value = "鐖剁骇鏈烘瀯id", required = true, dataType = "Long", paramType = "query"),
+        @ApiImplicitParam(name = "agencyId", value = "鐖剁骇鏈烘瀯id", required = true, dataType = "java.lang.Long", paramType = "query"),
         @ApiImplicitParam(name = "categoryId", value = "鍒嗙被id", required = true, dataType = "Long", paramType = "query")
     })
     @GetMapping("/query/warehouse/goods")
@@ -209,12 +217,13 @@
         }
         map.put("warehouseId", baseWarehouseList.get(0).getId());
 
-        String sql = "SELECT DISTINCT bgt.id,bgt.GOODS_NAME FROM l_wh_goods g LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.id "
-            + "WHERE WAREHOUSE_TYPE = 0 "
-            + "AND WAREHOUSE_ID = :warehouseId "
-            + "AND CATEGORY_ID = :categoryId "
-            // 1:闆嗛噰,2:鑷��璐�
-            + "AND BUY_TYPE =1";
+        String sql =
+            "SELECT DISTINCT bgt.id,bgt.GOODS_NAME, CLASSIFICATION type FROM l_wh_goods g LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.id "
+                + "WHERE WAREHOUSE_TYPE = 0 "
+                + "AND WAREHOUSE_ID = :warehouseId "
+                + "AND CATEGORY_ID = :categoryId "
+                // 1:闆嗛噰,2:鑷噰
+                + "AND BUY_TYPE =1";
 
         List<GoodsTemplateVO> resultList = Lists.newArrayList();
         List<Map<String, Object>> goodsTemplateList = lWhGoodsService.select(sql, map, new MapperUtil());
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 e57c589..66393e7 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
@@ -3,7 +3,6 @@
 import com.consum.base.BaseController;
 import com.consum.base.pojo.FinSysTenantDepartmentParam;
 import com.consum.base.service.FinSysTenantDepartmentServiceImpl;
-import com.consum.base.service.FinSysTenantServiceImpl;
 import com.consum.model.po.FinSysTenantDepartment;
 import com.consum.model.po.FinSysTenantUser;
 import com.walker.db.page.GenericPager;
@@ -34,8 +33,6 @@
 
     @Autowired
     private FinSysTenantDepartmentServiceImpl departmentService;
-    @Autowired
-    private FinSysTenantServiceImpl finSysTenantService;
 
     /**
      * @Description 鏂板
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 ca0024f..fae394a 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
@@ -64,7 +64,7 @@
      */
     @ApiOperation(value = "鏂板鍑哄簱鍗�", notes = "鏂板鍑哄簱鍗�")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "param", value = "鍑哄簱鍗曞疄浣�", required = true, dataType = "LWhFormOutputInsertParam", paramType = "body")
+        @ApiImplicitParam(name = "param", value = "鍑哄簱鍗曞疄浣�", dataType = "lWhFormOutputParam", dataTypeClass = LWhFormOutputParam.class, paramType = "body")
     })
     @PostMapping("/add")
     public ResponseValue add() {
@@ -180,7 +180,6 @@
 
         return ResponseValue.success("鏌ヨ鎴愬姛!", lWhFormOutputExtendVO);
     }
-
 
 
     @ApiOperation(value = "鏌ヨ鍑哄簱鍗曡鎯呮槑缁�", notes = "鏌ヨ鍑哄簱鍗曡鎯呮槑缁�")
diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
index 32e8b9f..866e7be 100644
--- a/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java
@@ -1,10 +1,13 @@
 package com.consum.base.controller;
 
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
 import com.consum.base.BaseController;
 import com.consum.base.core.utils.MapUtils;
 import com.consum.base.core.utils.MapperUtil;
 import com.consum.base.core.utils.PageUtil;
 import com.consum.base.pojo.LWhFormScrappedParam;
+import com.consum.base.pojo.excel.ScrappedInfoExport;
 import com.consum.base.pojo.query.LWhFormScrappedQry;
 import com.consum.base.pojo.response.FromTransferTemplateInfoVO;
 import com.consum.base.pojo.response.LWhFormScrappedExtendVO;
@@ -18,10 +21,16 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URLEncoder;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.compress.utils.Lists;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -51,7 +60,7 @@
      */
     @ApiOperation(value = "鏂板鎶ュ簾鍗�", notes = "鏂板鎶ュ簾鍗�")
     @ApiImplicitParams({
-        @ApiImplicitParam(name = "param", value = "鎶ュ簾鍗曚俊鎭�", dataType = "LWhFormScrappedParam", paramType = "body")
+        @ApiImplicitParam(name = "param")
     })
     @PostMapping("/add")
     public ResponseValue add(@RequestBody LWhFormScrappedParam param) {
@@ -149,12 +158,24 @@
      * @Date 2023/11/2
      */
     @GetMapping("/export")
-    public ResponseValue export(Long id) {
+    public ResponseValue export(Long id, HttpServletRequest request, HttpServletResponse response) {
         if (id == null) {
             return ResponseValue.error("鎶ュ簾鍗昳d涓虹┖");
         }
-        //LWhFormScrappedExtendVO scrappedExtend = this.lWhFormScrappedService.export(id, this.getSysInfo());
-        return ResponseValue.success(null);
+        try {
+            OutputStream outputStream = response.getOutputStream();
+            List<Map<String, Object>> export = lWhFormScrappedService.export(id);
+            ExportParams exportParams = new ExportParams("鎶ュ簾鍗曠櫥璁�", "鎶ュ簾鍗曠櫥璁�");
+            Workbook sheets = ExcelExportUtil.exportExcel(exportParams, ScrappedInfoExport.class, export);
+            // 璁剧疆鍝嶅簲澶�
+            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
+            response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("鎶ュ簾鍗曠櫥璁�.xlsx", "utf-8"));
+            sheets.write(outputStream);
+            sheets.close();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+        return ResponseValue.success();
     }
 
 
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 a6acc2f..95b1d21 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
@@ -5,11 +5,11 @@
 import com.consum.base.core.utils.MapUtils;
 import com.consum.base.core.utils.MapperUtil;
 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.request.LWhFormTransferParam;
 import com.consum.base.pojo.response.FormTransferVO;
 import com.consum.base.pojo.response.FromTransferTemplateInfoVO;
 import com.consum.base.pojo.response.LWHFromTransferExtendVO;
@@ -146,42 +146,6 @@
                 formTransferVO.setFromTransferTemplateInfoList(templateInfoList);
 
                 result.add(formTransferVO);
-
-
-                /*// 鏌ヨ鍨嬪彿鏁伴噺
-                LWhProcureModel lWhProcureModel = new LWhProcureModel();
-                Integer businessType = item.getBusinessType();
-                // TODO 璋冩嫧=0 鍒嗗彂=1 閫�鍥�=2
-                switch (businessType) {
-                    case 0:
-                        lWhProcureModel.setBusinessType(2);
-                        break;
-                    case 1:
-                        lWhProcureModel.setBusinessType(4);
-                        break;
-                }
-                lWhProcureModel.setBusinessId(item.getId());
-                List<LWhProcureModel> models = lWhProcureModelService.select(lWhProcureModel);
-                List<LWhProcureModelVo> lWhProcureModelVoList = new ArrayList<>();
-                if (!CollectionUtils.isEmpty(models)) {
-                    models.forEach(model -> {
-                        LWhProcureModelVo lWhProcureModelVo = new LWhProcureModelVo();
-                        BeanUtils.copyProperties(model, lWhProcureModelVo);
-
-                        Long baseGoodsModelsId = model.getBaseGoodsModelsId();
-                        Long businessId = model.getBusinessId();
-                        Long id = model.getId();
-                        LWhProcureModelUser lWhFormTransferUser = new LWhProcureModelUser();
-                        lWhFormTransferUser.setTransBusinessId(businessId);
-                        lWhFormTransferUser.setWhProcureModelId(id);
-                        lWhFormTransferUser.setBaseGoodsModelsId(baseGoodsModelsId);
-                        List<LWhProcureModelUser> procureModelUserList = lWhProcureModelUserService.select(lWhFormTransferUser);
-                        lWhProcureModelVo.setProcureModelUsersList(procureModelUserList);
-                        lWhProcureModelVoList.add(lWhProcureModelVo);
-                    });
-                }
-                formTransferExtend.setModels(lWhProcureModelVoList);
-                newDatas.add(formTransferExtend);*/
             });
         }
         try {
@@ -327,12 +291,11 @@
         return ResponseValue.success(transferInfoDetailsVoGenericPager);
     }
 
-    /**
-     * 閮ㄩ棬鐗╁搧浣跨敤璁板綍
-     *
-     * @param procureModelInfoDto
-     * @return
-     */
+
+    @ApiOperation(value = "浣跨敤浜轰慨鏀�", notes = "浣跨敤浜轰慨鏀�")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "procureModelInfoDto", value = "浣跨敤淇℃伅", required = true)
+    })
     @PostMapping("/useInfo/update")
     public ResponseValue infoUpdate(@RequestBody List<ProcureModelInfoDto> procureModelInfoDto) {
 
@@ -385,6 +348,10 @@
      * @param transferOrderId
      * @return
      */
+    @ApiOperation(value = "閮ㄩ棬鐗╁搧浣跨敤浜鸿褰�", notes = "閮ㄩ棬鐗╁搧浣跨敤浜鸿褰�")
+    @ApiImplicitParams({
+        @ApiImplicitParam(name = "transferOrderId", value = "璋冩嫧鍗昳d", required = true)
+    })
     @GetMapping("/use/record")
     public ResponseValue useRecord(Long transferOrderId) {
 
@@ -394,6 +361,8 @@
         }
         LWhProcureModelUserRecord lWhProcureModelUserRecord = new LWhProcureModelUserRecord();
         lWhProcureModelUserRecord.setTransBusinessId(transferOrderId);
+        String sql =
+            "select * from l_wh_procure_model_user_record pmur inner join l_wh_procure_model_user pmu on pmur.TRANS_BUSINESS_ID = pmu.  " + transferOrderId;
         List<LWhProcureModelUserRecord> modelUserRecords = lWhProcureModelUserRecordService.select(lWhProcureModelUserRecord);
 
         List<UseRecordDto> result = Lists.newArrayList();
@@ -402,10 +371,10 @@
             UseRecordDto useRecordDto = new UseRecordDto();
             useRecordDto.setId(id);
             useRecordDto.setUpdateUserName(item.getOperatorName());
-            useRecordDto.setUpdateTime(DateUtils.toShowDate(item.getDealTime()));
+            useRecordDto.setUpdateTime(item.getDealTime());
 
             LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
-            lWhProcureModelUser.setWhProcureModelId(id);
+            lWhProcureModelUser.setProcureModelUserRecordId(id);
             List<LWhProcureModelUser> procureModelUserList = lWhProcureModelUserService.select(lWhProcureModelUser);
 
             List<UseRecordSkuDto> recordSkuDtoList = Lists.newArrayList();
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
index 452ceaf..8581d99 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
@@ -11,7 +11,7 @@
  * @Author 鍗㈠簡闃�
  * @Date 2023/10/27
  */
-@ApiModel(value = "LWhFormOutputInsertParam")
+@ApiModel
 @Data
 public class LWhFormOutputParam extends ParamRequest {
 
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java
index 74f3263..574fd9e 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormScrappedParam.java
@@ -1,34 +1,41 @@
 package com.consum.base.pojo;
 
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import java.util.List;
 import lombok.Data;
 
 @Data
-@ApiModel(value = "LWhFormScrappedParam")
+@ApiModel(value = "鏂板鎶ュ簾鍗曚俊鎭�")
 public class LWhFormScrappedParam {
 
     /**
      * 鏈烘瀯id
      */
+    @ApiModelProperty(value = "鏈烘瀯id")
     private Long agencyId;
     /**
      * 浠撳簱缂栧彿
      */
+    @ApiModelProperty(value = "浠撳簱缂栧彿")
     private Long warehouseId;
     /**
      * 鎿嶄綔浜�
      */
+    @ApiModelProperty(value = "鎿嶄綔浜�")
     private Long operatorId;
     /**
      * 鎶ュ簾鏃堕棿
      */
+    @ApiModelProperty(value = "鎶ュ簾鏃堕棿")
     private Long dealTime;
     /**
      * 闄勪欢
      */
+    @ApiModelProperty(value = "闄勪欢")
     private String uploadFiles;
 
+    @ApiModelProperty(value = "鎶ュ簾鍟嗗搧淇℃伅")
     private List<LWhFormScrappedGoodsInfoParam> scrappedGoodsInfo;
 
 
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferGoodsInfoParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferGoodsInfoParam.java
index f7539e4..f17066e 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferGoodsInfoParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferGoodsInfoParam.java
@@ -19,14 +19,14 @@
     private Long id;
     //鍒嗙被缂栧彿
     private Long baseCategoryId;
+    //绫诲埆
+    private String type;
     //鐗╁搧妯$増缂栧彿
     private Long baseGoodsTemplateId;
+    //鐗╁搧妯$増鍚嶅瓧
+    private String goodsTemplateName;
     //渚涘簲鍟�
     private String supplier;
-
-    private String goodsTemplateName;
-
-    private Integer sort;
 
     @ApiModelProperty(value = "鍗曟嵁绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂")
     private Integer procureModelBusinessType;
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelUserParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelUserParam.java
index d0db62a..ac1dea0 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelUserParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhProcureModelUserParam.java
@@ -1,5 +1,6 @@
 package com.consum.base.pojo;
 
+import io.swagger.annotations.ApiModel;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -7,12 +8,13 @@
 /**
  * @author asus
  * @version 1.0
- * @description: TODO
+ * @description: 鐗╁搧鍒嗗彂浣跨敤浜轰俊鎭�
  * @date 2023/11/6 9:28
  */
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
+@ApiModel(value = "鐗╁搧鍒嗗彂浣跨敤浜轰俊鎭�")
 public class LWhProcureModelUserParam {
 
     /**
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhTransferModelParam.java b/consum-base/src/main/java/com/consum/base/pojo/LWhTransferModelParam.java
index c3571ba..27ca891 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhTransferModelParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/LWhTransferModelParam.java
@@ -19,6 +19,8 @@
     // //瑙勬牸鍨嬪彿缂栧彿
     @ApiModelProperty(value = "瑙勬牸鍨嬪彿缂栧彿")
     private Long baseGoodsModelsId;
+    @ApiModelProperty(value = "瑙勬牸鍨嬪彿鍚嶅瓧")
+    private String baseGoodsModelsName;
     //浠锋牸
     @ApiModelProperty(value = "浠锋牸")
     private Long price;
@@ -31,6 +33,8 @@
     // 璁¢噺鍗曚綅
     @ApiModelProperty(value = "璁¢噺鍗曚綅")
     private String baseUnit;
+    @ApiModelProperty(value = "鍓╀綑鏁伴噺")
+    private Integer num;
 
     @ApiModelProperty(value = "鐢ㄦ埛瑙勬牸鍨嬪彿")
     private List<LWhProcureModelUserParam> procureModelUserList;
diff --git a/consum-base/src/main/java/com/consum/base/pojo/UseRecordDto.java b/consum-base/src/main/java/com/consum/base/pojo/UseRecordDto.java
index ba4733d..8bdb5db 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/UseRecordDto.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/UseRecordDto.java
@@ -17,7 +17,7 @@
     // 淇敼浜�
     private String updateUserName;
     // 淇敼鏃堕棿
-    private String updateTime;
+    private Long updateTime;
     // 瑙勬牸鍨嬪彿
     private List<UseRecordSkuDto> recordSkuDtoList;
 
diff --git a/consum-base/src/main/java/com/consum/base/pojo/excel/ScrappedInfoExport.java b/consum-base/src/main/java/com/consum/base/pojo/excel/ScrappedInfoExport.java
new file mode 100644
index 0000000..7fc6b63
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/excel/ScrappedInfoExport.java
@@ -0,0 +1,39 @@
+package com.consum.base.pojo.excel;
+
+import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 鎶ュ簾鍗曞鍑轰俊鎭�
+ * @date 2023/11/23 10:10
+ */
+@NoArgsConstructor
+@Data
+public class ScrappedInfoExport {
+
+    @JsonProperty("departmentName")
+    @ExcelEntity(name = "閮ㄩ棬")
+    private String departmentName;
+    @JsonProperty("dealTime")
+    private Long dealTime;
+    @JsonProperty("scrappedName")
+    private String scrappedName;
+    @JsonProperty("businessFormCode")
+    private String businessFormCode;
+    @JsonProperty("counts")
+    private Integer counts;
+    @JsonProperty("baseGoodsModelsName")
+    private String baseGoodsModelsName;
+    @JsonProperty("beiz")
+    private Object beiz;
+    @JsonProperty("operatorName")
+    private String operatorName;
+    @JsonProperty("agencyName")
+    private String agencyName;
+    @JsonProperty("goodsTemplateName")
+    private String goodsTemplateName;
+}
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 f3b3c06..a927723 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
@@ -83,6 +83,9 @@
     @ApiModelProperty(value = "椤靛ぇ灏�")
     private Integer pageSize;
 
+    @ApiModelProperty(value = "鏌ヨ绫诲瀷")
+    private Integer qryType;
+
 //    /**
 //     * 鍏ュ簱浠撳簱缂栧彿
 //     */
diff --git a/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java b/consum-base/src/main/java/com/consum/base/pojo/request/LWhFormTransferParam.java
similarity index 81%
rename from consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java
rename to consum-base/src/main/java/com/consum/base/pojo/request/LWhFormTransferParam.java
index 2c37523..e4f9966 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/LWhFormTransferParam.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/request/LWhFormTransferParam.java
@@ -1,5 +1,6 @@
-package com.consum.base.pojo;
+package com.consum.base.pojo.request;
 
+import com.consum.base.pojo.LWhFormTransferGoodsInfoParam;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import java.util.List;
@@ -12,7 +13,7 @@
  * @Author 鍗㈠簡闃�
  * @Date 2023/10/30
  */
-@ApiModel(value = "鍗曟嵁鏂板淇℃伅")
+@ApiModel(value = "璋冩嫧鍗曟嵁鏂板淇℃伅")
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
@@ -45,6 +46,12 @@
      */
     @ApiModelProperty(value = "鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為��")
     private Integer transferBusinessType;
+
+    @ApiModelProperty(value = "閮ㄩ棬id")
+    private Integer departmentId;
+
+    @ApiModelProperty(value = "棰嗗彇浜哄悕瀛�")
+    private String operatorName;
     /**
      * 璋冩嫧鍗曞瀷鍙�
      */
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/DepartGoodsUseInfo.java b/consum-base/src/main/java/com/consum/base/pojo/response/DepartGoodsUseInfo.java
new file mode 100644
index 0000000..f035239
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/DepartGoodsUseInfo.java
@@ -0,0 +1,22 @@
+package com.consum.base.pojo.response;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author asus
+ * @version 1.0
+ * @description: 閮ㄩ棬鐗╁搧浣跨敤浜轰俊鎭�
+ * @date 2023/11/23 15:30
+ */
+@Data
+@ApiModel
+public class DepartGoodsUseInfo {
+
+    private Long id;
+    private String name;
+    private Integer num;
+    private Long tel;
+
+
+}
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java
index 3e7ae74..76ad553 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/FormTransferGoodsVO.java
@@ -25,6 +25,9 @@
 
     private String goodsName;
 
+    //鍒嗙被绫诲瀷
+    private String type;
+
     private List<GoodsModelVO> models;
 
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java
index b863e12..dca8aaf 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsModelVO.java
@@ -1,11 +1,12 @@
 package com.consum.base.pojo.response;
 
+import java.util.List;
 import lombok.Data;
 
 /**
  * @author asus
  * @version 1.0
- * @description: TODO
+ * @description: 鐗╁搧鍨嬪彿淇℃伅
  * @date 2023/11/11 17:10
  */
 @Data
@@ -23,5 +24,6 @@
 
     private String scrappedName;
 
+    private List<DepartGoodsUseInfo> useInfo;
 
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateVO.java
index 20e9906..dc1ae95 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateVO.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/GoodsTemplateVO.java
@@ -15,5 +15,6 @@
 
     private Long id;
     private String goodsName;
+    private String type;
 
 }
diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java
index 9bc89e4..b456110 100644
--- a/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java
+++ b/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java
@@ -1,6 +1,7 @@
 package com.consum.base.pojo.response;
 
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import java.util.List;
 import lombok.Data;
 
@@ -11,67 +12,99 @@
  * @date 2023/11/15 18:02
  */
 @Data
-@ApiModel(value = "LWHFromTransferExtendVO")
+@ApiModel(value = "璋冩嫧鍗曟墿灞曡缁嗕俊鎭�")
 public class LWHFromTransferExtendVO {
 
 
     // 涓婚敭
     private Long id;
 
-    // 灞炴�у垪琛�
+    @ApiModelProperty(value = "鍑哄叆搴搃d")
     private Long inWarehouseFormId;
 
+    @ApiModelProperty(value = "鍏ュ簱娴佹按id")
     private Long inWarehouseFlowId;
 
+    @ApiModelProperty(value = "鍑哄簱娴佹按id")
     private Long outWarehouseFlowId;
 
+    @ApiModelProperty(value = "鍑哄簱鍗昳d")
     private Long outWarehouseFormId;
 
+    @ApiModelProperty(value = "涓氬姟绫诲瀷0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為��")
     private Integer businessType;
 
+    @ApiModelProperty(value = "涓氬姟鍗曞彿")
     private String businessFormCode;
 
+    @ApiModelProperty(value = "鍏ュ簱鍗曠被鍨�0鏈烘瀯1閮ㄩ棬")
     private Integer inWarehouseType;
 
+    @ApiModelProperty(value = "鍏ュ簱浠撳簱id")
     private Long inWarehouseId;
 
+    @ApiModelProperty(value = "鍏ュ簱浠撳簱鍚嶇О")
     private String inWarehouseName;
 
+    @ApiModelProperty(value = "鍑哄簱鍗曠被鍨�0鏈烘瀯1閮ㄩ棬")
     private Integer outWarehouseType;
 
+    @ApiModelProperty(value = "鍑哄簱浠撳簱id")
     private Long outWarehouseId;
 
+    @ApiModelProperty(value = "鍑哄簱浠撳簱鍚嶇О")
     private String outWarehouseName;
 
+    @ApiModelProperty(value = "鍏ュ簱鏈烘瀯id")
     private Long inAgencyId;
 
+    @ApiModelProperty(value = "鍏ュ簱鏈烘瀯鍚嶇О")
     private String inAgencyName;
 
+    @ApiModelProperty(value = "鍑哄簱鏈烘瀯id")
     private Long outAgencyId;
 
+    @ApiModelProperty(value = "鍑哄簱鏈烘瀯鍚嶇О")
     private String outAgencyName;
 
+    @ApiModelProperty(value = "鎿嶄綔浜篿d")
     private Long operatorId;
 
+    @ApiModelProperty(value = "鎿嶄綔浜哄悕绉�")
     private String operatorName;
 
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     private Long createTime;
 
+    @ApiModelProperty(value = "0=寰呭嚭搴擄紱1=寰呮帴鏀讹紱2=宸插叆搴撳簱:4=宸叉挙閿�")
     private Integer states;
 
+    @ApiModelProperty(value = "鍏ュ簱鎿嶄綔浜篿d")
     private Long inOperatorId;
 
+    @ApiModelProperty(value = "鍏ュ簱鎿嶄綔浜哄悕绉�")
     private String inOperatorName;
 
+    @ApiModelProperty(value = "鍏ュ簱鏃堕棿")
     private Long inTime;
 
+    @ApiModelProperty(value = "鍑哄簱鎿嶄綔浜篿d")
     private Long outOperatorId;
 
+    @ApiModelProperty(value = "鍑哄簱鎿嶄綔浜哄悕绉�")
     private String outOperatorName;
 
+    @ApiModelProperty(value = "鍑哄簱鏃堕棿")
     private Long outputTime;
 
+    @ApiModelProperty(value = "鎵嬬画")
     private String procureDoc;
 
+    @ApiModelProperty(value = "閮ㄩ棬鍚嶇О")
+    private String departmentName;
+
+    @ApiModelProperty(value = "鐢佃瘽")
+    private String tel;
+
     private List<FormTransferGoodsVO> formTransferGoods;
 }
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 79fa7b3..acc6e5c 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
@@ -67,10 +67,9 @@
 
     private static String QUERY_LIST = "SELECT fs.* FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID WHERE 1 = 1 ";
 
-    private static final String QUERY_BF_DETAIL_LIST =
-        "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS,"
-            + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs "
-            + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 ";
+    private static final String QUERY_BF_DETAIL_LIST = "select fs.id,fs.BUSINESS_FORM_CODE,fsg.GOODS_TEMPLATE_NAME,fsg.BASE_GOODS_MODELS_NAME,fsg.COUNTS,"
+        + "fs.AGENCY_NAME,OPERATOR_NAME,DEAL_TIME from l_wh_form_scrapped fs "
+        + "inner join l_wh_form_scrapped_goods fsg on fs.ID = fsg.FORM_SCRAPPED_ID where 1=1 ";
 
     /**
      * 鏂板
@@ -78,10 +77,9 @@
      * @param param
      * @param currentUser 褰撳墠鐧诲綍鐢ㄦ埛
      * @param sysInfo     褰撳墠鐧诲綍鐢ㄦ埛
-     * @return
+     * @return 1.鏂板鎶ュ簾鍗�  2.鏂板鎶ュ簾鍗曠墿鍝�
      */
-    //1.鏂板鎶ュ簾鍗�
-    //2.鏂板鎶ュ簾鍗曠墿鍝�
+
     public int add(LWhFormScrappedParam param, S_user_core currentUser, FinSysTenantUser sysInfo) {
         //1.鏂板鎶ュ簾鍗曡褰�
         LWhFormScrapped lWhFormScrapped = new LWhFormScrapped();
@@ -336,6 +334,18 @@
         return pageUtil;
     }
 
+    public List<Map<String, Object>> export(Long id) {
+
+        String sql =
+            "SELECT BUSINESS_FORM_CODE, fs.DEAL_TIME, OPERATOR_NAME, AGENCY_NAME, GOODS_TEMPLATE_NAME, BASE_GOODS_MODELS_NAME, DEPARTMENT_NAME, COUNTS, SCRAPPED_NAME, BEIZ "
+                + "FROM l_wh_form_scrapped_goods fsg LEFT JOIN l_wh_form_scrapped fs ON fs.id = fsg.FORM_SCRAPPED_ID WHERE "
+                + "fs.ID = :id and STATES = 1";
+        Map<String, Object> param = new HashMap<>();
+        param.put("id", id);
+        List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
+        return select;
+    }
+
     /**
      * @Description 瀵煎嚭鎶ュ簾鐧昏鍗�
      * @Author 鍗㈠簡闃�
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 6d6e87d..f9b7993 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
@@ -3,14 +3,14 @@
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
 import com.consum.base.core.utils.IdUtil;
-import com.consum.base.core.utils.MapRowMapper;
 import com.consum.base.core.utils.MapUtils;
 import com.consum.base.core.utils.MapperUtil;
 import com.consum.base.pojo.LWhFormTransferGoodsInfoParam;
-import com.consum.base.pojo.LWhFormTransferParam;
 import com.consum.base.pojo.LWhProcureModelUserParam;
 import com.consum.base.pojo.LWhTransferModelParam;
 import com.consum.base.pojo.query.TransferQry;
+import com.consum.base.pojo.request.LWhFormTransferParam;
+import com.consum.base.pojo.response.DepartGoodsUseInfo;
 import com.consum.base.pojo.response.FormTransferGoodsVO;
 import com.consum.base.pojo.response.GoodsModelVO;
 import com.consum.base.pojo.response.LWHFromTransferExtendVO;
@@ -23,6 +23,7 @@
 import com.consum.model.po.LWhGoodsRecord;
 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.consum.model.vo.LWhGoodsRecordVo;
 import com.iplatform.model.po.S_user_core;
@@ -69,8 +70,13 @@
     private BaseGoodsModelsServiceImpl baseGoodsModelsService;
     @Autowired
     private LWhProcureModelUserServiceImpl lWhProcureModelUserService;
+    @Autowired
+    private LWhProcureModelUserRecordServiceImpl lWhProcureModelUserRecordService;
 
-    private static String QUERY_FORM_TRANSFER_LIST = "SELECT * FROM l_wh_form_transfer WHERE 1 = 1";
+    private static String QUERY_FORM_TRANSFER_LIST = "SELECT ft.* FROM l_wh_form_transfer ft "
+        + "left join L_WH_PROCURE_MODEL pm on pm.BUSINESS_ID = ft.id "
+        + "LEFT JOIN BASE_GOODS_MODELS bgm ON pm.BASE_GOODS_MODELS_ID=bgm.ID "
+        + "LEFT JOIN BASE_GOODS_TEMPLATE bgt ON bgm.GOODS_TEMPLATES_ID=bgt.id WHERE 1 = 1 ";
 
 
     /**
@@ -91,19 +97,33 @@
         lWhFormTransfer.setBusinessType(businessType);
 
         lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Transfer));
+
         Long warehouseId = param.getInWarehouseId();
-        lWhFormTransfer.setInWarehouseId(warehouseId);
-        //鍏ュ簱浠撳簱涓哄綋鍓嶇敤鎴风殑榛樿浠撳簱
-        String tenantId = sysInfo.getTenantId();
-        BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId));
-        if (warehouse == null) {
-            log.error("浠撳簱涓嶅瓨鍦�");
-            throw new Exception("浠撳簱涓嶅瓨鍦�");
+        // 璋冩嫧绫诲瀷鍗曟嵁
+        if (businessType == 0) {
+            //鍏ュ簱浠撳簱涓哄綋鍓嶇敤鎴风殑榛樿浠撳簱
+            String tenantId = sysInfo.getTenantId();
+            String tenantName = sysInfo.getTenantName();
+            BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId));
+            if (warehouse == null) {
+                log.error("浠撳簱涓嶅瓨鍦�");
+                throw new Exception("浠撳簱涓嶅瓨鍦�");
+            }
+            lWhFormTransfer.setInWarehouseId(warehouse.getId());
+            lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName());
+            lWhFormTransfer.setInAgencyId(Long.valueOf(tenantId));
+            lWhFormTransfer.setInAgencyName(tenantName);
         }
-        lWhFormTransfer.setInWarehouseId(warehouse.getId());
-        lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName());
-        lWhFormTransfer.setInAgencyId(Long.valueOf(tenantId));
-        lWhFormTransfer.setInAgencyName(sysInfo.getTenantName());
+        //褰撲笟鍔$被鍨嬩负閮ㄩ棬鍒嗗彂鏃� 娣诲姞閮ㄩ棬鍒嗗彂璁板綍鍜屼娇鐢ㄤ汉
+        if (businessType == 1) {
+            //閮ㄩ棬鍒嗗彂绫诲瀷 鍑哄簱浠撳簱绫诲瀷0鏈烘瀯1閮ㄩ棬
+            // TODO 鍑哄簱涓氬姟绫诲瀷 鑱旂郴鐢佃瘽
+            lWhFormTransfer.setOutWarehouseType(1);
+            //lWhFormTransfer.setOutOperatorId();
+            lWhFormTransfer.setOutOperatorName(param.getOperatorName());
+            lWhFormTransfer.setOutputTime(param.getCreateTime());
+        }
+
         //鏍规嵁鏈烘瀯id鏌ヨ璋冩嫧鏈烘瀯
         FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId()));
         if (finSysTenant == null) {
@@ -119,12 +139,6 @@
         lWhFormTransfer.setStates(0);
         lWhFormTransfer.setProcureDoc(param.getProcureDoc());
 
-        //3.褰撲笟鍔$被鍨嬩负閮ㄩ棬鍒嗗彂鏃� 娣诲姞閮ㄩ棬鍒嗗彂璁板綍鍜屼娇鐢ㄤ汉
-        if (businessType == 1) {
-            //閮ㄩ棬鍒嗗彂绫诲瀷 鍑哄簱浠撳簱绫诲瀷0鏈烘瀯1閮ㄩ棬
-            // TODO 鍑哄簱涓氬姟绫诲瀷 鑱旂郴鐢佃瘽
-            lWhFormTransfer.setOutWarehouseType(1);
-        }
         int flag1 = this.insert(lWhFormTransfer);
         if (flag1 == 0) {
             log.error("鏂板璋冩嫧鍗曞け璐�");
@@ -138,44 +152,48 @@
             for (LWhTransferModelParam model : transferGoodsInfo.getModels()) {
                 LWhProcureModel lWhProcureModel = new LWhProcureModel();
                 lWhProcureModel.setId(IdUtil.generateId());
-                // 鐗╁搧鍨嬪彿涓氬姟绫诲瀷
+                // 鎸戞嫧涓氬姟绫诲瀷杞崲鍒扮墿鍝佺被鍨�
                 // 鐗╁搧绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂
-                switch (businessType) {
-                    case 0:
-                        lWhProcureModel.setBusinessType(2);
-                        break;
-                    case 1:
-                        lWhProcureModel.setBusinessType(4);
-                        break;
-                    default:
-                        lWhProcureModel.setBusinessType(null);
+                Long baseGoodsModelsId = model.getBaseGoodsModelsId();
+                if (businessType == 0) {
+                    lWhProcureModel.setBusinessType(2);
+                    //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
+                    int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, 1, null);
+                    lWhProcureModel.setWorehouseCount(goodsNum);
                 }
-                lWhProcureModel.setBusinessId(lWhFormTransferId);
-                lWhProcureModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId());
                 lWhProcureModel.setCounts(model.getCounts());
+                lWhProcureModel.setBusinessId(lWhFormTransferId);
+                lWhProcureModel.setBaseGoodsModelsId(baseGoodsModelsId);
                 //鏍规嵁鍨嬪彿id鏌ヨ鍨嬪彿
-                BaseGoodsModels baseGoodsModels = this.baseGoodsModelsService.get(new BaseGoodsModels(model.getBaseGoodsModelsId()));
+                BaseGoodsModels baseGoodsModels = this.baseGoodsModelsService.get(new BaseGoodsModels(baseGoodsModelsId));
                 if (baseGoodsModels != null) {
                     lWhProcureModel.setBaseGoodsModelsName(baseGoodsModels.getModelName());
                 }
-                //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
-                int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, model.getBaseGoodsModelsId(), 1, null);
-                lWhProcureModel.setWorehouseCount(goodsNum);
+                lWhProcureModel.setSupplier(transferGoodsInfo.getSupplier());
 
                 //3.褰撲笟鍔$被鍨嬩负閮ㄩ棬鍒嗗彂鏃� 娣诲姞閮ㄩ棬鍒嗗彂璁板綍鍜屼娇鐢ㄤ汉
                 // 鍗曟嵁绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂
-                //TODO 閮ㄩ棬鍒嗗彂绫诲瀷
+                //閮ㄩ棬鍒嗗彂绫诲瀷
                 if (businessType == 1) {
+                    lWhProcureModel.setBusinessType(4);
+                    LWhProcureModelUserRecord lWhProcureModelUserRecord = new LWhProcureModelUserRecord();
+                    lWhProcureModelUserRecord.setId(IdUtil.generateId());
+                    lWhProcureModelUserRecord.setTransBusinessId(lWhFormTransferId);
+                    lWhProcureModelUserRecord.setOperatorId(sysInfo.getId());
+                    lWhProcureModelUserRecord.setOperatorName(sysInfo.getUserName());
+                    lWhProcureModelUserRecordService.insert(lWhProcureModelUserRecord);
+
                     List<LWhProcureModelUser> procureModelUserList = Lists.newArrayList();
                     for (LWhProcureModelUserParam lWhProcureModelUserParam : model.getProcureModelUserList()) {
                         LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
                         lWhProcureModelUser.setId(IdUtil.generateId());
                         lWhProcureModelUser.setTransBusinessId(lWhFormTransferId);
                         lWhProcureModelUser.setWhProcureModelId(lWhProcureModel.getId());
-                        lWhProcureModelUser.setBaseGoodsModelsId(model.getBaseGoodsModelsId());
+                        lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId);
                         lWhProcureModelUser.setNowUserName(lWhProcureModelUserParam.getNowUserName());
                         lWhProcureModelUser.setNowUserPhone(lWhProcureModelUserParam.getNowUserPhone());
                         lWhProcureModelUser.setGoodsNum(lWhProcureModelUserParam.getGoodsNum());
+                        lWhProcureModelUser.setProcureModelUserRecordId(lWhProcureModelUserRecord.getId());
                         procureModelUserList.add(lWhProcureModelUser);
                     }
                     int procureInsertNum = lWhProcureModelUserService.insert(procureModelUserList);
@@ -184,6 +202,7 @@
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         return 0;
                     }
+
                 }
 
                 modelList.add(lWhProcureModel);
@@ -214,10 +233,13 @@
             sql.append(" and BUSINESS_FORM_CODE = :businessFormCode ");
             paramts.put("businessFormCode", param.getBusinessFormCode());
         }
+        if (param.getQryType() != null) {
+            sql.append("and ft.BUSINESS_TYPE = :businessType ");
+            paramts.put("businessType", param.getQryType());
+        }
         //鐗╁搧鍚嶇О
         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=2 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)");
+            sql.append("AND bgt.GOODS_NAME LIKE :goodsTemplateName ");
             paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
         }
         //璋冩嫧鏈烘瀯
@@ -242,11 +264,11 @@
         }
         //鐢宠鏃堕棿
         if (param.getCreateTimeStart() != null) {
-            sql.append(" and CREATE_TIME >=:createTimeStart ");
+            sql.append(" and ft.CREATE_TIME >=:createTimeStart ");
             paramts.put("createTimeStart", param.getCreateTimeStart() * 1000000);
         }
         if (param.getCreateTimeEnd() != null) {
-            sql.append(" and CREATE_TIME <:createTimeEnd ");
+            sql.append(" and ft.CREATE_TIME <:createTimeEnd ");
             paramts.put("createTimeEnd", param.getCreateTimeEnd() * 1000000 + 240000);
         }
         //鎺ユ敹鏃堕棿
@@ -259,7 +281,7 @@
             paramts.put("inTimeEnd", param.getEndTime() * 1000000 + 240000);
         }
 
-        sql.append(" ORDER BY CREATE_TIME DESC");
+        sql.append(" ORDER BY ft.CREATE_TIME DESC");
         GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormTransfer());
         return genericPager;
 
@@ -278,10 +300,9 @@
             BeanUtils.copyProperties(lWhFormTransfer, result);
         }
 
-        String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME "
+        String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME,bgt.CLASSIFICATION type "
             + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID "
-            + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID "
-            + "WHERE pm.BUSINESS_ID =:id GROUP BY bgt.id ";
+            + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + "WHERE pm.BUSINESS_ID =:id GROUP BY bgt.id ";
         Map<String, Object> paramMap = new HashMap<>();
         paramMap.put("id", result.getId());
         List<Map<String, Object>> procureModelList = lWhFormOutputService.select(sql, paramMap, new MapperUtil());
@@ -293,36 +314,44 @@
             List<GoodsModelVO> goodsModelVOList = Lists.newArrayList();
             String sql2 = "SELECT pm.id,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount "
                 + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID "
-                + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID "
-                + "WHERE pm.BUSINESS_ID =:id";
+                + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + "WHERE pm.BUSINESS_ID =:id";
             List<Map<String, Object>> modelList = lWhFormOutputService.select(sql2, paramMap, new MapperUtil());
             modelList.forEach(item -> {
                 GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsModelVO.class);
+                Integer businessType = result.getBusinessType();
+                String type = procureTemplateInfoVO.getType();
+                //閮ㄩ棬鍒嗗彂闇�瑕佹煡璇娇鐢ㄤ俊鎭�
+                if (businessType == 1 && "A".equals(type)) {
+                    Long procureModelId = goodsModelVO.getId();
+                    LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
+                    lWhProcureModelUser.setWhProcureModelId(procureModelId);
+                    List<LWhProcureModelUser> procureModelUserList = this.lWhProcureModelUserService.select(lWhProcureModelUser);
+                    if (!CollectionUtils.isEmpty(procureModelUserList)) {
+                        List<DepartGoodsUseInfo> departGoodsUseInfoList = Lists.newArrayList();
+                        procureModelUserList.forEach(useInfo -> {
+                            Integer goodsNum = useInfo.getGoodsNum();
+                            Long nowUserPhone = useInfo.getNowUserPhone();
+                            String nowUserName = useInfo.getNowUserName();
+                            DepartGoodsUseInfo departGoodsUseInfo = new DepartGoodsUseInfo();
+                            departGoodsUseInfo.setName(nowUserName);
+                            departGoodsUseInfo.setNum(goodsNum);
+                            departGoodsUseInfo.setTel(nowUserPhone);
+                            departGoodsUseInfoList.add(departGoodsUseInfo);
+                        });
+                        goodsModelVO.setUseInfo(departGoodsUseInfoList);
+                    }
+                    // TODO 閮ㄩ棬鍚嶇О
+//                result.setDepartmentName();
+
+                }
                 goodsModelVOList.add(goodsModelVO);
             });
+
             procureTemplateInfoVO.setModels(goodsModelVOList);
             formTransferGoods.add(procureTemplateInfoVO);
         }
         result.setFormTransferGoods(formTransferGoods);
 
-        /*//2.鏌ヨ鐗╁搧鍨嬪彿
-        //List<LWhProcureModel> models = this.lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, id);
-        List<LWhProcureModel> models = this.lWhProcureModelService.getModelByForm(null, id);
-
-        if (!CollectionUtils.isEmpty(models)) {
-            List<LWhProcureModelVo> lWhProcureModelVoList = Lists.newArrayList();
-            for (LWhProcureModel model : models) {
-                LWhProcureModelVo lWhProcureModelVo = new LWhProcureModelVo();
-                BeanUtils.copyProperties(model, lWhProcureModelVo);
-
-                LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
-                lWhProcureModelUser.setWhProcureModelId(model.getId());
-                List<LWhProcureModelUser> select = lWhProcureModelUserService.select(lWhProcureModelUser);
-                lWhProcureModelVo.setProcureModelUsersList(select);
-                lWhProcureModelVoList.add(lWhProcureModelVo);
-            }
-            vo.setModels(lWhProcureModelVoList);
-        }*/
         return result;
     }
 
@@ -380,15 +409,12 @@
 
         HashMap<String, Object> paramts = new HashMap<>();
         StringBuilder sql = new StringBuilder(
-            "SELECT\n" + "\tft.id,\n" + "\tft.BUSINESS_FORM_CODE businessCode,\n" + "\tbgt.GOODS_NAME goodsName,\n" + "\tbgt.CLASSIFICATION goodsType,\n"
-                + "\tbgm.id goodsModelId,\n" + "\tbgm.MODEL_NAME goodsModelName,\n" + "\tpm.COUNTS goodsCount,\n" + "\tfst.`name` tennatName,\n"
-                + "\tfstd.NAME departmentName,\n" + "\tft.OPERATOR_ID distributor,\n" + "\tft.CREATE_TIME TIME \n" + "FROM\n" + "\tl_wh_form_transfer ft\n"
-                + "\tLEFT JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID\n"
-                + "\tLEFT JOIN base_goods_models bgm ON bgm.GOODS_TEMPLATES_ID = pm.BASE_GOODS_MODELS_ID\n"
-                + "\tLEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID\n"
-                + "\tLEFT JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID\n"
-                + "\tLEFT JOIN fin_sys_tenant_department fstd ON fstu.SYS_DEPT_ID = fstd.ID \n"
-                + "\tLEFT JOIN fin_sys_tenant fst ON fst.id = fstd.TENANT_ID where 1=1 ");
+            "SELECT ft.id,ft.BUSINESS_FORM_CODE,bgt.GOODS_NAME,bgt.CLASSIFICATION type,bgm.id goodsModelId,bgm.MODEL_NAME goodsModelName,pm.COUNTS goodsCount,fst.`name` tenantName,"
+                + "fstd.NAME departmentName,ft.OPERATOR_ID,ft.CREATE_TIME FROM l_wh_form_transfer ft "
+                + "inner JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID " + "inner JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID "
+                + "inner JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + "inner JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID "
+                + "inner JOIN fin_sys_tenant_department fstd ON fstu.SYS_DEPT_ID = fstd.ID "
+                + "inner JOIN fin_sys_tenant fst ON fst.id = fstd.TENANT_ID where ft.BUSINESS_TYPE =1 ");
         //鍗曞彿
         if (StringUtils.isNotEmpty(transferQry.getBusinessFormCode())) {
             sql.append("AND BUSINESS_FORM_CODE like :businessFormCode ");
@@ -416,18 +442,18 @@
             paramts.put("OPERATOR_NAME", transferQry.getOperatorName());
         }
         //鐢宠鏃堕棿
-        if (transferQry.getCreateTimeStart() != null) {
+        if (transferQry.getStartTime() != null) {
             sql.append("AND ft.CREATE_TIME >=:createTimeStart ");
-            paramts.put("createTimeStart", transferQry.getCreateTimeStart() * 1000000);
+            paramts.put("createTimeStart", transferQry.getStartTime() * 1000000);
         }
-        if (transferQry.getCreateTimeEnd() != null) {
+        if (transferQry.getEndTime() != null) {
             sql.append("AND ft.CREATE_TIME <:createTimeEnd ");
-            paramts.put("createTimeEnd", transferQry.getCreateTimeEnd() * 1000000 + 240000);
+            paramts.put("createTimeEnd", transferQry.getEndTime() * 1000000 + 240000);
         }
         sql.append("ORDER BY ft.CREATE_TIME DESC");
 
         GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), paramts, transferQry.getPageNum(), transferQry.getPageSize(),
-            new MapRowMapper());
+            new MapperUtil());
 
         return mapGenericPager;
     }
@@ -436,23 +462,13 @@
     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 ");
+        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());
@@ -502,21 +518,15 @@
 
     public List<Map<String, Object>> queryDepartmentTransferOrder() {
 
-        String sql = "SELECT ft.id,\n"
-            + "       ft.BUSINESS_FORM_CODE,\n"
-            + "       gr.GOODS_TEMPLATE_NAME,\n"
-            + "       gr.BASE_GOODS_TEMPLATE_ID goodsTemplateId,\n"
-            + "       ft.CREATE_TIME\n"
-            + "\n"
-            + "FROM l_wh_form_transfer ft\n"
-            + "         LEFT JOIN L_WAREHOUSE_FLOW wf ON ft.id = wf.BUSINESS_FORM_ID\n"
-            + "         left join L_WH_GOODS_RECORD gr on gr.WAREHOUSE_FLOW_ID = wf.id\n"
-            + "         LEFT JOIN L_GOODS_WH_RECORD gwr on gwr.WAREHOUSE_FLOW_ID = wf.id\n"
-            + "         left join L_WH_GOODS g on g.id = gwr.WH_GOODS_ID where ft.BUSINESS_TYPE = 1 GROUP BY gr.BASE_GOODS_TEMPLATE_ID \n";
+        String sql =
+            "SELECT ft.id,\n" + "       ft.BUSINESS_FORM_CODE,\n" + "       gr.GOODS_TEMPLATE_NAME,\n" + "       gr.BASE_GOODS_TEMPLATE_ID goodsTemplateId,\n"
+                + "       ft.CREATE_TIME\n" + "\n" + "FROM l_wh_form_transfer ft\n" + "         LEFT JOIN L_WAREHOUSE_FLOW wf ON ft.id = wf.BUSINESS_FORM_ID\n"
+                + "         left join L_WH_GOODS_RECORD gr on gr.WAREHOUSE_FLOW_ID = wf.id\n"
+                + "         LEFT JOIN L_GOODS_WH_RECORD gwr on gwr.WAREHOUSE_FLOW_ID = wf.id\n"
+                + "         left join L_WH_GOODS g on g.id = gwr.WH_GOODS_ID where ft.BUSINESS_TYPE = 1 GROUP BY gr.BASE_GOODS_TEMPLATE_ID \n";
         HashMap<String, Object> param = new HashMap<>();
         List<Map<String, Object>> select = this.select(sql, param, new MapperUtil());
         select.forEach(item -> {
-
 
         });
         return select;

--
Gitblit v1.9.1