From b4adff68a07b783fc90da1c9370d8be5f383e700 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期三, 08 五月 2024 13:46:34 +0800
Subject: [PATCH] 20240528修改: bug41、42、43修改 领用单(分发单),调拨单,流程优化

---
 consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java |   96 ++++++++++++------------------------------------
 1 files changed, 24 insertions(+), 72 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
index 2d800cf..9977d08 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -13,6 +13,7 @@
 import org.springframework.beans.BeanUtils;
 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 org.springframework.util.CollectionUtils;
 
@@ -21,6 +22,7 @@
 import com.consum.base.core.type.CategoryType;
 import com.consum.base.core.type.StatesType;
 import com.consum.base.core.type.TransferBusinessType;
+import com.consum.base.core.type.TransferStatesType;
 import com.consum.base.core.type.WareHouseType;
 import com.consum.base.core.utils.CurrencyUtil;
 import com.consum.base.core.utils.IdUtil;
@@ -95,7 +97,8 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/30
      */
-    public long add(LWhFormTransferParam param, FinSysTenantUser sysInfo) throws Exception {
+    @Transactional(rollbackFor = Exception.class)
+    public long add(LWhFormTransferParam param, FinSysTenantUser sysInfo,boolean isHaveDoc) throws Exception {
         // 1.鏂板璋冩嫧鍗曡褰�
         LWhFormTransfer lWhFormTransfer = new LWhFormTransfer();
         // 璋冩嫧鍗昳d
@@ -119,10 +122,11 @@
             // 鍏ュ簱浠撳簱涓哄綋鍓嶇敤鎴风殑榛樿浠撳簱涓殑绗竴涓�
             String tenantId = sysInfo.getTenantId();
             String tenantName = sysInfo.getTenantName();
-            BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId));
+            BaseWarehouse warehouse = baseWarehouseService.getWarehouseByAgencyId(Long.valueOf(tenantId), null);
             if (warehouse == null) {
                 log.error("浠撳簱涓嶅瓨鍦�");
-                throw new Exception("浠撳簱涓嶅瓨鍦�");
+                //throw new Exception("浠撳簱涓嶅瓨鍦�");
+                return -2L;
             }
             lWhFormTransfer.setInWarehouseId(warehouse.getId());
             lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName());
@@ -141,7 +145,8 @@
             List<BaseWarehouseManager> managerList = baseWarehouseManagerService.select(manager);
             if (CollectionUtils.isEmpty(managerList)) {
                 log.error("璇ョ敤鎴蜂笉鏄簱绠″憳");
-                throw new Exception("璇ョ敤鎴蜂笉鏄簱绠″憳");
+                //throw new Exception("璇ョ敤鎴蜂笉鏄簱绠″憳");
+                return -1L;
             }
             BaseWarehouseManager baseWarehouseManager = managerList.stream().findFirst().orElse(null);
             Long baseWarehouseId = baseWarehouseManager.getBaseWarehouseId();
@@ -153,7 +158,11 @@
             lWhFormTransfer.setInWarehouseId(param.getDepartmentId());
             lWhFormTransfer.setInWarehouseName(param.getDepartmentName());
             lWhFormTransfer.setInOperatorName(param.getOperatorName());
-            lWhFormTransfer.setInTime(param.getCreateTime());
+
+            if(!isHaveDoc){
+                lWhFormTransfer.setInTime(param.getCreateTime());
+            }
+
 
             lWhFormTransfer.setOutWarehouseType(WareHouseType.TENANT.getValue());
             lWhFormTransfer.setOutWarehouseId(warehouse.getId());
@@ -161,7 +170,10 @@
 
             lWhFormTransfer.setOutOperatorId(sysInfo.getId());
             lWhFormTransfer.setOutOperatorName(sysInfo.getUserName());
-            lWhFormTransfer.setOutputTime(param.getCreateTime());
+
+            if(!isHaveDoc) {
+                lWhFormTransfer.setOutputTime(param.getCreateTime());
+            }
             lWhFormTransfer.setTel(param.getTel());
 
         }
