From d8fb6d11aa24b77b8bbcc5740140d31f5692837d Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期四, 16 十一月 2023 16:11:05 +0800
Subject: [PATCH] feat: 调拨调整

---
 consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java    |   27 ----
 consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java     |  106 ++++++++++-------
 consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java     |   20 +--
 consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java    |   10 +
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java       |    1 
 consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java     |   12 -
 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java      |    7 
 consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java                    |   12 +
 consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java      |   13 +-
 consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java   |   50 ++++----
 consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java       |   21 ++-
 consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java |   27 +--
 consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java    |   44 +-----
 13 files changed, 160 insertions(+), 190 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 27c9099..241bff7 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
@@ -20,18 +20,14 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.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;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description 鐗╁搧妯℃澘
@@ -205,13 +201,12 @@
         Map<String, Object> map = new HashMap<>();
         map.put("categoryId", categoryId);
 
-        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(agencyId);
-        baseWarehouseList.forEach(baseWarehouse -> {
-            Integer isDefault = baseWarehouse.getIsDefault();
-            if (isDefault == 1) {
-                map.put("warehouseId", baseWarehouse.getId());
-            }
-        });
+        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(agencyId,(short)1,(short)1);
+        if (CollectionUtils.isEmpty(baseWarehouseList)){
+            return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒");
+
+        }
+        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 "
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 f6bb989..e8835d4 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
@@ -7,14 +7,10 @@
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.web.ResponseValue;
-import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * @Description 浠撳簱绠$悊
@@ -139,7 +135,7 @@
 //        if (agencyId == null) {
 //            return ResponseValue.error("鏈烘瀯id涓虹┖");
 //        }
-        List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId);
+        List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId,null,null);
         if (list == null) {
             return ResponseValue.error("鏌ヨ澶辫触锛�");
         }
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 38adcd8..b3e027c 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
@@ -11,27 +11,9 @@
 import com.consum.base.pojo.LWhFormProcureParam;
 import com.consum.base.pojo.LWhProcureModelParam;
 import com.consum.base.pojo.query.FormProcureQry;
-import com.consum.base.pojo.response.FormProcureVO;
-import com.consum.base.pojo.response.FromProcureTemplateInfoVO;
-import com.consum.base.pojo.response.GoodsModelVO;
-import com.consum.base.pojo.response.LWhFormProcureExtendVO;
-import com.consum.base.pojo.response.LWhFormProcureGoodsVO;
-import com.consum.base.service.BaseGoodsTemplateServiceImpl;
-import com.consum.base.service.BaseWarehouseServiceImpl;
-import com.consum.base.service.FinSysTenantServiceImpl;
-import com.consum.base.service.LOrgSupplierServiceImpl;
-import com.consum.base.service.LWhFormProcureCoreService;
-import com.consum.base.service.LWhFormProcureGoodsService;
-import com.consum.base.service.LWhFormProcureService;
-import com.consum.base.service.LWhGoodsService;
-import com.consum.base.service.LWhProcureModelService;
-import com.consum.model.po.BaseGoodsTemplate;
-import com.consum.model.po.BaseWarehouse;
-import com.consum.model.po.FinSysTenantUser;
-import com.consum.model.po.LOrgSupplier;
-import com.consum.model.po.LWhFormProcure;
-import com.consum.model.po.LWhFormProcureGoods;
-import com.consum.model.po.LWhProcureModel;
+import com.consum.base.pojo.response.*;
+import com.consum.base.service.*;
+import com.consum.model.po.*;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.CollectionUtils;
@@ -41,22 +23,13 @@
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import javax.annotation.Resource;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
-import org.springframework.web.bind.annotation.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;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.lang.reflect.Field;
+import java.util.*;
 
 /**
  * @ClassName LWhFormProcureController
@@ -178,6 +151,7 @@
                 model.setCounts(counts);
                 model.setWorehouseCount(goodsModelNum);
                 model.setSupplier(supplier);
+                model.setTotalAmount(price*counts);
                 procureModelList.add(model);
             }
             procureGoodList.add(procureGood);
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 24c767c..9527206 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,28 +4,14 @@
 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.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.*;
 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.BaseGoodsModelsServiceImpl;
-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.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.base.service.*;
+import com.consum.model.po.*;
 import com.consum.model.vo.LWhFormOutputVo;
 import com.iplatform.model.po.S_user_core;
 import com.walker.db.page.GenericPager;
@@ -36,19 +22,16 @@
 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 璋冩嫧绠$悊
@@ -72,7 +55,8 @@
     private LWhProcureModelUserRecordServiceImpl lWhProcureModelUserRecordService;
     @Autowired
     private BaseGoodsModelsServiceImpl baseGoodsModelsService;
-
+    @Autowired
+    private BaseWarehouseServiceImpl baseWarehouseService;
     /**
      * @Description 鏂板
      */
