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/controller/inout/InoutController.java |  322 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 259 insertions(+), 63 deletions(-)

diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java
index 6c51134..18b51d2 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java
@@ -1,8 +1,11 @@
 package com.fzzy.sys.controller.inout;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fzzy.common.dto.BaseParam;
 import com.fzzy.igds.constant.Constant;
-import com.fzzy.igds.domain.Depot;
-import com.fzzy.igds.domain.InoutConf;
+import com.fzzy.igds.constant.RespCodeEnum;
+import com.fzzy.igds.data.*;
+import com.fzzy.igds.domain.*;
 import com.fzzy.igds.utils.ContextUtil;
 import com.fzzy.igds.utils.DateUtil;
 import com.fzzy.sys.manager.common.CommonManager;
@@ -13,10 +16,12 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
-
+import org.springframework.web.bind.annotation.ResponseBody;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
@@ -40,23 +45,21 @@
     private CommonManager commonManager;
 
     /**
-     * 鍑哄叆搴撳揩閫熺櫥璁�
-     *
+     * 鐧昏锛屽嚭鍏ュ簱鍏辩敤
      * @param httpRequest
-     * @param sort        閰嶅鍙�
-     * @param type        涓氬姟绫诲瀷锛欼N-鍏ュ簱锛孫UT-鍑哄簱
+     * @param sort         閰嶅鍙�
+     * @param type         涓氬姟绫诲瀷锛欼N-鍏ュ簱锛孫UT-鍑哄簱
      * @param view
      * @return
      */
     @RequestMapping("/register")
     public String register(HttpServletRequest httpRequest,
-                           @RequestParam(value = "sort", required = false) String sort,
-                           @RequestParam(value = "type", required = false) String type,
-                           ModelMap view) {
+                              @RequestParam(value = "sort", required = false) String sort,
+                              @RequestParam(value = "type", required = false) String type,
+                              ModelMap view) {
 
         SysUser user = ContextUtil.getLoginUser();
         view.put(Constant.MODEL_KEY_LOGIN_USER, user);
-
         String deptId = ContextUtil.subDeptId(user);
         view.put("deptId", deptId);
 
@@ -67,46 +70,31 @@
             sort = inoutManager.getInoutWeightByClient(httpRequest);
         }
 
-        if (StringUtils.isEmpty(type)) {
+        if (StringUtils.isBlank(type)) {
             //榛樿鍏ュ簱
             type = Constant.TYPE_IN;
         }
         view.put("type", type);
 
-        //绉伴噸鏄惁鍙紪杈戞爣绛�
-        String weightEditTag = inoutManager.getWeightEditTag(user.getCompanyId(), deptId);
-        view.put("weightEditTag", weightEditTag);
+        // 绫诲瀷鍒楄〃
+        List<SysDictData> listInoutType = commonManager.getInoutType();
+        view.put("listInoutType", listInoutType);
 
         //鍑哄叆搴撴祦绋�
         String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), ContextUtil.subDeptId(user), type);
         view.put("inoutProgress", inoutProgress);
+
         // 褰撳墠娴佺▼鑺傜偣
         view.put("progress", Constant.PROGRESS_REGISTER);
 
         // 鑾峰彇鍑哄叆搴撻厤缃俊鎭�
         List<InoutConf> listInoutConf = inoutManager.getListInoutConf(user.getCompanyId(), deptId);
 
-        //鏍规嵁鍑哄叆搴撹澶囦俊鎭瓫閫夊湴纾呴厤缃俊鎭紝鎵�鏈夊湴纾咃紝鏀寔鐢ㄦ埛鎵嬪姩閫夋嫨
-        List<InoutConf> listWeight = inoutManager.getInoutConf(listInoutConf, Constant.CONF_TYPE_30);
-        view.put("listWeight", listWeight);
+        // 杞︾墝璇嗗埆鍙傛暟灏佽
+        InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_10, Constant.PROGRESS_REGISTER, 1);
+        view.put("lprDto", conf);
 