@@ -170,6 +182,7 @@
         FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId()));
         if (finSysTenant == null) {
             log.error("璋冩嫧鏈烘瀯涓嶅瓨鍦�");
+            throw new Exception("璋冩嫧鏈烘瀯涓嶅瓨鍦�");
         }
         Long outAgencyId = finSysTenant.getId();
         lWhFormTransfer.setOutAgencyId(outAgencyId);
@@ -178,7 +191,7 @@
         lWhFormTransfer.setOperatorName(sysInfo.getUserName());
         lWhFormTransfer.setCreateTime(param.getCreateTime());
         // 0=寰呭嚭搴擄紱1=寰呮帴鏀讹紱2=宸插叆搴撳簱:4=宸叉挙閿�
-        lWhFormTransfer.setStates(0);
+        lWhFormTransfer.setStates(TransferStatesType.OUT_PENDING.getValue());
         lWhFormTransfer.setProcureDoc(param.getProcureDoc());
 
         int flag1 = this.insert(lWhFormTransfer);
@@ -441,67 +454,6 @@
         }
         result.setFormTransferGoods(goodsTemplateInfoList);
 
-        // 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 ";
-        // Map<String, Object> paramMap = new HashMap<>();
-        // paramMap.put("id", result.getId());
-        // List<Map<String, Object>> procureModelList = this.select(sql, paramMap, new MapperUtil());
-        //
-        // String queryRecord =
-        // "SELECT * FROM l_wh_procure_model_user_record where TRANS_BUSINESS_ID = :id order by DEAL_TIME desc limit 1";
-        // LWhProcureModelUserRecord lWhProcureModelUserRecord =
-        // lWhProcureModelUserRecordService.get(queryRecord, paramMap, new LWhProcureModelUserRecord());
-        // List<FormTransferGoodsVO> formTransferGoods = Lists.newArrayList();
-        // for (Map<String, Object> map : procureModelList) {
-        // FormTransferGoodsVO procureTemplateInfoVO = MapUtils.convertMapToObj(map, FormTransferGoodsVO.class);
-        // Long baseGoodsTemplateId = procureTemplateInfoVO.getId();
-        // // 鏌ヨ鍨嬪彿鏁伴噺
-        // 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 and bgt.id =:baseGoodsTemplateId";
-        // Map<String, Object> goodsModelParamMap = new HashMap<>();
-        // goodsModelParamMap.put("id", result.getId());
-        // goodsModelParamMap.put("baseGoodsTemplateId", baseGoodsTemplateId);
-        // List<Map<String, Object>> modelList = this.select(sql2, goodsModelParamMap, 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);
-        // lWhProcureModelUser.setProcureModelUserRecordId(lWhProcureModelUserRecord.getId());
-        // 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);
-        // }
-        //
-        // }
-        // goodsModelVOList.add(goodsModelVO);
-        // procureTemplateInfoVO.setModels(goodsModelVOList);
-        // });
-        // formTransferGoods.add(procureTemplateInfoVO);
-        // }
-        // result.setFormTransferGoods(formTransferGoods);
-
         return result;
     }
 
@@ -544,7 +496,7 @@
      */
     public int updateStatus(Long id) {
         LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id);
-        lWhFormTransfer.setStates(4);
+        lWhFormTransfer.setStates(TransferStatesType.CANCEL.getValue());
         return this.update(lWhFormTransfer);
     }
 
@@ -643,11 +595,11 @@
         }
         if (param.getOutAgencyId() != null) {
             sql.append("AND ft.OUT_AGENCY_ID like :outAgencyId ");
-            params.put("outAgencyId", param.getOutAgencyId());
+            params.put("outAgencyId", param.getOutAgencyId() + StringUtils.CHAR_PERCENT);
         }
-        if (param.getOutAgencyId() != null) {
+        if (param.getInAgencyId() != null) {
             sql.append("AND ft.IN_AGENCY_ID like :inAgencyId ");
-            params.put("inAgencyId", param.getInAgencyId());
+            params.put("inAgencyId", param.getInAgencyId() + StringUtils.CHAR_PERCENT);
         }
         if (StringUtils.isNotEmpty(param.getOperatorName())) {
             sql.append("AND ft.OPERATOR_NAME = :operatorName ");

--
Gitblit v1.9.1