From 24d64769178c9b31891164c91e5bc446b3b9dd6b Mon Sep 17 00:00:00 2001
From: luqingyang <lqy5492@163.com>
Date: 星期四, 02 十一月 2023 09:56:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 105 insertions(+), 0 deletions(-)

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
new file mode 100644
index 0000000..7601f0a
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java
@@ -0,0 +1,105 @@
+package com.consum.base.service;
+
+import com.consum.base.core.CodeGeneratorEnum;
+import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.pojo.LWhFormScrappedGoodsParams;
+import com.consum.base.pojo.LWhFormScrappedParam;
+import com.consum.base.pojo.LWhProcureModelParams;
+import com.consum.base.util.IdUtil;
+import com.consum.model.po.*;
+import com.iplatform.model.po.S_user_core;
+import com.walker.jdbc.service.BaseServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description 鎶ュ簾鍗�
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/11/1
+ */
+@Service
+public class LWhFormScrappedServiceImpl extends BaseServiceImpl {
+    @Autowired
+    private CodeGeneratorService codeGeneratorService;
+    @Autowired
+    private BaseWarehouseServiceImpl baseWarehouseService;
+    @Autowired
+    private FinSysTenantDepartmentServiceImpl departmentService;
+    @Autowired
+    private LWhGoodsService lWhGoodsService;
+    @Autowired
+    private LWhFormScrappedGoodsService scrappedGoodsService;
+
+    /**
+     * 鏂板
+     * @param param
+     * @param sysInfo
+     * @param operatorUser
+     * @return
+     */
+    //1.鏂板鎶ュ簾鍗�
+    //2.鏂板鎶ュ簾鍗曠墿鍝�
+    public int add(LWhFormScrappedParam param, FinSysTenantUser sysInfo, S_user_core operatorUser) {
+        //1.鏂板鎶ュ簾鍗曡褰�
+        LWhFormScrapped lWhFormScrapped = new LWhFormScrapped();
+        //璋冩嫧鍗昳d
+        long lWhFormTransferId = IdUtil.generateId();
+        lWhFormScrapped.setId(lWhFormTransferId);
+        lWhFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped));
+        lWhFormScrapped.setWarehouseType(0);
+        Long warehouseId = param.getWarehouseId();
+        lWhFormScrapped.setWarehouseId(warehouseId);
+        //鏍规嵁浠撳簱id鏌ヨ浠撳簱
+        BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
+        if (warehouse == null) {
+            log.error("浠撳簱涓嶅瓨鍦�");
+            return 0;
+        }
+        lWhFormScrapped.setWarehouseName(warehouse.getWarehouseName());
+        lWhFormScrapped.setAgencyId(Long.valueOf(sysInfo.getTenantId()));
+        lWhFormScrapped.setAgencyName(sysInfo.getTenantName());
+        lWhFormScrapped.setOperatorId(sysInfo.getSysUserId());
+        lWhFormScrapped.setOperatorName(sysInfo.getUserName());
+        lWhFormScrapped.setDealTime(param.getDealTime());
+        lWhFormScrapped.setStates(0);
+        //鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬
+        FinSysTenantDepartment department = this.departmentService.getById(sysInfo.getSysDeptId());
+        if (department != null) {
+            lWhFormScrapped.setDepartmentId(sysInfo.getSysDeptId());
+            lWhFormScrapped.setDepartmentName(department.getName());
+        }
+        int flag1 = this.insert(lWhFormScrapped);
+        if (flag1 == 0) {
+            log.error("鏂板鎶ュ簾鍗曞け璐�");
+            return 0;
+        }
+        //2.鏂板鎶ュ簾鍗曠墿鍝佽褰�
+        List<LWhFormScrappedGoodsParams> scrappedGoodsParamList = param.getScrappedGoodsList();
+        List<LWhFormScrappedGoods> scrappedGoodsList = new ArrayList<>();
+        for (LWhFormScrappedGoodsParams params : scrappedGoodsParamList) {
+            LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods();
+            scrappedGoods.setId(IdUtil.generateId());
+            //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
+            int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0,warehouseId, scrappedGoods.getBaseGoodsModelsId(), (short) 1, null);
+            if (params.getCounts() > goodsNum) {
+                log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺");
+                return 0;
+            }
+            scrappedGoods.setCounts(params.getCounts());
+            scrappedGoods.setScrappedCode(params.getScrappedCode());
+            //TODO 鎶ュ簾鍘熷洜
+            scrappedGoodsList.add(scrappedGoods);
+        }
+        int flag2 = this.scrappedGoodsService.insert(scrappedGoodsList);
+        if (flag2 != scrappedGoodsList.size()) {
+            log.error("鏂板鎶ュ簾鍗曠墿鍝佽褰�");
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return 0;
+        }
+        return 1;
+    }
+}

--
Gitblit v1.9.1