From 1b41d774274c784adce2df6ed19fdffe0c22a113 Mon Sep 17 00:00:00 2001
From: luqingyang <lqy5492@163.com>
Date: 星期一, 30 十月 2023 17:35:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

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

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
new file mode 100644
index 0000000..98db533
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -0,0 +1,192 @@
+package com.consum.base.service;
+
+import com.consum.base.Constants;
+import com.consum.base.core.CodeGeneratorEnum;
+import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.core.param.BaseWarehouseParam1;
+import com.consum.base.pojo.*;
+import com.consum.base.util.IdUtil;
+import com.consum.model.po.*;
+import com.consum.model.vo.LWhFormTransferVo;
+import com.iplatform.model.po.S_user_core;
+import com.walker.db.page.GenericPager;
+import com.walker.infrastructure.utils.DateUtils;
+import com.walker.infrastructure.utils.StringUtils;
+import com.walker.jdbc.service.BaseServiceImpl;
+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;
+
+/**
+ * @Description 璋冩嫧绠$悊
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/10/30
+ */
+@Service
+public class LWhFormTransferServiceImpl extends BaseServiceImpl {
+
+    @Autowired
+    private BaseWarehouseServiceImpl baseWarehouseService;
+    @Autowired
+    private CodeGeneratorService codeGeneratorService;
+    @Autowired
+    private FinSysTenantServiceImpl finSysTenantService;
+    @Autowired
+    private LWhGoodsService lWhGoodsService;
+    @Autowired
+    private LWhProcureModelService lWhProcureModelService;
+
+    private static String QUERY_FORM_TRANSFER_LIST = "SELECT * FROM l_wh_form_transfer WHERE 1 = 1";
+
+    /**
+     * @Description
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/30
+     */
+    public int add(LWhFormTransferParam param, S_user_core currentUser, FinSysTenantUser sysInfo) {
+        //1.鏂板璋冩嫧鍗曡褰�
+        LWhFormTransfer lWhFormTransfer = new LWhFormTransfer();
+        //璋冩嫧鍗昳d
+        long lWhFormTransferId = IdUtil.generateId();
+        lWhFormTransfer.setId(lWhFormTransferId);
+        lWhFormTransfer.setBusinessType(0);
+        lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Transfer));
+        Long warehouseId = param.getInWarehouseId();
+        lWhFormTransfer.setInWarehouseId(warehouseId);
+        //鏍规嵁浠撳簱id鏌ヨ浠撳簱
+        BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId);
+        if (warehouse == null) {
+            log.error("浠撳簱涓嶅瓨鍦�");
+            return 0;
+        }
+        lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName());
+        lWhFormTransfer.setInAgencyId(Long.valueOf(sysInfo.getTenantId()));
+        lWhFormTransfer.setInAgencyName(sysInfo.getTenantName());
+        //鏍规嵁鏈烘瀯id鏌ヨ璋冩嫧鏈烘瀯
+        FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId()));
+        if (finSysTenant == null) {
+            log.error("璋冩嫧鏈烘瀯涓嶅瓨鍦�");
+            return 0;
+        }
+        lWhFormTransfer.setOutAgencyId(finSysTenant.getId());
+        lWhFormTransfer.setOutAgencyName(finSysTenant.getName());
+        lWhFormTransfer.setOperatorId(sysInfo.getId());
+        lWhFormTransfer.setOperatorName(sysInfo.getUserName());
+        lWhFormTransfer.setCreateTime(param.getCreateTime());
+        lWhFormTransfer.setStates(0);
+        lWhFormTransfer.setProcureDoc(param.getProcureDoc());
+        int flag1 = this.insert(lWhFormTransfer);
+        if (flag1 == 0) {
+            log.error("鏂板璋冩嫧鍗曞け璐�");
+            return 0;
+        }
+        //2.鏂板鐗╁搧鍨嬪彿璁板綍
+        List<LWhProcureModelParams> models = param.getModels();
+        List<LWhProcureModel> modelList = new ArrayList<>();
+        for (LWhProcureModelParams model : models) {
+            LWhProcureModel lWhProcureModel = new LWhProcureModel();
+            lWhProcureModel.setId(IdUtil.generateId());
+            lWhProcureModel.setBusinessType(2);
+            lWhProcureModel.setBusinessId(lWhFormTransferId);
+            lWhProcureModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId());
+            lWhProcureModel.setCounts(model.getCounts());
+            //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨
+            int goodsNum = this.lWhGoodsService.queryGoodsModelNum(warehouseId, model.getBaseGoodsModelsId(), (short) 1, null);
+            lWhProcureModel.setWorehouseCount(goodsNum);
+            modelList.add(lWhProcureModel);
+        }
+        int flag2 = this.lWhProcureModelService.insert(modelList);
+        if (flag2 != modelList.size()) {
+            log.error("鏂板鐗╁搧鍨嬪彿澶辫触");
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return 0;
+        }
+        return 1;
+    }
+
+    /**
+     * @Description  鍒楄〃鏌ヨ
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/30
+     */
+    public GenericPager<LWhFormTransfer> queryFormTransferList(LWhFormTransferParam param) {
+        HashMap<String, Object> paramts = new HashMap<>();
+        StringBuilder sql = new StringBuilder(QUERY_FORM_TRANSFER_LIST);
+        //璋冩嫧鍗曞彿
+        if (!StringUtils.isEmpty(param.getBusinessFormCode())) {
+            sql.append(" and BUSINESS_FORM_CODE like :businessFormCode ");
+            paramts.put("businessFormCode", StringUtils.CHAR_PERCENT + param.getBusinessFormCode() + StringUtils.CHAR_PERCENT);
+        }
+        //鐗╁搧鍚嶇О
+        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=1 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)");
+            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
+        }
+        //璋冩嫧鏈烘瀯
+        if (param.getOutAgencyId() != null){
+            sql.append(" and OUT_AGENCY_ID = :OUT_AGENCY_ID ");
+            paramts.put("OUT_AGENCY_ID", param.getOutAgencyId());
+        }
+        //鎺ユ敹鏈烘瀯
+        if (param.getInAgencyId() != null){
+            sql.append(" and OUT_AGENCY_ID = :OUT_AGENCY_ID ");
+            paramts.put("OUT_AGENCY_ID",   param.getOutAgencyId() );
+        }
+        //鐘舵��
+        if (param.getStates() != null) {
+            sql.append(" and states =:states ");
+            paramts.put("states", param.getStates());
+        }
+        //鍒涘缓浜�
+        if (!StringUtils.isEmpty(param.getOperatorName())) {
+            sql.append(" and OPERATOR_NAME =:OPERATOR_NAME ");
+            paramts.put("OPERATOR_NAME", param.getOperatorName());
+        }
+        //鐢宠鏃堕棿
+        if (param.getCreateTimeStart() != null) {
+            sql.append(" and CREATE_TIME >=:createTimeStart ");
+            paramts.put("createTimeStart", param.getCreateTimeStart() * 1000000);
+        }
+        if (param.getCreateTimeEnd() != null) {
+            sql.append(" and CREATE_TIME <:createTimeEnd ");
+            paramts.put("createTimeEnd", param.getCreateTimeEnd() * 1000000 + 240000);
+        }
+        //鎺ユ敹鏃堕棿
+        if (param.getInTimeStart() != null) {
+            sql.append(" and IN_TIME >=:inTimeStart ");
+            paramts.put("inTimeStart", param.getInTimeStart() * 1000000);
+        }
+        if (param.getInTimeEnd() != null) {
+            sql.append(" and IN_TIME <:inTimeEnd ");
+            paramts.put("inTimeEnd", param.getInTimeEnd() * 1000000 + 240000);
+        }
+
+        sql.append(" ORDER BY CREATE_TIME DESC");
+        GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormTransfer());
+        return genericPager;
+
+    }
+
+    /**
+     * @Description  鏍规嵁id鏌ヨ璇︽儏
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/30
+     */
+    public LWhFormTransferVo getById(Long id) {
+        LWhFormTransferVo vo = new LWhFormTransferVo();
+        //1.鏌ヨ璋冩嫧鍗�
+        LWhFormTransfer lWhFormTransfer = this.get(new LWhFormTransfer(id));
+        if (lWhFormTransfer != null) {
+            BeanUtils.copyProperties(lWhFormTransfer,vo);
+        }
+        //2.鏌ヨ鐗╁搧鍨嬪彿
+//        this.lWhProcureModelService.getModelByForm(id)
+        return null;
+    }
+}

--
Gitblit v1.9.1