-        // 鑾峰彇褰撳墠鍦扮
-        InoutConf weightDto = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_30);
-        view.put("weightDto", weightDto);
-
-        // 杩囩▼鎽勫儚澶�1
-        InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 1);
-        view.put("snapDto1", conf);
-
-        // 杩囩▼鎽勫儚澶�2
-        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 2);
-        view.put("snapDto2", conf);
-
-        // 杩囩▼鎽勫儚澶�3
-        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 3);
-        view.put("snapDto3", conf);
-
-        return prefix + "/inout-register";
+        return prefix + "/register";
     }
 
     /**
@@ -114,15 +102,14 @@
      * @return
      */
     @RequestMapping("/check")
-    public String check(HttpServletRequest httpRequest, ModelMap view) {
+    public String check(ModelMap view) {
 
         SysUser user = ContextUtil.getLoginUser();
         view.put(Constant.MODEL_KEY_LOGIN_USER, user);
 
         String deptId = ContextUtil.subDeptId(user);
-
-        view.put("type", Constant.TYPE_IN);
         view.put("deptId", deptId);
+        view.put("type", Constant.TYPE_IN);
 
         // 浠撳簱鍒楄〃鍋氫笅鎷夋浣跨敤
         List<Depot> listDepot = commonManager.listDepotByDeptId(deptId);
@@ -135,14 +122,13 @@
         // 褰撳墠娴佺▼鑺傜偣
         view.put("progress", Constant.PROGRESS_CHECK);
 
-        // 绮鍝佺涓嬫媺妗�
-        List<SysDictData> listFoodVariety = commonManager.getDicTrigger(
-                Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
-        view.put("listFoodVariety", listFoodVariety);
+        // 绫诲瀷鍒楄〃
+        List<SysDictData> listInoutType = commonManager.getInoutType();
+        view.put("listInoutType", listInoutType);
 
-        // 绮鎬ц川涓嬫媺妗�
-        List<SysDictData> listFoodType = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_TYPE, user.getCompanyId());
-        view.put("listFoodType", listFoodType);
+        // 绮鍝佺涓嬫媺妗�
+        List<SysDictData> listFoodVariety = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
+        view.put("listFoodVariety", listFoodVariety);
 
         // 绮绛夌骇涓嬫媺妗�
         List<SysDictData> listFoodLevel = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId());
@@ -151,21 +137,22 @@
         view.put("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
         view.put("startTime", DateFormatUtils.format(DateUtil.getNewByDay(null, -30), "yyyy-MM-dd"));
 
-        return prefix + "/inout-check";
+        return prefix + "/check";
     }
 
-
     /**
-     * 鍏ュ簱绉伴噸鎿嶄綔锛屽寘鎷┖杞︾О閲嶅拰婊¤溅绉伴噸锛屽叡鐢ㄤ竴涓〉闈�
-     *
-     * @param sort 琛ㄧず浣跨敤鐨勫嚭鍏ュ簱璁惧閰嶅鍙凤紝涓嶄紶閫掗粯璁や负1
+     * 鍑哄叆搴撳�间粨
+     * @param httpRequest
+     * @param sort
+     * @param type
+     * @param view
      * @return
      */
-    @RequestMapping("/weight")
-    public String weight(HttpServletRequest httpRequest,
-                         @RequestParam(value = "sort", required = false) String sort,
-                         @RequestParam(value = "type", required = false) String type,
-                         ModelMap view) {
+    @RequestMapping("/handle")
+    public String handle(HttpServletRequest httpRequest,
+                           @RequestParam(value = "sort", required = false) String sort,
+                           @RequestParam(value = "type", required = false) String type,
+                           ModelMap view) {
 
         //濡傛灉娌℃湁鎸囧畾鍦扮锛屼粠鐢ㄦ埛涓婁竴涓�夋嫨涓幏鍙�
         if (StringUtils.isEmpty(sort)) {
@@ -183,25 +170,84 @@
 
         SysUser user = ContextUtil.getLoginUser();
         view.put(Constant.MODEL_KEY_LOGIN_USER, user);
-
         String deptId = ContextUtil.subDeptId(user);
-        view.put("type", type);
         view.put("deptId", deptId);
+
+        // 褰撳墠娴佺▼鏍囩
+        view.put("progress", Constant.PROGRESS_HANDLE);
+
+        //鍏ュ簱娴佺▼閰嶇疆
+        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), deptId, type);
+        view.put("inoutProgress", inoutProgress);
+
+        // 绫诲瀷
+        List<SysDictData> listInoutType = commonManager.getInoutType();
+        view.put("listInoutType", listInoutType);
 
         // 浠撳簱鍒楄〃鍋氫笅鎷夋浣跨敤
         List<Depot> listDepot = commonManager.listDepotByDeptId(deptId);
         view.put(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
 
-        // 褰撳墠娴佺▼鏍囩
-        view.put("progress", Constant.PROGRESS_WEIGHT_TAG);
+        // 绮鍝佺涓嬫媺妗�
+        List<SysDictData> listFoodVariety = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
+        view.put("listFoodVariety", listFoodVariety);
 
-        //鍏ュ簱娴佺▼閰嶇疆
-        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), deptId, Constant.TYPE_IN);
-        view.put("inoutProgress", inoutProgress);
+        return prefix + "/handle";
+    }
+
+    /**
+     * 鍏ュ簱绉伴噸鎿嶄綔锛屽寘鎷┖杞︾О閲嶅拰婊¤溅绉伴噸锛屽叡鐢ㄤ竴涓〉闈�
+     *
+     * @param sort 琛ㄧず浣跨敤鐨勫嚭鍏ュ簱璁惧閰嶅鍙凤紝涓嶄紶閫掗粯璁や负1
+     * @return
+     */
+    @RequestMapping("/weight")
+    public String weight(HttpServletRequest httpRequest,
+                         @RequestParam(value = "sort", required = false) String sort,
+                         @RequestParam(value = "type", required = false) String type,
+                         @RequestParam(value = "viewTag", required = false) String viewTag,
+                         ModelMap view) {
+
+        if (StringUtils.isEmpty(viewTag)) {
+            viewTag = "1";
+        }
+        //濡傛灉娌℃湁鎸囧畾鍦扮锛屼粠鐢ㄦ埛涓婁竴涓�夋嫨涓幏鍙�
+        if (StringUtils.isEmpty(sort)) {
+            sort = "1";
+        }
+        if (StringUtils.isEmpty(sort)) {
+            sort = inoutManager.getInoutWeightByClient(httpRequest);
+        }
+
+        if (StringUtils.isEmpty(type)) {
+            //榛樿鍏ュ簱
+            type = Constant.TYPE_IN;
+        }
+        view.put("type", type);
+
+        SysUser user = ContextUtil.getLoginUser();
+        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
+        String deptId = ContextUtil.subDeptId(user);
+        view.put("deptId", deptId);
 
         //绉伴噸鏄惁鍙紪杈戞爣绛�
         String weightEditTag = inoutManager.getWeightEditTag(user.getCompanyId(), deptId);
         view.put("weightEditTag", weightEditTag);
+
+        // 褰撳墠娴佺▼鏍囩
+        view.put("progress", Constant.PROGRESS_WEIGHT_TAG);
+
+        //鍏ュ簱娴佺▼閰嶇疆
+        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), deptId, type);
+        view.put("inoutProgress", inoutProgress);
+
+        // 绫诲瀷
+        List<SysDictData> listInoutType = commonManager.getInoutType();
+        view.put("listInoutType", listInoutType);
+
+        // 浠撳簱鍒楄〃鍋氫笅鎷夋浣跨敤
+        List<Depot> listDepot = commonManager.listDepotByDeptId(deptId);
+        view.put(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
 
         // 绮鍝佺涓嬫媺妗�
         List<SysDictData> listFoodVariety = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
@@ -230,7 +276,157 @@
         conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 3);
         view.put("snapDto3", conf);
 
