From db67639449287bcec461916a7dca6003ee5dd03c Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期五, 05 十二月 2025 16:27:18 +0800
Subject: [PATCH] 出入库详单及补单页面及逻辑

---
 fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java |  166 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 94 insertions(+), 72 deletions(-)

diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
index fb9d769..d4bba19 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
@@ -3,22 +3,18 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fzzy.igds.constant.Constant;
 import com.fzzy.igds.constant.RespCodeEnum;
-import com.fzzy.igds.data.IgdsBaseParam;
-import com.fzzy.igds.data.InoutParam;
-import com.fzzy.igds.data.NoticeParam;
-import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.data.*;
 import com.fzzy.igds.domain.*;
-import com.fzzy.igds.service.DicAreaService;
-import com.fzzy.igds.service.InoutConfService;
-import com.fzzy.igds.service.InoutNoticeService;
-import com.fzzy.igds.service.InoutRecordService;
+import com.fzzy.igds.service.*;
 import com.fzzy.igds.utils.ContextUtil;
 import com.fzzy.igds.utils.SystemUtil;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.redis.RedisCache;
 import lombok.extern.slf4j.Slf4j;
 import com.ruoyi.common.utils.StringUtils;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
+
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
@@ -36,6 +32,8 @@
     private RedisCache redisCache;
     @Resource
     private InoutConfService inoutConfService;
+    @Resource
+    private FileService fileService;
     @Resource
     private InoutRecordService inoutRecordService;
     @Resource
@@ -125,6 +123,7 @@
 
     /**
      * 鏍规嵁閰嶇疆鑾峰彇鍑哄叆搴撶殑閰嶇疆鍙傛暟
+     *
      * @param listInoutConf
      * @param type
      * @return
@@ -142,6 +141,7 @@
 
     /**
      * 鏍规嵁閰嶇疆鑾峰彇鍑哄叆搴撶殑閰嶇疆鍙傛暟
+     *
      * @param listInoutConf
      * @param sort
      * @param type
@@ -179,18 +179,17 @@
     }
 
     /**
-     * 鍑哄叆搴撴敞鍐屾暟鎹彁浜わ紝鍑哄叆搴撶櫥璁颁娇鐢ㄥ悓涓�涓柟娉�
+     * 鍑哄叆搴撴敞鍐屾暟鎹彁浜わ紝鍑哄叆搴撶櫥璁颁娇鐢ㄥ悓涓�涓柟娉曪紝鍖呭惈绉伴噸鏃剁洿鎺ョ櫥璁�
      *
      * @param data
      * @return
      */
-    public PageResponse<InoutRecord> submitRegister(InoutRecord data) {
-        SysUser user = ContextUtil.getLoginUser();
+    public PageResponse<InoutData> submitRegister(InoutData data) {
         if (StringUtils.isEmpty(data.getCompanyId())) {
-            data.setCompanyId(user.getCompanyId());
+            data.setCompanyId(ContextUtil.getCompanyId());
         }
         if (StringUtils.isEmpty(data.getDeptId())) {
-            data.setDeptId(ContextUtil.subDeptId(user));
+            data.setDeptId(ContextUtil.subDeptId(null));
         }
 
         int num = inoutRecordService.checkExist(data.getCompanyId(), data.getPlateNum());
@@ -218,7 +217,7 @@
             data.setUserName(data.getUserName().trim());
         }
         //鐧昏浜哄強鐧昏鏃堕棿
-        data.setRegisterUser(user.getUserName());
+        data.setRegisterUser(ContextUtil.getLoginUserName());
         data.setRegisterTime(new Date());
 
         num = inoutRecordService.addInoutRecord(data);
@@ -227,22 +226,19 @@
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鐧昏澶辫触锛�", data);
         }
 
-        //TODO 闄勪欢澶勭悊
-//        List<FileData> files = data.getFiles();
-//        if (null != files && files.size() > 0) {
-//            // 鎵ц闄勪欢淇℃伅
-//            fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress);
-//        }
+        //闄勪欢澶勭悊
+        fileService.saveInoutFiles(data.getFiles(), data.getId(), curProgress, "INOUT");
 
         return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鐧昏鎴愬姛锛�", data);
     }
 
     /**
      * 鍖栭獙淇℃伅鎻愪氦
+     *
      * @param data
      * @return
      */