@@ -254,6 +238,20 @@
     })
     @PostMapping("/output")
     public ResponseValue output(Long id) {
+        // 鍑哄簱鍓� 璁剧疆鍑哄簱浠撳簱
+        FinSysTenantUser sysTenantUser = this.getSysInfo();
+        String agencyId = sysTenantUser.getTenantId();
+        List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(Long.valueOf(agencyId), (short) 1, (short) 1);
+        if (CollectionUtils.isEmpty(baseWarehouseList)){
+            return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒");
+        }
+        BaseWarehouse baseWarehouse = baseWarehouseList.get(0);
+        Long wareHouseId = baseWarehouse.getId();
+        String warehouseName = baseWarehouse.getWarehouseName();
+        LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id);
+        lWhFormTransfer.setOutWarehouseId(wareHouseId);
+        lWhFormTransfer.setOutWarehouseName(warehouseName);
+        lWhFormTransferService.update(lWhFormTransfer);
         lWhFormTransferCoreService.doTransferOutPut(id, getCurrentUser());
         return ResponseValue.success();
     }
diff --git a/consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java b/consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java
index 9e6a578..2e6445f 100644
--- a/consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java
+++ b/consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java
@@ -2,7 +2,6 @@
 
 /**
  * @ClassName WhBusinessEnum
-
  * @Date 2023/10/24
  * @Description 鍗曟嵁绫诲瀷
  * @Version 1.0
@@ -27,7 +26,16 @@
     /**
      * 鎶ュ簾
      */
-    BAOFEI((short) 5);
+    BAOFEI((short) 5),
+    /**
+     * 閮ㄩ棬鐗╁搧鍥為��浠撳簱
+     */
+    BUMENTUIHUI((short) 6),
+    /**
+     * 鐗╁搧鐩樼偣
+     */
+    PANDIAN((short) 7),
+    ;
 
     private short value;
 
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 fbc426c..a52006d 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
@@ -11,15 +11,12 @@
 import com.walker.db.page.GenericPager;
 import com.walker.infrastructure.utils.StringUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-import java.util.stream.Collectors;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Description 浠撳簱绠$悊
@@ -174,7 +171,7 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/27
      */
-    public List<BaseWarehouse> getByAgencyId(Long agencyId) {
+    public List<BaseWarehouse> getByAgencyId(Long agencyId, Short isDefault, Short states) {
         StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
 
@@ -183,6 +180,16 @@
             sql.append(" and AGENCY_ID =:AGENCY_ID ");
             paramts.put("AGENCY_ID", agencyId);
         }
+        // 鏄惁涓洪粯璁や粨搴�
+        if (isDefault != null) {
+            sql.append(" and IS_DEFAULT =:isDefault ");
+            paramts.put("isDefault", isDefault);
+        }
+        // 鐘舵��
+        if (states != null) {
+            sql.append(" and states =:states ");
+            paramts.put("states", states);
+        }
         return select(sql.toString(), paramts, new BaseWarehouse());
     }
 