-        return prefix + "/inout-weight";
+        //榛樿鏌ヨ鏃堕棿
+        view.put("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+        view.put("startTime", DateFormatUtils.format(DateUtil.getNewByDay(null, -30), "yyyy-MM-dd"));
+
+
+        String viewStr = prefix + "/weight";
+        if ("1".equals(viewTag)) {
+            viewStr = prefix + "/weight";
+        }
+        if ("2".equals(viewTag)) {
+            viewStr = prefix + "/weight2";
+        }
+        return viewStr;
     }
 
+
+    /**
+     * 鍒嗛〉鑾峰彇娴佺▼鏈畬鎴愮殑鏁版嵁
+     *
+     * @param param
+     * @return
+     */
+    @RequestMapping("/page-inout-data")
+    @ResponseBody
+    public PageResponse<Page<InoutRecord>> pageInoutData(@RequestBody InoutParam param) {
+        return inoutManager.pageInoutData(param);
+    }
+
+    /**
+     * 鑾峰彇寰呯О閲嶇殑鏁版嵁
+     *
+     * @param param
+     * @return
+     */
+    @RequestMapping("/list-weight-data")
+    @ResponseBody
+    public PageResponse<List<InoutRecord>> listWeightData(@RequestBody InoutParam param) {
+        return inoutManager.listWeightData(param);
+    }
+
+    /**
+     * 鑾峰彇寰呭�间粨鐨勬暟鎹�
+     *
+     * @param param
+     * @return
+     */
+    @RequestMapping("/list-handle-data")
+    @ResponseBody
+    public PageResponse<List<InoutRecord>> listHandleData(@RequestBody InoutParam param) {
+        return inoutManager.listHandleData(param);
+    }
+
+    /**
+     * 鏍规嵁鏉′欢鏌ヨ寰呯О閲嶇殑鏁版嵁
+     * @param param
+     * @return
+     */
+    @RequestMapping("/inout-query")
+    @ResponseBody
+    public PageResponse<InoutRecord> inoutQuery(@RequestBody InoutParam param) {
+
+        return inoutManager.inoutQuery(param);
+    }
+
+
+    /**
+     * 鍑哄叆搴撶櫥璁版彁浜�
+     *
+     * @param data
+     * @return
+     */
+    @RequestMapping("/submit-register")
+    @ResponseBody
+    public PageResponse<InoutData> submitRegister(@RequestBody InoutData data) {
+
+        return inoutManager.submitRegister(data);
+    }
+
+    /**
+     * 鍑哄叆搴撳寲楠屼俊鎭彁浜�
+     * @param data
+     * @return
+     */
+    @RequestMapping("/submit-check")
+    @ResponseBody
+    public PageResponse<InoutData> submitCheck(@RequestBody InoutData data) {
+
+        return inoutManager.submitCheck(data);
+    }
+
+    /**
+     * 鍑哄叆搴撶О閲嶇幆鑺傛彁浜�
+     * @param data
+     * @return
+     */
+    @RequestMapping("/submit-weight")
+    @ResponseBody
+    public PageResponse<InoutData> submitWeight(@RequestBody InoutData data) {
+
+        return inoutManager.submitWeight(data);
+    }
+
+
+    /**
+     * 鍑哄叆搴撶О閲嶇幆鑺傛彁浜わ紝璇锋敞鎰忥細鍊间粨鎸戞彁浜ょ殑鏁版嵁闈炲嚭鍏ュ簱娴佹按瀹屾暣淇℃伅锛屼笉鑳界洿鎺ヨ皟鐢╱pdate鏂规硶
+     *
+     * @param data
+     * @return
+     */
+    @RequestMapping("/submit-handle")
+    @Transactional
+    @ResponseBody
+    public PageResponse<InoutData> submitHandle(@RequestBody InoutData data) {
+
+        log.debug("-------------submitHandle------------------");
+        return inoutManager.submitHandle(data);
+    }
+
+
+    /**
+     * 鑾峰彇琛屾斂鍖哄煙
+     *
+     * @return
+     */
+    @RequestMapping("/page-dicArea")
+    @ResponseBody
+    public PageResponse<Page<DicArea>> pageDicArea(@RequestBody IgdsBaseParam param) {
+
+        return inoutManager.pageDicArea(param);
+    }
+
+    /**
+     * 鍏ュ簱閫氱煡鍗�-鑾峰彇娌℃湁瀹屾垚鐨勯�氱煡鍗曞垪琛�
+     *
+     * @return
+     */
+    @RequestMapping("/list-notice-in")
+    @ResponseBody
+    public PageResponse<List<InoutNoticeIn>> listNoticeIn(@RequestBody NoticeParam param) {
+        return inoutManager.listNoticeIn(param);
+    }
+
+
+    /**
+     * 鍑哄簱閫氱煡鍗�-鑾峰彇娌℃湁瀹屾垚鐨勯�氱煡鍗曞垪琛�
+     *
+     * @return
+     */
+    @RequestMapping("/list-notice-out")
+    @ResponseBody
+    public PageResponse<List<InoutNoticeOut>> listNoticeOut(@RequestBody NoticeParam param) {
+        return inoutManager.listNoticeOut(param);
+    }
 }

--
Gitblit v1.9.3