From 2fcf73e5783a7a06dd4d4e6f412b9f759a7230c1 Mon Sep 17 00:00:00 2001
From: jiazx0107 <jiazx0107@163.com>
Date: 星期一, 05 一月 2026 21:22:06 +0800
Subject: [PATCH] 调整出入库配置

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotConfService.java |  119 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 76 insertions(+), 43 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotConfService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotConfService.java
index 1dcfdd3..67fa188 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotConfService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotConfService.java
@@ -1,14 +1,18 @@
 package com.fzzy.igds.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.fzzy.igds.constant.Constant;
 import com.fzzy.igds.constant.RedisConst;
-import com.fzzy.igds.domain.Depot;
 import com.fzzy.igds.domain.DepotConf;
-import com.fzzy.igds.repository.DepotConfRepository;
+import com.fzzy.igds.mapper.DepotConfMapper;
 import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -26,14 +30,12 @@
 public class DepotConfService {
 
     @Resource
-    private DepotConfRepository depotConfRepository;
-    @Resource
-    private DepotService depotService;
+    private DepotConfMapper depotConfMapper;
     @Resource
     private RedisCache redisCache;
 
     /**
-     * jpa鏌ヨ閰嶇疆淇℃伅
+     * 鏌ヨ閰嶇疆淇℃伅
      *
      * @param companyId
      * @param deptId
@@ -44,14 +46,58 @@
         if (StringUtils.isEmpty(companyId)) {
             companyId = ContextUtil.getCompanyId();
         }
-        if (StringUtils.isEmpty(deptId)) {
-            deptId = ContextUtil.subDeptId(null);
+        QueryWrapper<DepotConf> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("company_id", companyId);
+
+        if (StringUtils.isNotBlank(deptId)) {
+            queryWrapper.eq("dept_id", deptId);
         }
-        return depotConfRepository.getDepotConf(companyId, deptId);
+        return depotConfMapper.selectList(queryWrapper);
     }
 
     /**
-     * jpa鏇存柊淇濆瓨閰嶇疆淇℃伅
+     * 鏍规嵁鐢ㄦ埛绫诲瀷鏌ヨ閰嶇疆淇℃伅
+     * @return
+     */
+    public List<DepotConf> getConfListByUserType() {
+        //鑾峰彇褰撳墠鐧诲綍浜�
+        SysUser user = ContextUtil.getLoginUser();
+
+        QueryWrapper<DepotConf> queryWrapper = new QueryWrapper<>();
+
+
+        //鐩戠鐢ㄦ埛-榛樿鏌ョ湅鎵�鏈変俊鎭笉澧炲姞鏉′欢
+        if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+            queryWrapper.eq("company_id", user.getCompanyId());
+            //涓嶅鍔犳潯浠�
+        }
+
+        //搴撳尯鐢ㄦ埛锛屽鏋滄槸鍏徃鐢ㄦ埛鍙互鏌ョ湅鍏徃涓嬪睘鎵�鏈夊簱鍖猴紝濡傛灉涓哄綋鍓嶅簱鍖哄彧鏌ヨ褰撳墠搴撳尯
+        if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+        	queryWrapper.eq("company_id", user.getCompanyId());
+        	
+            if (ContextUtil.isDepotUser(user.getDeptId() + "")) {
+                queryWrapper.eq("dept_id", user.getDeptId() + "");
+            } else {
+                queryWrapper.likeRight("dept_id", user.getDeptId() + "");
+            }
+        }
+
+        //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+        if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+
+            if(StringUtils.isBlank(user.getUserData())) return null;
+
+            queryWrapper.eq("d.company_id", user.getCompanyId());
+            queryWrapper.eq("c.pledge_bank", user.getUserData());
+            return depotConfMapper.selectByBank(queryWrapper);
+        }
+
+        return depotConfMapper.selectList(queryWrapper);
+    }
+
+    /**
+     * 鏇存柊淇濆瓨閰嶇疆淇℃伅
      *
      * @param conf
      */