diff --git a/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java b/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java
index 094eb08..be46afc 100644
--- a/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java
@@ -6,13 +6,15 @@
 import com.consum.model.po.LWhProcureModelUser;
 import com.consum.model.po.LWhProcureModelUserRecord;
 import com.walker.infrastructure.utils.NumberGenerator;
-import java.util.ArrayList;
-import java.util.List;
-import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * @ClassName LGoodsUserRecordCoreService
@@ -55,6 +57,8 @@
         // 灏嗘墍鏈夌墿鍝佽缃负鏈垎鍙�
         List<Long> srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(inWarehouseType, inWarehouseId, transBusinessId, null, null, null, null);
         lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3);
+        // 鍒犻櫎璇ヨ皟鎷ㄥ崟鏃ф湁浣跨敤璁板綍
+        lGoodsUserRecordService.delete(new LGoodsUserRecord(), "where TRANS_BUSINESS_ID =" + transBusinessId, new HashMap<>());
         // 璁剧疆鏃х殑LAST_RECORD= 0
         lGoodsUserRecordService.updSetNotLast(srappedGoodsIds);
         //鎻掑叆鏂扮殑
diff --git a/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java
index 5cd97eb..db01bda 100644
--- a/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java
@@ -1,11 +1,11 @@
 package com.consum.base.service;
 
 import com.walker.jdbc.service.BaseServiceImpl;
-import java.util.ArrayList;
-import java.util.List;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
  * @ClassName LGoodsUserRecordServiceImpl
@@ -26,28 +26,5 @@
     public int updSetNotLast(List<Long> outGoodsIds) {
         return this.update(updSetNotLast + StringUtils.join(outGoodsIds, ",") + ")", new String[]{});
     }
-
-    /**
-     * 閫氳繃 璋冩嫧鍗旾D 鎴栬�� 鍒嗗彂璁板綍琛╥d 鍒犻櫎
-     */
-    private static String DEL_BY_TRANDS_AND_RECORDID = "delete from L_GOODS_USER_RECORD where 1=1";
-
-    public int delByTrandsAndRecordId(Long transBusinessId, Long procureModelUserRecordId) {
-        if (transBusinessId == null && procureModelUserRecordId == null) {
-            return 0;
-        }
-        ArrayList<Object> params = new ArrayList<>();
-        StringBuilder sql = new StringBuilder(DEL_BY_TRANDS_AND_RECORDID);
-        if (transBusinessId != null) {
-            sql.append(" and TRANS_BUSINESS_ID =?");
-            params.add(transBusinessId);
-        }
-        if (procureModelUserRecordId != null) {
-            sql.append(" and PROCURE_MODEL_USER_RECORD_ID =?");
-            params.add(procureModelUserRecordId);
-        }
-        return update(sql.toString(), params.toArray());
-    }
-
 
 }
