From 69abbfbdbda77af152490e47851622905df7eb8e Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期六, 02 十二月 2023 20:35:52 +0800
Subject: [PATCH] feat: 部门物品回退

---
 consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java |   82 +++++++++++++++++++++++------------------
 1 files changed, 46 insertions(+), 36 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java
index d4a2747..e00cb1f 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.core.DepUsingFormBackCoreServiceImpl;
 import com.consum.base.core.utils.IdUtil;
 import com.consum.base.core.utils.MapUtils;
 import com.consum.base.core.utils.MapperUtil;
@@ -11,36 +12,26 @@
 import com.consum.base.pojo.request.UsingFormBackGoodsInfo;
 import com.consum.base.pojo.request.UsingFormBackParam;
 import com.consum.base.pojo.request.baseGoodModel;
-import com.consum.base.pojo.response.BaseGoodsTemplateInfo;
-import com.consum.base.pojo.response.UseInfo;
-import com.consum.base.pojo.response.UsingFormBackDetailListVO;
-import com.consum.base.pojo.response.UsingFormBackDetailVO;
-import com.consum.base.pojo.response.UsingFormBackGoodsTemplateInfo;
-import com.consum.base.pojo.response.UsingFormBackModelInfo;
-import com.consum.base.pojo.response.UsingFormBackVO;
-import com.consum.base.service.BaseCategoryServiceImpl;
-import com.consum.base.service.UsingFormBackGoodsService;
-import com.consum.base.service.UsingFormBackModelService;
-import com.consum.base.service.UsingFormBackService;
-import com.consum.model.po.BaseCategory;
-import com.consum.model.po.FinSysTenantUser;
-import com.consum.model.po.UsingFormBack;
-import com.consum.model.po.UsingFormBackGoods;
-import com.consum.model.po.UsingFormBackModel;
+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;
 import com.walker.infrastructure.utils.DateUtils;
 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.stream.Collectors;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author asus
@@ -54,18 +45,26 @@
     @Autowired
     private CodeGeneratorService codeGeneratorService;
     @Autowired
-    private BaseCategoryServiceImpl baseCategoryService;
+    private BaseCategoryService baseCategoryService;
     @Autowired
     private UsingFormBackModelService usingFormBackModelService;
     @Autowired
     private UsingFormBackGoodsService usingFormBackGoodsService;
-
-
+    @Autowired
+    private FinSysTenantDepartmentService finSysTenantDepartmentService;
+    @Autowired
+    private LWhFormTransferService lWhFormTransferService;
+    @Resource
+    private DepUsingFormBackCoreServiceImpl depUsingFormBackCoreService;
     @Override
-    public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo) {
+    public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo, S_user_core currentUser) {
 
         Long departmentId = usingFormBackParam.getDepartmentId();
-        String departmentName = usingFormBackParam.getDepartmentName();
+        FinSysTenantDepartment department = finSysTenantDepartmentService.getById(departmentId);
+        if (department == null) {
+            throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
+        }
+        String departmentName = department.getName();
         Long operatorId = usingFormBackParam.getOperatorId();
         String operatorName = usingFormBackParam.getOperatorName();
         Long backTime = usingFormBackParam.getDealTime();
@@ -93,8 +92,12 @@
             usingFormBackGoods.setClassification(classification);
             usingFormBackGoods.setTransBusinessId(transBusinessId);
             usingFormBackGoods.setBusinessFormCode(businessFormCode);
-//            usingFormBackGoods.setTransOutWarehouseType();
-//            usingFormBackGoods.setTransOutWarehouseId();
+
+            LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(transBusinessId);
+            Integer outWarehouseType = lWhFormTransfer.getOutWarehouseType();
+            Long outWarehouseId = lWhFormTransfer.getOutWarehouseId();
+            usingFormBackGoods.setTransOutWarehouseType(outWarehouseType);
+            usingFormBackGoods.setTransOutWarehouseId(outWarehouseId);
 
             usingFormBackModelService.insert(usingFormBackGoods);
             for (baseGoodModel model : backingGoodsInfo.getModels()) {
@@ -120,6 +123,7 @@
 
 
         }
+        depUsingFormBackCoreService.updateBack(usingFormBackId ,currentUser,DateUtils.getDateTimeNumber(System.currentTimeMillis()));
     }
 
     @Override
@@ -180,7 +184,7 @@
             map.put("agencyId", agencyId);
         }
         if (StringUtils.isNotEmpty(createName)) {
-            sql.append("AND ufb.CREATE_NAME = :createName ");
+            sql.append("AND ufb.OPERATOR_NAME = :createName ");
             map.put("createName", createName);
         }
         sql.append("ORDER BY ufb.CREATE_TIME DESC ");
@@ -194,7 +198,8 @@
             Long id = usingFormBackVO.getId();
             StringBuilder countSql = new StringBuilder("SELECT \n"
                 + "\tufbg.BASE_GOODS_TEMPLATE_NAME,\n"
-                + "\tsum(ufbm.COUNTS) count\n"
+                + "\tsum(ufbm.COUNTS) count,\n"
+                + "\tufbm.UNIT\n"
                 + "FROM\n"
                 + "\tusing_form_back_goods ufbg\n"
                 + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID\n"
@@ -350,7 +355,7 @@
             map.put("agencyId", agencyId);
         }
         if (StringUtils.isNotEmpty(createName)) {
-            sql.append("AND ufb.CREATE_NAME = :createName ");
+            sql.append("AND ufb.OPERATOR_NAME = :createName ");
             map.put("createName", createName);
         }
         sql.append("ORDER BY ufb.CREATE_TIME DESC ");
@@ -373,9 +378,9 @@
         UsingFormBack usingFormBack = new UsingFormBack();
         usingFormBack.setId(IdUtil.generateId());
         usingFormBack.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.GOBACK));
-//        usingFormBack.setOutWarehouseType();
-//        usingFormBack.setOutWarehouseId();
-//        usingFormBack.setOutWarehouseName();
+        usingFormBack.setOutWarehouseType(1);
+        usingFormBack.setOutWarehouseId(departmentId);
+        usingFormBack.setOutWarehouseName(departmentName);
 
         String tenantId = sysInfo.getTenantId();
         String tenantName = sysInfo.getTenantName();
@@ -384,9 +389,14 @@
         usingFormBack.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         usingFormBack.setStates(1);
 
-        usingFormBack.setDepartmentId(departmentId);
-        usingFormBack.setDepartmentName(departmentName);
-        usingFormBack.setOperatorId(operatorId);
+        Long sysDeptId = sysInfo.getSysDeptId();
+        FinSysTenantDepartment department = finSysTenantDepartmentService.getById(sysDeptId);
+        if (department == null) {
+            throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
+        }
+        usingFormBack.setDepartmentId(department.getId());
+        usingFormBack.setDepartmentName(department.getName());
+        usingFormBack.setOperatorId(sysInfo.getId());
         usingFormBack.setOperatorName(operatorName);
         usingFormBack.setDealTime(backTime);
         usingFormBack.setProcureDoc(procureDoc);

--
Gitblit v1.9.1