@@ -61,23 +107,31 @@
         }
         if (StringUtils.isEmpty(conf.getDeptId())) {
             conf.setDeptId(ContextUtil.subDeptId(null));
+        }
+
+        if (null == conf.getUpdateBy()) {
             conf.setCreateBy(ContextUtil.getLoginUserName());
             conf.setCreateTime(new Date());
+
+            conf.setUpdateBy(ContextUtil.getLoginUserName());
+            conf.setUpdateTime(new Date());
+            depotConfMapper.insert(conf);
+        } else {
+            conf.setUpdateBy(ContextUtil.getLoginUserName());
+            conf.setUpdateTime(new Date());
+            depotConfMapper.update(conf, new UpdateWrapper<DepotConf>().eq("depot_id", conf.getDepotId()));
         }
-        conf.setUpdateBy(ContextUtil.getLoginUserName());
-        conf.setUpdateTime(new Date());
-        depotConfRepository.save(conf);
         flushConfCache(conf.getCompanyId());
     }
 
     /**
-     * jpa鍒犻櫎閰嶇疆淇℃伅
+     * 鍒犻櫎閰嶇疆淇℃伅
      *
      * @param conf
      * @return
      */
     public void deleteDepotConf(DepotConf conf) {
-        depotConfRepository.delete(conf);
+        depotConfMapper.deleteById(conf);
 
         //鍒犻櫎閰嶇疆缂撳瓨
         this.delCacheDepotConf(conf, conf.getCompanyId());
@@ -91,14 +145,8 @@
      */
     public void setCacheDepotConf(List<DepotConf> list, String companyId) {
         if (null != list) {
-            Depot depot;
             String key;
             for (DepotConf depotConf : list) {
-                depot = depotService.getCacheDepot(companyId, depotConf.getDepotId());
-                if (null != depot) {
-                    depotConf.setDepotName(depot.getName());
-                    depotConf.setDepotType(depot.getDepotType());
-                }
                 key = RedisConst.buildKey(companyId, RedisConst.KEY_DEPOT_CONF, depotConf.getDepotId());
                 redisCache.setCacheObject(key, depotConf);
             }
@@ -199,30 +247,11 @@
         String key = RedisConst.buildKey(companyId, RedisConst.KEY_DEPOT_CONF, depotId);
         DepotConf depotConf = redisCache.getCacheObject(key);
         if (null == depotConf) {
-            depotConf = depotConfRepository.getDepotConfByDepotId(companyId, depotId);
+            depotConf = depotConfMapper.selectById(depotId);
             redisCache.setCacheObject(key, depotConf);
         }
 
         return depotConf;
-    }
-
-    /**
-     * 鏍规嵁浠撳簱鍒楄〃锛岃嚜鍔ㄧ敓鎴愪粨搴撻厤缃俊鎭�
-     * @param companyId
-     */
-    private void addConfByDepot(String companyId) {
-        List<Depot> list = depotService.getCacheDepotList(companyId);
-        if (null == list || list.isEmpty()) {
-            return;
-        }
-        DepotConf conf;
-        for (Depot depot : list) {
-            conf = new DepotConf();
-            conf.setDepotId(depot.getId());
-            conf.setCompanyId(depot.getCompanyId());
-            conf.setDeptId(depot.getDeptId());
-            this.saveConf(conf);
-        }
     }
 
     /**
@@ -234,7 +263,7 @@
             companyId = ContextUtil.getCompanyId();
         }
 
-        List<DepotConf> list = depotConfRepository.getDepotConfByCompanyId(companyId);
+        List<DepotConf> list = this.getConfList(companyId, null);
 
         this.setCacheDepotConf(list, companyId);
     }
@@ -244,6 +273,10 @@
      * @param freq
      */
     public void updateFreq(String freq) {
-        depotConfRepository.updateGrainFreq(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), freq);
+        UpdateWrapper<DepotConf> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("dept_id", ContextUtil.subDeptId(null)).set("pos_x", freq);
+        depotConfMapper.update(null, updateWrapper);
     }
+
+
 }

--
Gitblit v1.9.3