diff --git a/consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java
index 3a20477..53975c5 100644
--- a/consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java
@@ -1,6 +1,7 @@
 package com.consum.base.service;
 
 import com.walker.jdbc.service.BaseServiceImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -17,25 +18,23 @@
 @Service
 @Transactional(rollbackFor = Exception.class)
 public class LGoodsWhRecordServiceImpl extends BaseServiceImpl {
-    private static String insert_new_record = "INSERT INTO L_GOODS_WH_RECORD (WAREHOUSE_FLOW_ID,DEAL_TIME,LAST_RECORD, WH_GOODS_ID,WAREHOUSE_TYPE, WAREHOUSE_ID)SELECT ?, ?,1,ID, WAREHOUSE_TYPE, WAREHOUSE_ID FROM L_WH_GOODS WHERE ID IN (?)";
+    private static String insert_new_record = "INSERT INTO L_GOODS_WH_RECORD (WAREHOUSE_FLOW_ID,DEAL_TIME,LAST_RECORD, WH_GOODS_ID,WAREHOUSE_TYPE, WAREHOUSE_ID)SELECT ?, ?,1,ID, WAREHOUSE_TYPE, WAREHOUSE_ID FROM L_WH_GOODS WHERE ID IN (";
 
     public int insertNewRecord(List<Long> outGoodsIds, long lWarehouseFlowId, long dealTime) {
         this.updSetNotLast(outGoodsIds);
         ArrayList<Object> params = new ArrayList<>();
         params.add(lWarehouseFlowId);
         params.add(dealTime);
-        params.add(outGoodsIds);
-        return this.update(insert_new_record, params.toArray());
+        return this.update(insert_new_record + StringUtils.join(outGoodsIds, ",") + ")", params.toArray());
+
     }
 
     /**
      * 璁剧疆涓洪潪鏈�鏂�
      */
-    private static String updSetNotLast = "update L_GOODS_WH_RECORD set LAST_RECORD = 0 where WH_GOODS_ID in(?) and LAST_RECORD=1";
+    private static String updSetNotLast = "update L_GOODS_WH_RECORD set LAST_RECORD = 0 where LAST_RECORD=1 and WH_GOODS_ID in(";
 
     public int updSetNotLast(List<Long> outGoodsIds) {
-        ArrayList<Object> params = new ArrayList<>();
-        params.add(outGoodsIds);
-        return this.update(updSetNotLast, params.toArray());
+        return this.update(updSetNotLast + StringUtils.join(outGoodsIds, ",") + ")", new String[]{});
     }
 }
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 d85b03e..a44e229 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
@@ -123,19 +123,22 @@
                 whGoodsRecord.setThisCount(modelCount);
                 whGoodsRecord.setEndCount(goodsModelNum + modelCount);
 
+                long totalPrice = 0;
                 //灏嗗悓鍨嬪彿鐨勭墿鍝佹彃鍏� 搴撳瓨鐗╁搧璇︽儏
                 List<LWhProcureModel> lWhProcureModels = sameModelList.get(baseGoodsModelsId);
-                lWhProcureModels.forEach(item -> {
+                for (LWhProcureModel item : lWhProcureModels) {
                     //渚涘簲鍟�
                     String supplier = item.getSupplier();
                     //浠锋牸
                     Long price = item.getPrice();
                     //鐗╁搧涓暟
                     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);
-                });
+                };
+                whGoodsRecord.setTotalPrice(totalPrice);
             }
             lWhGoodsRecordService.insert(whGoodsRecord);
         });
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 b7b201d..c1bfa39 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
@@ -121,6 +121,7 @@
         whFormOutput.setOutputName("璋冩嫧鍑哄簱");
         whFormOutput.setWarehouseId(outWarehouseId);
         whFormOutput.setWarehouseName(outWarehouseName);
+        // 杩欐牱灏辨煡璇笉鍒拌鏉¤褰�
         whFormOutput.setAgencyId(null);
         whFormOutput.setAgencyName(null);
         whFormOutput.setOperatorId(currentUser.getId());
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 853a005..69fcc5e 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
@@ -70,14 +70,25 @@
         // 鍑哄簱鍗旾D
         Long outWarehouseFormId = null;
         try {
-            // 鏍规嵁璋冩嫧鍗� 鐢熸垚 鍑哄簱鍗�
+            // 鏍规嵁璋冩嫧鍗� 鐢熸垚 鍑哄簱鍗� 杩欐牱灏辫兘鍏敤鍑哄簱
             outWarehouseFormId = lWhFormOutputCoreService.createOutFormByTransId(whFormTransferId, currentUser, dealTime);
         } catch (Exception e) {
             log.error(e.getMessage());
             return;
         }
+        //鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為��
+        Integer businessType = lWhFormTransfer.getBusinessType();
+        businessType = businessType == null ? 0 : businessType;
+        WhBusinessEnum businessEnum = WhBusinessEnum.DIAOBO;
+        if (businessType == 0) {
+            businessEnum = WhBusinessEnum.DIAOBO;
+        } else if (businessType == 1) {
+            businessEnum = WhBusinessEnum.BUMENFENFA;
+        } else if (businessType == 2) {
+            businessEnum = WhBusinessEnum.BUMENTUIHUI;
+        }
         // 鍑哄簱鍗� 鍑哄簱锛岃繑鍥� 鍑哄簱鍗曟祦姘碔d
