From b8dc4ccc6ee580b084aa860e64af2d90d1cb5979 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 10:11:52 +0800
Subject: [PATCH] feat: 1、首页接口对接 2、部门物品分发

---
 consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java |  100 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 90 insertions(+), 10 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java
index 8201368..dea1689 100644
--- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java
@@ -2,23 +2,21 @@
 
 import com.consum.base.Constants;
 import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.core.utils.IdUtil;
 import com.consum.base.pojo.BaseWarehouseParam;
-import com.consum.base.util.IdUtil;
 import com.consum.model.po.BaseWarehouse;
 import com.consum.model.po.FinSysTenant;
 import com.consum.model.po.FinSysTenantDepartment;
-import com.consum.model.po.FinSysTenantUser;
+import com.consum.model.po.SDictData;
 import com.walker.db.page.GenericPager;
-import com.walker.infrastructure.utils.DateUtils;
+import com.walker.infrastructure.utils.CollectionUtils;
 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 java.util.HashMap;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -37,6 +35,8 @@
     private FinSysTenantDepartmentServiceImpl departmentService;
     @Autowired
     private FinSysTenantUserServiceImpl userService;
+    @Autowired
+    private SDictDataServiceImpl sDictDataService;
 
     /**
      * @Description 鏂板
@@ -55,6 +55,11 @@
             baseWarehouse.setParentAgencyId(finSysTenant.getParentId());
             baseWarehouse.setAgencyName(finSysTenant.getName());
         }
+        //鏍规嵁CLASSIFICATION_CODE鏌ヨCLASSIFICATION_NAME
+        SDictData dictData = this.sDictDataService.get(new SDictData(Long.valueOf(param.getClassificationCode())));
+        if (dictData != null) {
+            baseWarehouse.setClassificationName(dictData.getDict_label());
+        }
         baseWarehouse.setIsDefault(Constants.IS_DEFAULT_YES);
 
         return this.insert(baseWarehouse);
@@ -65,7 +70,7 @@
      * @Author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
-    public GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param, FinSysTenantUser sysInfo) {
+    public GenericPager<BaseWarehouse> queryList(BaseWarehouseParam param) {
         StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE 1 = 1 ");
         HashMap<String, Object> paramts = new HashMap<>();
 
@@ -80,11 +85,9 @@
             paramts.put("CLASSIFICATION_CODE", param.getClassificationCode());
         }
         //鏈烘瀯id
-        sql.append(" and AGENCY_ID =:AGENCY_ID ");
         if (param.getAgencyId() != null) {
+            sql.append(" and AGENCY_ID =:AGENCY_ID ");
             paramts.put("AGENCY_ID", param.getAgencyId());
-        } else {
-            paramts.put("AGENCY_ID", Long.valueOf(sysInfo.getTenantId()));
         }
         //鐘舵��
         if (param.getStates() != null) {
@@ -104,11 +107,22 @@
      * @Date 2023/10/26
      */
     public int updateBaseWarehouse(BaseWarehouse baseWarehouse) {
+        SDictData SDictData = this.sDictDataService.get(new SDictData(Long.valueOf(baseWarehouse.getClassificationCode())));
+        if (SDictData != null) {
+            baseWarehouse.setClassificationName(SDictData.getDict_label());
+        }
+        //鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯
+        FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(baseWarehouse.getAgencyId()));
+        if (finSysTenant != null) {
+            baseWarehouse.setParentAgencyId(finSysTenant.getParentId());
+            baseWarehouse.setAgencyName(finSysTenant.getName());
+        }
         return this.update(baseWarehouse);
     }
 
     /**
      * 鏍规嵁id鏌ヨ浠撳簱璇︽儏
+     *
      * @author 鍗㈠簡闃�
      * @Date 2023/10/26
      */
@@ -148,4 +162,70 @@
 
 
     }
+
+    /**
+     * @return
+     * @Description 鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯浠撳簱
+     * @Author 鍗㈠簡闃�
+     * @Date 2023/10/27
+     */
+    public List<BaseWarehouse> getByAgencyId(Long agencyId, Short isDefault, Short states) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE 1 = 1 ");
+        HashMap<String, Object> paramts = new HashMap<>();
+
+        //鏈烘瀯id
+        if (agencyId != null) {
+            sql.append(" and AGENCY_ID =:AGENCY_ID ");
+            paramts.put("AGENCY_ID", agencyId);
+        }
+        // 鏄惁涓洪粯璁や粨搴�
+        if (isDefault != null) {
+            sql.append(" and IS_DEFAULT =:isDefault ");
+            paramts.put("isDefault", isDefault);
+        }
+        // 鐘舵��
+        if (states != null) {
+            sql.append(" and states =:states ");
+            paramts.put("states", states);
+        }
+        return select(sql.toString(), paramts, new BaseWarehouse());
+    }
+
+
+    /**
+     * 鏍规嵁鏈烘瀯id鏌ヨ榛樿浠撳簱
+     *
+     * @param agencyId
+     * @return
+     */
+    public BaseWarehouse getDefaultWarehouseByAgencyId(Long agencyId) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE IS_DEFAULT = 1 and AGENCY_ID =:agencyId ");
+        Map<String, Object> param = new HashMap<>();
+        param.put("agencyId", agencyId);
+        List<BaseWarehouse> select = select(sql.toString(), param, new BaseWarehouse());
+        Optional<BaseWarehouse> optional = select.stream().findFirst();
+        if (optional.isPresent()) {
+            return optional.get();
+        }
+        return null;
+    }
+
+    public BaseWarehouse getWarehouseByAgencyId(Long agencyId, String warehouseName) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE STATES= 1");
+        Map<String, Object> param = new HashMap<>();
+        if (agencyId != null) {
+            sql.append(" and AGENCY_ID =:agencyId ");
+            param.put("agencyId", agencyId);
+        }
+        if (StringUtils.isNotEmpty(warehouseName)) {
+            sql.append(" and WAREHOUSE_NAME =:warehouseName ");
+            param.put("warehouseName", warehouseName);
+        }
+        sql.append(" limit 1");
+        List<BaseWarehouse> select = select(sql.toString(), param, new BaseWarehouse());
+        if (CollectionUtils.isEmpty(select)) {
+            return null;
+        }
+        return select.get(0);
+    }
 }

--
Gitblit v1.9.1