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

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

diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
new file mode 100644
index 0000000..5076e20
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormInventoryServiceImpl.java
@@ -0,0 +1,173 @@
+package com.consum.base.service;
+
+import com.consum.base.core.CodeGeneratorEnum;
+import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.pojo.LWhFormInventoryDto;
+import com.consum.base.pojo.LWhFormInventoryParam;
+import com.consum.base.util.IdUtil;
+import com.consum.model.po.*;
+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 lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description 鐩樼偣
+ * @Author 鍗㈠簡闃�
+ * @Date 2023/10/23
+ */
+@Slf4j
+@Service
+public class LWhFormInventoryServiceImpl extends BaseServiceImpl {
+
+    @Autowired
+    private CodeGeneratorService codeGeneratorService;
+    @Autowired
+    private BaseWarehouseServiceImpl baseWarehouseService;
+    @Autowired
+    private FinSysTenantUserServiceImpl finSysTenantUserService;
+    @Autowired
+    private LWhFormInventoryGoodsServiceImpl inventoryGoodsService;
+
+
+    private static final String QUERY_LIST = "select * from l_wh_form_inventory where 1=1 ";
+
+    private static final String QUERY_PD_List = "SELECT bgt.GOODS_NAME goodsName,model.MODEL_NAME modelName,bgt.CLASSIFICATION,model.UNIT,\n" +
+            "       record.endCount,bgt.ID goodsTemplateId,model.ID modelsId\n" +
+            "FROM BASE_GOODS_MODELS model\n" +
+            "         LEFT JOIN (SELECT COUNT(1) endCount, BASE_GOODS_MODELS_ID\n" +
+            "                    FROM L_WH_GOODS\n" +
+            "                    WHERE WAREHOUSE_TYPE = 0\n" +
+            "                      AND WAREHOUSE_ID = 1\n" +
+            "                      AND STATES = ?\n" +
+            "                    GROUP BY BASE_GOODS_MODELS_ID) record ON record.BASE_GOODS_MODELS_ID = model.id\n" +
+            "left join base_goods_template bgt on bgt.ID = model.GOODS_TEMPLATES_ID; ";
+
+    /**
+     * @Description 鏂板
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/31
+     * @param param
+     * @param currentUser   褰撳墠鐧诲綍鐢ㄦ埛
+     * @param operatorUser  鐩樼偣浜�
+     * @param operatorUser2 鐩戠洏浜�
+     * @return
+     */
+    public int add(LWhFormInventoryParam param, FinSysTenantUser currentUser, S_user_core operatorUser, S_user_core operatorUser2) {
+        //鏂板鐩樼偣鍗�
+        LWhFormInventory lWhFormInventory = new LWhFormInventory();
+        BeanUtils.copyProperties(param,lWhFormInventory);
+        lWhFormInventory.setId(IdUtil.generateId());
+        //鐩樼偣鍗曠紪鐮�
+        String businessFormCode = codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Inventory);
+        lWhFormInventory.setBusinessFormCode(businessFormCode);
+        //鏍规嵁浠撳簱id鏌ヨ浠撳簱
+        BaseWarehouse baseWarehouse = this.baseWarehouseService.getById(param.getWarehouseId());
+        if (baseWarehouse != null) {
+            lWhFormInventory.setWarehouseName(baseWarehouse.getWarehouseName());
+        }
+        lWhFormInventory.setOperatorName(operatorUser.getUser_name());
+        lWhFormInventory.setOperatorName2(operatorUser2.getUser_name());
+        lWhFormInventory.setStates(0);
+        lWhFormInventory.setAgencyId(Long.valueOf(currentUser.getTenantId()));
+        lWhFormInventory.setAgencyName(currentUser.getTenantName());
+        lWhFormInventory.setCreatorId(currentUser.getSysUserId());
+        lWhFormInventory.setCreatorName(currentUser.getUserName());
+        lWhFormInventory.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+
+        return this.insert(lWhFormInventory);
+    }
+
+    /**
+     * @Description 鐩樼偣鍗曞垪琛ㄦ煡璇�
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/31
+     */
+    public GenericPager<LWhFormInventory> queryList(LWhFormInventoryParam param, FinSysTenantUser sysInfo) {
+        StringBuilder sql = new StringBuilder(QUERY_LIST);
+        HashMap<String, Object> paramts = new HashMap<>();
+
+        //鐩樼偣鍗曞彿
+        if (!StringUtils.isEmpty(param.getBusinessFormCode())) {
+            sql.append(" and BUSINESS_FORM_CODE like:BUSINESS_FORM_CODE ");
+            paramts.put("BUSINESS_FORM_CODE", StringUtils.CHAR_PERCENT + param.getBusinessFormCode() + StringUtils.CHAR_PERCENT);
+        }
+        //鐩樼偣鍗曞悕绉�
+        if (!StringUtils.isEmpty(param.getBusinessFormName())) {
+            sql.append(" and BUSINESS_FORM_NAME =:BUSINESS_FORM_NAME ");
+            paramts.put("BUSINESS_FORM_NAME", StringUtils.CHAR_PERCENT + param.getBusinessFormName() + StringUtils.CHAR_PERCENT);
+        }
+        //浠撳簱缂栧彿
+        if (param.getWarehouseId() != null) {
+            sql.append(" and WAREHOUSE_ID =:WAREHOUSE_ID ");
+            paramts.put("WAREHOUSE_ID", param.getWarehouseId());
+        }
+        //鐩樼偣鏃堕棿
+        if (param.getInventoryDateStart() != null) {
+            sql.append(" and INVENTORY_DATE >=:inventoryDateStart ");
+            paramts.put("inventoryDateStart", param.getInventoryDateStart() * 1000000);
+        }
+        if (param.getInventoryDateEnd() != null) {
+            sql.append(" and INVENTORY_DATE <:inventoryDateEnd ");
+            paramts.put("inventoryDateEnd", param.getInventoryDateEnd() * 1000000 + 240000);
+        }
+        //鏈烘瀯
+        sql.append(" and AGENCY_ID =:AGENCY_ID ");
+        paramts.put("AGENCY_ID", sysInfo.getTenantId());
+
+        sql.append(" ORDER BY CREATE_TIME DESC ");
+        return selectSplit(sql.toString(), paramts, new LWhFormInventory());
+    }
+
+    /**
+     * @Description 鐩樼偣
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/31
+     * @param id  鐩樼偣鍗昳d
+     */
+    public List queryPdList(Long id) {
+        //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
+        LWhFormInventory lWhFormInventory = this.get(new LWhFormInventory(id));
+        if (lWhFormInventory == null) {
+            log.error("鐩樼偣澶辫触");
+        }
+        //2.鏌ヨ鐩樼偣鍗曟暟鎹�
+        List<Map<String, Object>> list = this.select(QUERY_PD_List, new Object[]{lWhFormInventory.getWarehouseId()});
+        if (CollectionUtils.isEmpty(list)) {
+            log.error("鐩樼偣澶辫触");
+            return null;
+        }
+        //3.鏂板鐩樼偣鍗曠墿鍝佽褰�
+        int flag = inventoryGoodsService.add(list, lWhFormInventory.getWarehouseId());
+        if (flag != list.size()) {
+            log.error("鏂板鐩樼偣鍗曡褰�");
+            return null;
+        }
+        //4.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗曠墿鍝�
+        return inventoryGoodsService.getByInventoryId(id);
+    }
+
+    /**
+     * 鏆傚瓨
+     * @author 鍗㈠簡闃�
+     * @date 2023/10/31
+     */
+    public int temporaryStorage(LWhFormInventoryDto dto) {
+        //1.鏍规嵁鐩樼偣鍗昳d鏌ヨ鐩樼偣鍗�
+
+        //2.鍒犻櫎鐩樼偣鍗曠墿鍝�
+        //3.鏂板鐩樼偣鍗曠墿鍝�
+        return 0;
+    }
+}

--
Gitblit v1.9.1