-        Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, WhBusinessEnum.DIAOBO, currentUser, dealTime);
+        Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser, dealTime);
 
         // 鏇存柊璋冩嫧鍗�
         lWhFormTransfer = new LWhFormTransfer(whFormTransferId);
@@ -165,52 +176,54 @@
                 List<Long> outGoodsIds = getGoodsidByFlowId(outWarehouseFlowId, oldRecordId);
                 // 搴撳瓨鐗╁搧璇︽儏锛圠_WH_GOODS锛変腑 鐘舵�佽缃负1
                 lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName, goodsStatus);
-                //姝ゆ椂瑕佸線 鐗╁搧浣跨敤璁板綍銆怢_GOODS_USER_RECORD銆戞坊鍔犳暟鎹�
-                //鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜�
-                LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
-                lWhProcureModelUser.setTransBusinessId(whFormTransferId);
-                lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId);
-                List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser);
-                int totalGoodsNum = goodsUserInfo.stream().mapToInt(LWhProcureModelUser::getGoodsNum).sum();
-                if (totalGoodsNum != outGoodsIds.size()) {
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�");
+                if (businessType == 1){
+                    // 1閮ㄩ棬鍒嗗彂 姝ゆ椂瑕佸線 鐗╁搧浣跨敤璁板綍銆怢_GOODS_USER_RECORD銆戞坊鍔犳暟鎹�
+                    //鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜�
+                    LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
+                    lWhProcureModelUser.setTransBusinessId(whFormTransferId);
+                    lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId);
+                    List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser);
+                    int totalGoodsNum = goodsUserInfo.stream().mapToInt(LWhProcureModelUser::getGoodsNum).sum();
+                    if (totalGoodsNum != outGoodsIds.size()) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�");
 //                        log.error("鍒涘缓鍏ュ簱鍗曞け璐�");