-    public PageResponse<InoutRecord> submitCheck(InoutRecord data) {
+    public PageResponse<InoutData> submitCheck(InoutData data) {
         SysUser user = ContextUtil.getLoginUser();
         if (StringUtils.isEmpty(data.getCompanyId())) {
             data.setCompanyId(user.getCompanyId());
@@ -267,12 +263,25 @@
 
     /**
      * 绉伴噸鎻愪氦锛屽寘鍚О閲嶇櫥璁版彁浜ゅ強鍗曠嫭绉伴噸鎻愪氦
+     *
      * @param data
      * @return
      */
-    public PageResponse<InoutRecord> submitWeight(InoutRecord data) {
+    public PageResponse<InoutData> submitWeight(InoutData data) {
+        if (Constant.PROGRESS_WEIGHT_EMPTY.equals(data.getProgress())) {
+            data.setEmptyWeightTime(new Date());
+            data.setEmptyWeightUser(ContextUtil.getLoginUserName());
+        }
+        if (Constant.PROGRESS_WEIGHT_FULL.equals(data.getProgress())) {
+            data.setFullWeightTime(new Date());
+            data.setFullWeightUser(ContextUtil.getLoginUserName());
+        }
+        if (StringUtils.isBlank(data.getId())) {
+            //琛ㄧず绉伴噸鏃剁洿鎺ョ櫥璁�
+            return submitRegister(data);
+        }
 
-        // 鑾峰彇绯荤粺鍙傛暟閰嶇疆
+        //鑾峰彇绯荤粺鍙傛暟閰嶇疆
         InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
         if (null == inoutSysConf) {
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data);
@@ -283,55 +292,31 @@
         String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
         data.setProgress(nextProgress);
 
-        int num;
-        if(StringUtils.isBlank(data.getId())){
-            data.setRegisterTime(new Date());
-            data.setRegisterUser(ContextUtil.getLoginUserName());
-
-            //璁剧疆鍒濇鎻愪氦鏃剁О閲嶆椂闂翠俊鎭�
-            if(data.getFullWeight() > 0){
-                data.setFullWeightUser(ContextUtil.getLoginUserName());
-                data.setFullWeightTime(new Date());
-            }
-            if(data.getEmptyWeight() > 0){
-                data.setEmptyWeightUser(ContextUtil.getLoginUserName());
-                data.setEmptyWeightTime(new Date());
-            }
-            //绉伴噸鐧昏
-            num = inoutRecordService.addInoutRecord(data);
-        }else {
-            if (Constant.PROGRESS_WEIGHT_EMPTY.equals(curProgress)) {
-                data.setEmptyWeightTime(new Date());
-                data.setEmptyWeightUser(ContextUtil.getLoginUserName());
-            }
-            if (Constant.PROGRESS_WEIGHT_FULL.equals(curProgress)) {
-                data.setFullWeightTime(new Date());
-                data.setFullWeightUser(ContextUtil.getLoginUserName());
-            }
-            //绉伴噸鏇存柊
-            num = inoutRecordService.updateInoutRecord(data);
+        if(Constant.PROGRESS_RECORD.equals(nextProgress)){
+            //娴佺▼缁撴潫鏃讹紝璁剧疆瀹屾垚鏃堕棿鍜屽畬鎴愪汉
+            data.setCompleteTime(new Date());
+            data.setCompleteUser(ContextUtil.getLoginUserName());
         }
+        //绉伴噸鏁版嵁鏇存柊
+        int num = inoutRecordService.updateInoutRecord(data);
 
         if (num == 0) {
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愪氦澶辫触锛�", data);
         }
 
-        //TODO 闄勪欢澶勭悊
-//        List<FileData> files = data.getFiles();
-//        if (null != files && files.size() > 0) {
-//            // 鎵ц闄勪欢淇℃伅
-//            fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress);
-//        }
+        //闄勪欢澶勭悊
+        fileService.saveInoutFiles(data.getFiles(), data.getId(), curProgress, "INOUT");
 
         return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
     }
 
     /**
      * 鍊间粨淇℃伅鎻愪氦
+     *
      * @param data
      * @return
      */
-    public PageResponse<InoutRecord> submitHandle(InoutRecord data) {
+    public PageResponse<InoutData> submitHandle(InoutData data) {
 
         // 鑾峰彇绯荤粺鍙傛暟閰嶇疆
         InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
@@ -353,12 +338,8 @@
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愪氦澶辫触锛�", data);
         }
 
-        //TODO 闄勪欢澶勭悊
-//        List<FileData> files = data.getFiles();
-//        if (null != files && files.size() > 0) {
-//            // 鎵ц闄勪欢淇℃伅
-//            fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress);
-//        }
+        //闄勪欢澶勭悊
+        fileService.saveInoutFiles(data.getFiles(), data.getId(), curProgress, "INOUT");
 
         return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎻愪氦鎴愬姛", data);
     }
@@ -393,6 +374,7 @@
 
     /**
      * 鍒嗛〉鏌ヨ鏁版嵁
+     *
      * @param param
      * @return
      */
@@ -403,6 +385,8 @@
         if (StringUtils.isEmpty(param.getDeptId())) {
             param.setDeptId(ContextUtil.subDeptId(null));
         }
+
+        param.setProgressTag(Constant.PROGRESS_RECORD);
 
         Page<InoutRecord> corePage = new Page<>(param.getPage(), param.getLimit());
         inoutRecordService.listPageInout(corePage, param);
@@ -415,7 +399,8 @@
     }
 
     /**
-     * 鍒嗛〉鏌ヨ鏁版嵁
+     * 鏌ヨ寰呯О閲嶇殑鏁版嵁
+     *
      * @param param
      * @return
      */
@@ -440,16 +425,54 @@
     }
 
     /**
+     * 鏌ヨ寰呭�间粨鐨勬暟鎹�
+     *
+     * @param param
+     * @return
+     */
+    public PageResponse<List<InoutRecord>> listHandleData(InoutParam param) {
+        if (StringUtils.isEmpty(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (StringUtils.isEmpty(param.getDeptId())) {
+            param.setDeptId(ContextUtil.subDeptId(null));
+        }
+
+        List<InoutRecord> inoutRecords = inoutRecordService.listInout(param);
+
+        if (null == inoutRecords || inoutRecords.isEmpty()) {
+            return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "鑾峰彇鍒版暟鎹俊鎭负绌�");
+        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000, inoutRecords);
+    }
+
+    /**
      * 鏌ヨ鏁版嵁
+     *
      * @param param
      * @return
      */
     public PageResponse<InoutRecord> inoutQuery(InoutParam param) {
-        if (StringUtils.isEmpty(param.getId())) {
+
+        if (StringUtils.isEmpty(param.getId()) && StringUtils.isEmpty(param.getPlateNum())) {
             return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "鏌ヨ鍙傛暟涓嶅畬鏁达紝鏌ヨ澶辫触锛�");
         }
+        if (StringUtils.isEmpty(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (StringUtils.isEmpty(param.getDeptId())) {
+            param.setDeptId(ContextUtil.subDeptId(null));
+        }
 
-        InoutRecord result = inoutRecordService.selectById(param.getId());
+        if(Constant.PROGRESS_WEIGHT_EMPTY.equals(param.getProgress()) || Constant.PROGRESS_WEIGHT_FULL.equals(param.getProgress())){
+            //璁剧疆鏌ヨ寰呯О閲嶇殑
+            param.setProgress(null);
+            //璁剧疆绉伴噸娴佺▼鏍囪
+            param.setWeightTag("WEIGHT");
+        }
+
+        InoutRecord result = inoutRecordService.selectOne(param);
         if (null == result) {
             return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
                     "绯荤粺鏈煡璇㈠埌鎵ц涓殑鍗曟嵁淇℃伅", null);
@@ -459,6 +482,7 @@
 
     /**
      * 鍒嗛〉鑾峰彇鍖哄垝淇℃伅
+     *
      * @param param
      * @return
      */
@@ -475,7 +499,6 @@
     }
 
     /**
-     *
      * @param param
      * @return
      */
@@ -486,8 +509,8 @@
             param.setCompanyId(user.getCompanyId());
         }
         param.setDeptId(ContextUtil.subDeptId(user));
-
-        List<InoutNoticeIn> list = inoutNoticeService.getNoticeIn(param.getCompanyId(), param.getDeptId(),Constant.COMPLETE_STATUS_NONE);
+        param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+        List<InoutNoticeIn> list = inoutNoticeService.getNoticeIn(param);
 
         if (null == list || list.isEmpty()) {
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鏌ヨ缁撴灉涓虹┖锛�");
@@ -497,7 +520,6 @@
     }
 
     /**
-     *
      * @param param
      * @return
      */
@@ -507,8 +529,8 @@
             param.setCompanyId(user.getCompanyId());
         }
         param.setDeptId(ContextUtil.subDeptId(user));
-
-        List<InoutNoticeOut> list = inoutNoticeService.getNoticeOut(param.getCompanyId(), param.getDeptId(),Constant.COMPLETE_STATUS_NONE);
+        param.setCompleteStatus(Constant.COMPLETE_STATUS_NONE);
+        List<InoutNoticeOut> list = inoutNoticeService.getNoticeOut(param);
 
         if (null == list || list.isEmpty()) {
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鏌ヨ缁撴灉涓虹┖锛�");

--
Gitblit v1.9.3