-                }
-                //灏嗙墿鍝佸瀷鍙蜂互鍓嶇殑浣跨敤璁板綍璁剧疆涓洪潪鏈�鏂�
-                lGoodsUserRecordService.updSetNotLast(outGoodsIds);
-                ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>();
-                int startIndex = 0;
-                for (LWhProcureModelUser whProcureModelUser : goodsUserInfo) {
-                    Integer goodsNum = whProcureModelUser.getGoodsNum();
-                    String nowUserName = whProcureModelUser.getNowUserName();
-                    Long nowUserPhone = whProcureModelUser.getNowUserPhone();
-                    Long procureModelUserRecordId = whProcureModelUser.getProcureModelUserRecordId();
-                    List<Long> goodsIds = outGoodsIds.subList(startIndex, startIndex + goodsNum);
-                    for (Long goodsId : goodsIds) {
-                        LGoodsUserRecord tmp = new LGoodsUserRecord();
-                        tmp.setWhGoodsId(goodsId);
-                        tmp.setRecordType(recordType);
-                        tmp.setTransBusinessId(whFormTransferId);
-                        if (businessType == 1) {
-                            tmp.setNowUserName(nowUserName);
-                            tmp.setNowUserPhone(nowUserPhone);
-                        } else if (businessType == 2) {
-                            tmp.setNowUserName(null);
-                            tmp.setNowUserPhone(null);
-                        }
-                        tmp.setProcureModelUserRecordId(procureModelUserRecordId);
-                        tmp.setOperatorId(userId);
-                        tmp.setOperatorName(nickName);
-                        tmp.setDealTime(dealTime);
-                        tmp.setLastRecord(1);
-                        goodsUserRecordList.add(tmp);
                     }
-                    // 鏇存柊涓嬫爣浣嶇疆
-                    startIndex += goodsNum;
+                    //灏嗙墿鍝佸瀷鍙蜂互鍓嶇殑浣跨敤璁板綍璁剧疆涓洪潪鏈�鏂�
+                    lGoodsUserRecordService.updSetNotLast(outGoodsIds);
+                    ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>();
+                    int startIndex = 0;
+                    for (LWhProcureModelUser whProcureModelUser : goodsUserInfo) {
+                        Integer goodsNum = whProcureModelUser.getGoodsNum();
+                        String nowUserName = whProcureModelUser.getNowUserName();
+                        Long nowUserPhone = whProcureModelUser.getNowUserPhone();
+                        Long procureModelUserRecordId = whProcureModelUser.getProcureModelUserRecordId();
+                        List<Long> goodsIds = outGoodsIds.subList(startIndex, startIndex + goodsNum);
+                        for (Long goodsId : goodsIds) {
+                            LGoodsUserRecord tmp = new LGoodsUserRecord();
+                            tmp.setWhGoodsId(goodsId);
+                            tmp.setRecordType(recordType);
+                            tmp.setTransBusinessId(whFormTransferId);
+                            if (businessType == 1) {
+                                tmp.setNowUserName(nowUserName);
+                                tmp.setNowUserPhone(nowUserPhone);
+                            } else if (businessType == 2) {
+                                tmp.setNowUserName(null);
+                                tmp.setNowUserPhone(null);
+                            }
+                            tmp.setProcureModelUserRecordId(procureModelUserRecordId);
+                            tmp.setOperatorId(userId);
+                            tmp.setOperatorName(nickName);
+                            tmp.setDealTime(dealTime);
+                            tmp.setLastRecord(1);
+                            goodsUserRecordList.add(tmp);
+                        }
+                        // 鏇存柊涓嬫爣浣嶇疆
+                        startIndex += goodsNum;
+                    }
+                    //鎵归噺鎻掑叆浣跨敤浜鸿褰�
+                    lGoodsUserRecordService.insertBatch(goodsUserRecordList);
                 }
-                //鎵归噺鎻掑叆浣跨敤浜鸿褰�
-                lGoodsUserRecordService.insertBatch(goodsUserRecordList);
                 //灏嗕繚绠′粨搴撲俊鎭洿鏂板埌 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆�
                 lGoodsWhRecordService.insertNewRecord(outGoodsIds, inWarehouseFlowId, dealTime);
 
@@ -223,7 +236,8 @@
             lWhGoodsRecordDetails.setWhGoodsRecordId(oldRecordId);
             List<LWhGoodsRecordDetails> goodsRecordDetailsList = lWhGoodsRecordDetailsService.select(lWhGoodsRecordDetails);
             for (LWhGoodsRecordDetails whGoodsRecordDetails : goodsRecordDetailsList) {
-                whGoodsRecordDetails.setId(NumberGenerator.getLongSequenceNumber());
+                whGoodsRecordDetails.setId(null);
+                whGoodsRecordDetails.setWhGoodsRecordId(whGoodsRecord.getId());
                 whGoodsRecordDetails.setThisType(1);
             }
             lWhGoodsRecordDetailsService.insertBatch(goodsRecordDetailsList);
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 c0ca71b..80a1143 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,15 +14,7 @@
 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.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.po.*;
 import com.consum.model.vo.LWhFormOutputVo;
 import com.consum.model.vo.LWhGoodsRecordVo;
 import com.iplatform.model.po.S_user_core;
@@ -30,16 +22,17 @@
 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 璋冩嫧绠$悊
@@ -100,6 +93,7 @@
             log.error("浠撳簱涓嶅瓨鍦�");
             throw new Exception("浠撳簱涓嶅瓨鍦�");
         }
+        lWhFormTransfer.setInWarehouseId(warehouse.getId());
         lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName());
         lWhFormTransfer.setInAgencyId(Long.valueOf(tenantId));
         lWhFormTransfer.setInAgencyName(sysInfo.getTenantName());

--
Gitblit v1.9.1