From ceb82b46aff1f20e5670a199aa2e0eef87ccd5a8 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期五, 16 六月 2023 20:15:42 +0800
Subject: [PATCH] 预警与能耗

---
 igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java |  778 +++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 489 insertions(+), 289 deletions(-)

diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
index b933596..6041858 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -11,13 +11,12 @@
 import com.ld.igds.file.CoreFileService;
 import com.ld.igds.file.dto.FileData;
 import com.ld.igds.inout.InoutConstant;
-import com.ld.igds.inout.dto.InoutData;
-import com.ld.igds.inout.dto.InoutGateDto;
-import com.ld.igds.inout.dto.InoutParam;
+import com.ld.igds.inout.dto.*;
 import com.ld.igds.inout.service.InoutService;
 import com.ld.igds.m.service.InoutCommonService;
 import com.ld.igds.models.Depot;
 import com.ld.igds.models.InoutConf;
+import com.ld.igds.models.InoutPrice;
 import com.ld.igds.models.InoutSysConf;
 import com.ld.igds.util.ContextUtil;
 import com.ld.igds.util.DateUtil;
@@ -49,15 +48,15 @@
     private CoreFileService fileService;
     @Autowired
     private CoreCommonService commonService;
-    @Autowired
-    private InoutCommonService inoutManagerService;
+    @Resource
+    private InoutCommonService inoutCommonService;
     @Autowired
     private CheckStandardManager checkStandardManager;
     @Resource
     private InoutDeviceManager inoutDeviceManager;
 
     /**
-     * 褰撳墠鍏堜粠褰撴棩缂撳瓨涓幏鍙栨暟鎹紝濡傛灉缂撳瓨涓病鏈夊啀浠庢暟鎹簱鑾峰彇
+     * 棣栧厛浠庣紦瀛樹腑鑾峰彇锛岀紦瀛樹腑锛屼粠鏁版嵁搴撲腑鑾峰彇
      *
      * @param param
      * @return
@@ -68,22 +67,17 @@
                 && StringUtils.isEmpty(param.getUserId())) {
 
             return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(),
-                    "鍙傛暟涓嶅畬鏁达紝鏃犳硶鑾峰彇淇℃伅锛�");
-        }
-
-        if (StringUtils.isEmpty(param.getCompanyId())) {
-            param.setCompanyId(ContextUtil.getCompanyId());
+                    "鏌ヨ鍙傛暟涓嶅畬鏁达紝鏌ヨ澶辫触锛�");
         }
 
         InoutData result;
         String progress = param.getProgress();
         try {
             param.setProgress(null);
-
             result = inoutService.inoutProgressQuery(param);
             if (null == result) {
                 return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
-                        "鏈壘鍒版祦绋嬩腑鐨勮溅杈嗭紒", null);
+                        "绯荤粺涓烘煡璇㈠埌鎵ц涓殑杞﹁締淇℃伅", null);
             }
 
             // 濡傛灉娌℃湁娴佺▼鏉′欢璇存槑涓嶉渶瑕佸仛鍒ゆ柇锛岀洿鎺ヨ繑鍥�
@@ -91,17 +85,16 @@
                 return new PageResponse<>(RespCodeEnum.CODE_0000, result);
             }
 
+
+            //娴佺▼绫诲瀷楠岃瘉
             if (!result.getType().equals(param.getType())) {
-                if (InoutConstant.TYPE_IN.equals(result.getType())) {
-                    return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
-                            "绯荤粺锛氬綋鍓嶈溅杈嗕笟鍔′负銆愬叆搴撱��", result);
-                } else {
-                    return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
-                            "绯荤粺锛氬綋鍓嶈溅杈嗕笟鍔′负銆愬嚭搴撱��", result);
-                }
+                String msg = "娴佺▼閿欒锛氬綋鍓嶈溅杈嗘祦绋嬩负銆愬叆搴撱��";
+                if (InoutConstant.TYPE_OUT.equals(result.getType())) msg = "娴佺▼閿欒锛氬綋鍓嶈溅杈嗘祦绋嬩负銆愬嚭搴撱��";
+                return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), msg, result);
             }
 
-            // 褰撳墠鏍囩鏍囩ず鏃㈠彲浠ユ槸绌鸿溅绉伴噸涔熷彲浠ユ槸婊¤溅
+
+            //娴佺▼鐜妭楠岃瘉
             if (progress.equals(InoutConstant.PROGRESS_WEIGHT_TAG)) {
                 if (result.getProgress().equals(
                         InoutConstant.PROGRESS_WEIGHT_EMPTY)
@@ -110,7 +103,7 @@
                     // 琛ㄧず褰撳墠娴佺▼姝e父
                 } else {
                     return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
-                            "闈炲綋鍓嶆祦绋嬶紝璇峰埌"
+                            "鎻愮ず锛氶潪褰撳墠鐜妭锛岃鍒�"
                                     + InoutConstant.getProcessName(
                                     param.getType(),
                                     result.getProgress()), result);
@@ -118,33 +111,10 @@
             } else {
                 if (!result.getProgress().equals(progress)) {
                     return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
-                            "闈炲綋鍓嶆祦绋嬶紝璇峰埌"
+                            "鎻愮ず锛氶潪褰撳墠鐜妭锛岃鍒�"
                                     + InoutConstant.getProcessName(
                                     param.getType(),
                                     result.getProgress()), result);
-                }
-            }
-
-            // 鏍规嵁褰撳墠鏁版嵁鍒ゆ柇鏄惁鎺ㄩ��
-            inoutService.notifyWeb(result);
-
-            //涓哄綋鍓嶆暟鎹坊鍔犲寲楠岄」鐩拰姘村垎鍜屾潅璐ㄧ殑鍖栭獙缁撴灉,鐢ㄤ簬鍑哄叆搴撳鎵i噸璁$畻
-            if (InoutConstant.TYPE_IN.equals(result.getType())) {
-                List<CheckItemData> checkItemDataList = inoutService.getCheckCache(result.getCompanyId(), result.getCheckId());
-                result.setCheckItems(checkItemDataList);
-                if (null != checkItemDataList && checkItemDataList.size() > 0) {
-                    for (CheckItemData checkItem : checkItemDataList) {
-                        if (StringUtils.isEmpty(checkItem.getValue())) {
-                            continue;
-                        }
-
-//						if (InoutConstant.CHECK_ITEM_C01.equals(checkItem.getStandardId())) {
-//							result.setWet(Double.valueOf(checkItem.getValue()));
-//						}
-//						if (InoutConstant.CHECK_ITEM_C02.equals(checkItem.getStandardId())) {
-//							result.setImpurity(Double.valueOf(checkItem.getValue()));
-//						}
-                    }
                 }
             }
 
@@ -173,14 +143,14 @@
         List<FileData> files = data.getFiles();
 
         // 鏇存柊涓嬩竴涓姸鎬佸拰鍩烘湰淇℃伅
-        InoutSysConf inoutSysConf = inoutManagerService.getCacheInoutSysConf(
+        InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(
                 data.getCompanyId(), data.getDeptId());
         if (null == inoutSysConf
                 || StringUtils.isEmpty(inoutSysConf.getProgressIn())) {
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
                     "褰撳墠搴撳尯鏈厤缃嚭搴撴祦绋嬩俊鎭紝璇疯仈绯荤鐞嗗憳閰嶇疆銆�", data);
         }
-        data = updateOutBasicInfo(data, inoutSysConf);
+        data = updateBasicInfo(data, inoutSysConf);
 
         // 濡傛灉褰撳墠鑺傜偣鏄敞鍐岋紝鍒欓渶瑕侀獙璇佷笅锛屾槸鍚︽湁涓哄畬鎴愮殑娴佺▼鍦ㄦ墽琛屼腑
         if (InoutConstant.PROGRESS_REGISTER.equals(curProgress)) {
@@ -241,7 +211,7 @@
         }
 
         // 鏇存柊涓嬩竴涓姸鎬佸拰鍩烘湰淇℃伅
-        InoutSysConf inoutSysConf = inoutManagerService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+        InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
 
         if (null == inoutSysConf
                 || StringUtils.isEmpty(inoutSysConf.getProgressIn())) {
@@ -249,7 +219,7 @@
                     "褰撳墠搴撳尯鏈厤缃叆搴撴祦绋嬩俊鎭紝璇疯仈绯荤鐞嗗憳閰嶇疆銆�", data);
         }
 
-        data = updateInBasicInfo(data, inoutSysConf);
+        data = updateBasicInfo(data, inoutSysConf);
 
         // 濡傛灉褰撳墠鑺傜偣鏄敞鍐岋紝鍒欓渶瑕侀獙璇佷笅锛屾槸鍚︽湁涓哄畬鎴愮殑娴佺▼鍦ㄦ墽琛屼腑
         if (InoutConstant.PROGRESS_REGISTER.equals(curProgress)) {
@@ -314,96 +284,84 @@
         return inoutService.inoutProgressQuery(param);
     }
 
-    @Transactional(rollbackFor = Exception.class)
-    public PageResponse<InoutData> updateCheck(InoutData data) throws Exception {
-
-        if (InoutConstant.PROGRESS_RECORD.equals(data.getProgress())) {
-            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
-                    "褰撳墠娴佺▼宸茬粡缁撴潫锛屼笉鏀寔淇敼", data);
-        }
-
-        CheckUpdateResult checkResult = this.updateCheckItems(data);
-        String tag = checkResult.getMsg();
-
-        if (null != tag) {
-            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
-                    "鍚庡彴鎵ц寮傚父锛�" + tag, data);
-        }
-
-        // 鑾峰彇涓氬姟鏁版嵁淇℃伅
-        InoutParam param = new InoutParam();
-        param.setCompanyId(data.getCompanyId());
-        param.setId(data.getId());
-        InoutData progressData = inoutService.inoutProgressQuery(param);
-        if (null == progressData) {
-            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
-                    "娌℃湁鑾峰彇鍒板嚭鍏ュ簱涓氬姟鏁版嵁淇℃伅锛屾洿鏂板け璐�", data);
-        }
-        if (InoutConstant.PROGRESS_RECORD.equals(progressData.getProgress())) {
-            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
-                    "褰撳墠娴佺▼宸茬粡缁撴潫锛屼笉鏀寔淇敼");
-        }
-        progressData.setCheckStatus(data.getCheckStatus());
-
-        // 鏇存柊涓嬩竴涓姸鎬佸拰鍩烘湰淇℃伅
-        if (InoutConstant.PROGRESS_CHECK.equals(progressData.getProgress())) {
-            progressData = updateInBasicInfo(progressData, null);
-            // 鑻ュ寲楠岀粨鏋滀笉鍚堟牸锛屽垽鏂厤缃悗缁祦绋�
-            if (InoutConstant.STATUS_UNPASS.equals(progressData
-                    .getCheckStatus())) {
-                progressData = checkNoPass(progressData);
-            }
-        }
-        progressData.setCheckUser(ContextUtil.getLoginUserCName());
-//		if (StringUtils.isNotEmpty(data.getCustomerName())) {
-//			progressData.setCustomerId(data.getCustomerId());
-//			progressData.setCustomerName(data.getCustomerName());
-//		}
-        if (StringUtils.isNotEmpty(data.getDepotId())) {
-            progressData.setDepotId(data.getDepotId());
-        }
-        if (StringUtils.isNotEmpty(data.getFoodVariety())) {
-            progressData.setFoodVariety(data.getFoodVariety());
-        }
-        if (StringUtils.isNotEmpty(data.getFoodLevel())) {
-            progressData.setFoodLevel(data.getFoodLevel());
-        }
-        if (StringUtils.isNotEmpty(data.getFoodLocation())) {
-            progressData.setFoodLocation(data.getFoodLocation());
-        }
-        if (StringUtils.isNotEmpty(data.getFoodYear())) {
-            progressData.setFoodYear(data.getFoodYear());
-        }
-        if (null != data.getPrice()) {
-            progressData.setPrice(data.getPrice());
-        }
-        if (StringUtils.isNotEmpty(data.getRemarks())) {
-            progressData.setRemarks(data.getRemarks());
-        }
-        if (StringUtils.isNotEmpty(data.getNoticeId())) {
-            progressData.setNoticeId(data.getNoticeId());
-        }
-
-//		// 鍥炲~姘村垎鍜屾潅璐�
-//		if (checkResult.getWet() > 0) {
-//			progressData.setWet(checkResult.getWet());
-//		}
+//    @Transactional(rollbackFor = Exception.class)
+//    public PageResponse<InoutData> updateCheck(InoutData data) throws Exception {
 //
-//		if (checkResult.getImpurity() > 0) {
-//			progressData.setImpurity(checkResult.getImpurity());
-//		}
-
-        String msg = inoutService.updateData(progressData);
-
-        if (null != msg) {
-            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
-        }
-        if (InoutConstant.PROGRESS_RECORD.equals(progressData.getProgress())) {
-
-            inoutComplete(progressData);
-        }
-        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛");
-    }
+//        if (InoutConstant.PROGRESS_RECORD.equals(data.getProgress())) {
+//            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+//                    "褰撳墠娴佺▼宸茬粡缁撴潫锛屼笉鏀寔淇敼", data);
+//        }
+//
+//        CheckUpdateResult checkResult = this.updateCheckItems(data);
+//        String tag = checkResult.getMsg();
+//
+//        if (null != tag) {
+//            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+//                    "鍚庡彴鎵ц寮傚父锛�" + tag, data);
+//        }
+//
+//        // 鑾峰彇涓氬姟鏁版嵁淇℃伅
+//        InoutParam param = new InoutParam();
+//        param.setCompanyId(data.getCompanyId());
+//        param.setId(data.getId());
+//        InoutData progressData = inoutService.inoutProgressQuery(param);
+//        if (null == progressData) {
+//            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+//                    "娌℃湁鑾峰彇鍒板嚭鍏ュ簱涓氬姟鏁版嵁淇℃伅锛屾洿鏂板け璐�", data);
+//        }
+//        if (InoutConstant.PROGRESS_RECORD.equals(progressData.getProgress())) {
+//            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+//                    "褰撳墠娴佺▼宸茬粡缁撴潫锛屼笉鏀寔淇敼");
+//        }
+//        progressData.setCheckStatus(data.getCheckStatus());
+//
+//        // 鏇存柊涓嬩竴涓姸鎬佸拰鍩烘湰淇℃伅
+//        if (InoutConstant.PROGRESS_CHECK.equals(progressData.getProgress())) {
+//            progressData = updateBasicInfo(progressData, null);
+//            // 鑻ュ寲楠岀粨鏋滀笉鍚堟牸锛屽垽鏂厤缃悗缁祦绋�
+//            if (InoutConstant.STATUS_UNPASS.equals(progressData
+//                    .getCheckStatus())) {
+//                progressData = checkNoPass(progressData);
+//            }
+//        }
+//        progressData.setCheckUser(ContextUtil.getLoginUserCName());
+//
+//        if (StringUtils.isNotEmpty(data.getDepotId())) {
+//            progressData.setDepotId(data.getDepotId());
+//        }
+//        if (StringUtils.isNotEmpty(data.getFoodVariety())) {
+//            progressData.setFoodVariety(data.getFoodVariety());
+//        }
+//        if (StringUtils.isNotEmpty(data.getFoodLevel())) {
+//            progressData.setFoodLevel(data.getFoodLevel());
+//        }
+//        if (StringUtils.isNotEmpty(data.getFoodLocation())) {
+//            progressData.setFoodLocation(data.getFoodLocation());
+//        }
+//        if (StringUtils.isNotEmpty(data.getFoodYear())) {
+//            progressData.setFoodYear(data.getFoodYear());
+//        }
+//        if (null != data.getPrice()) {
+//            progressData.setPrice(data.getPrice());
+//        }
+//        if (StringUtils.isNotEmpty(data.getRemarks())) {
+//            progressData.setRemarks(data.getRemarks());
+//        }
+//        if (StringUtils.isNotEmpty(data.getNoticeId())) {
+//            progressData.setNoticeId(data.getNoticeId());
+//        }
+//
+//        String msg = inoutService.updateData(progressData);
+//
+//        if (null != msg) {
+//            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
+//        }
+//        if (InoutConstant.PROGRESS_RECORD.equals(progressData.getProgress())) {
+//
+//            inoutComplete(progressData);
+//        }
+//        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛");
+//    }
 
     /**
      * 鍖栭獙缁撴灉涓嶉�氳繃鏃舵牎楠岄厤缃俊鎭�
@@ -412,7 +370,7 @@
      * @return
      */
     private InoutData checkNoPass(InoutData data) {
-        InoutSysConf inoutSysConf = inoutManagerService.getCacheInoutSysConf(
+        InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(
                 data.getCompanyId(), data.getDeptId());
 
         if (inoutSysConf.getNoPassNext().equals(InoutConstant.CHECK_NOPASS_RECORD)) {
@@ -427,14 +385,20 @@
         return data;
     }
 
+
+    /**
+     * 鏇存柊璐ㄦ淇℃伅
+     *
+     * @param data
+     * @return
+     */
     private CheckUpdateResult updateCheckItems(InoutData data) {
         CheckUpdateResult result = new CheckUpdateResult();
-        if (null == data.getCheckItems())
-            return result;
+        if (null == data.getCheckItems()) return result;
+
         try {
             // 鏇存柊妫�楠岄」鏁版嵁
-            result = checkStandardManager.updateCheckItems(data.getCheckId(),
-                    data.getCompanyId(), data.getCheckItems());
+            result = checkStandardManager.updateCheckItems(data.getCheckId(), data.getCompanyId(), data.getCheckItems());
 
             // 灏嗗寲楠屾暟鎹瓨鍏ョ紦瀛樹腑
             inoutService.setCheckCache(data);
@@ -474,17 +438,63 @@
     }
 
     /**
+     * 鏍规嵁鏁版嵁褰撳墠鐘舵�佸拰涓嬩竴涓姸鎬侊紝鏇存柊鍩虹淇℃伅
+     *
+     * @param data
+     * @return
+     */
+    private InoutData updateBasicInfo(InoutData data, String curProgress, String nextProgress) {
+
+        if (InoutConstant.PROGRESS_REGISTER.equals(curProgress)) {
+            data.setRegisterTime(new Date());
+            data.setRegisterUser(ContextUtil.getLoginUserCName());
+            data.setProgress(nextProgress);
+        }
+
+        if (InoutConstant.PROGRESS_CHECK.equals(data.getProgress())) {
+            data.setCheckUser(ContextUtil.getLoginUserCName());
+            data.setProgress(nextProgress);
+            return data;
+        }
+
+        if (InoutConstant.PROGRESS_WEIGHT_EMPTY.equals(curProgress)) {
+            data.setEmptyWeightTime(new Date());
+            data.setEmptyWeightUser(ContextUtil.getLoginUserCName());
+            data.setProgress(nextProgress);
+        }
+
+        if (InoutConstant.PROGRESS_WEIGHT_FULL.equals(curProgress)) {
+            data.setFullWeightTime(new Date());
+            data.setFullWeightUser(ContextUtil.getLoginUserCName());
+            data.setProgress(nextProgress);
+        }
+
+        if (InoutConstant.PROGRESS_HANDLE.equals(curProgress)) {
+            if (null == data.getHandleUser()) {
+                data.setHandleUser(ContextUtil.getLoginUserCName());
+            }
+            data.setProgress(nextProgress);
+        }
+
+        //濡傛灉涓嬩竴涓暟鎹姸鎬�=娴佺▼缁撴潫锛岀洿鎺ヨˉ鍏呭畬鏁翠俊鎭�
+        if (InoutConstant.PROGRESS_RECORD.equals(nextProgress)) {
+            data.setCompleteTime(DateUtils.addMinutes(new Date(), 2));
+            data.setCompleteUser(ContextUtil.getLoginUserCName());
+            data.setProgress(nextProgress);
+        }
+
+        return data;
+    }
+
+    /**
+     * 褰撳墠鏂规硶闇�瑕佸垹闄�
+     * <p>
      * 鏍规嵁闇�瑕佷繚瀛樼殑鏁版嵁锛岃皟鏁翠笅涓�涓祦绋嬬姸鎬� 涓嶅悓鐨勪粨搴撶粍缁囨祦绋嬪彲鑳戒笉涓�鏍凤紝闇�瑕佹牴鎹疄闄呰皟鏁�
      *
      * @param data
      * @return
      */
-    private InoutData updateInBasicInfo(InoutData data, InoutSysConf sysConf) {
-        if (null == sysConf) {
-            sysConf = inoutManagerService.getCacheInoutSysConf(
-                    data.getCompanyId(), data.getDeptId());
-        }
-
+    private InoutData updateBasicInfo(InoutData data, InoutSysConf sysConf) {
         if (InoutConstant.PROGRESS_REGISTER.equals(data.getProgress())) {
             data.setRegisterTime(new Date());
             data.setRegisterUser(ContextUtil.getLoginUserCName());
@@ -494,13 +504,6 @@
             return data;
         }
 
-        if (InoutConstant.PROGRESS_WEIGHT_FULL.equals(data.getProgress())) {
-            data.setFullWeightTime(new Date());
-            data.setFullWeightUser(ContextUtil.getLoginUserCName());
-            data.setProgress(getNextProgress(data.getProgress(),
-                    data.getType(), sysConf));
-            return data;
-        }
         if (InoutConstant.PROGRESS_CHECK.equals(data.getProgress())) {
             data.setCheckUser(ContextUtil.getLoginUserCName());
             data.setProgress(getNextProgress(data.getProgress(),
@@ -511,56 +514,6 @@
         if (InoutConstant.PROGRESS_WEIGHT_EMPTY.equals(data.getProgress())) {
             data.setEmptyWeightTime(new Date());
             data.setEmptyWeightUser(ContextUtil.getLoginUserCName());
-
-            data.setProgress(getNextProgress(data.getProgress(),
-                    data.getType(), sysConf));
-
-            if (InoutConstant.PROGRESS_RECORD.equals(data.getProgress())) {
-                data.setCompleteTime(DateUtils.addMinutes(new Date(), 2));
-                data.setCompleteUser(ContextUtil.getLoginUserCName());
-            }
-            return data;
-        }
-
-        if (InoutConstant.PROGRESS_HANDLE.equals(data.getProgress())) {
-
-            // 鏌ヨ缂撳瓨涓粨搴撲俊鎭紝鏍规嵁浠撳簱id璁剧疆鍊间粨浜轰负浠撳簱淇濈鍛�
-            Depot depot = commonService.getCacheDepot(data.getCompanyId(),
-                    data.getDepotId());
-            data.setHandleUser(depot == null ? "" : depot.getStoreKeeperName());
-            data.setProgress(getNextProgress(data.getProgress(),
-                    data.getType(), sysConf));
-            return data;
-        }
-
-        if (InoutConstant.PROGRESS_CARD_BACK.equals(data.getProgress())) {
-            data.setCompleteTime(new Date());
-            data.setCompleteUser(ContextUtil.getLoginUserCName());
-            data.setProgress(getNextProgress(data.getProgress(),
-                    data.getType(), sysConf));
-            return data;
-        }
-        return data;
-    }
-
-    /**
-     * 鏍规嵁闇�瑕佷繚瀛樼殑鏁版嵁锛岃皟鏁翠笅涓�涓祦绋嬬姸鎬� 涓嶅悓鐨勪粨搴撶粍缁囨祦绋嬪彲鑳戒笉涓�鏍凤紝闇�瑕佹牴鎹疄闄呰皟鏁�
-     *
-     * @param data
-     * @return
-     */
-    private InoutData updateOutBasicInfo(InoutData data, InoutSysConf sysConf) {
-        if (InoutConstant.PROGRESS_REGISTER.equals(data.getProgress())) {
-            data.setRegisterTime(new Date());
-            data.setRegisterUser(ContextUtil.getLoginUserCName());
-            data.setProgress(getNextProgress(data.getProgress(),
-                    data.getType(), sysConf));
-
-            return data;
-        }
-        if (InoutConstant.PROGRESS_WEIGHT_EMPTY.equals(data.getProgress())) {
-            data.setEmptyWeightTime(new Date());
-            data.setEmptyWeightUser(ContextUtil.getLoginUserCName());
             data.setProgress(getNextProgress(data.getProgress(),
                     data.getType(), sysConf));
 
@@ -600,36 +553,6 @@
         }
 
         return data;
-    }
-
-    public PageResponse<Page<InoutData>> pageRecordData(InoutParam param) {
-
-        log.debug("鍒嗛〉淇℃伅--page={},limit={},cuur={}", param.getPage(),
-                param.getLimit(), param.getCurr());
-
-        Page<InoutData> result = inoutService.pageRecordData(param);
-
-        if (null == result.getRecords() || result.getRecords().isEmpty()) {
-            return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
-                    "鑾峰彇鍒版暟鎹俊鎭负绌�");
-        }
-
-        return new PageResponse<>(RespCodeEnum.CODE_0000, result);
-    }
-
-    /**
-     * @param param
-     * @return
-     */
-    public PageResponse<Page<InoutData>> pageCheckData(InoutParam param) {
-        // 濡傛灉鏄凡鍖栭獙锛屽垯灏嗘祦绋嬬姸鎬佺疆绌猴紝濡傛灉鏄湭鍖栭獙锛屽垯娴佺▼鐘舵�佷笉澶勭悊锛屼粛鏄疌HECK鐘舵��
-        if (!"NONE".equals(param.getCheckStatus())) {
-            param.setProgress(null);
-        }
-        // 璁剧疆鍒嗗簱Id
-        String deptId = ContextUtil.subDeptId(null);
-        param.setDeptId(deptId);
-        return pageRecordData(param);
     }
 
 
@@ -672,20 +595,20 @@
         return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), null, data);
     }
 
-    /**
-     * 鎵︽牱鍖栭獙椤甸潰鑾峰彇妫�楠岄」鏉$洰淇℃伅
-     *
-     * @param data
-     * @return
-     */
-    public PageResponse<List<CheckItemData>> getCheckItem(InoutData data) {
-
-        List<CheckItemData> result = checkStandardManager.listCheckItem(
-                data.getCheckId(), data.getCompanyId(), data.getDeptId(),
-                data.getFoodVariety());
-
-        return new PageResponse<>(RespCodeEnum.CODE_0000, result);
-    }
+//    /**
+//     * 鎵︽牱鍖栭獙椤甸潰鑾峰彇妫�楠岄」鏉$洰淇℃伅
+//     *
+//     * @param data
+//     * @return
+//     */
+//    public PageResponse<List<CheckItemData>> getCheckItem(InoutData data) {
+//
+//        List<CheckItemData> result = checkStandardManager.listCheckItem(
+//                data.getCheckId(), data.getCompanyId(), data.getDeptId(),
+//                data.getFoodVariety());
+//
+//        return new PageResponse<>(RespCodeEnum.CODE_0000, result);
+//    }
 
     /**
      * 鍒犻櫎骞跺畬鎴�
@@ -798,9 +721,6 @@
             if (null == data.getFullWeightTime()) {
                 data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -50));
             }
-            if (null == data.getHandleEnd()) {
-                data.setHandleEnd(DateUtil.getNewByMinute(new Date(), -40));
-            }
             if (null == data.getEmptyWeightTime()) {
                 data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -10));
             }
@@ -814,9 +734,6 @@
         } else {
             if (null == data.getEmptyWeightTime()) {
                 data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -50));
-            }
-            if (null == data.getHandleEnd()) {
-                data.setHandleEnd(DateUtil.getNewByMinute(new Date(), -40));
             }
             if (null == data.getFullWeightTime()) {
                 data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -10));
@@ -888,7 +805,6 @@
 
         // 鏇存柊鏁版嵁
         inoutService.updateData(data);
-        // this.autoCheckByUpdate(data, record);
         return null;
     }
 
@@ -1002,9 +918,6 @@
         if (StringUtils.isEmpty(data.getDepotId())) {
             return "璇峰~鍐欎粨搴撲俊鎭紒";
         }
-//		if (StringUtils.isEmpty(data.getCustomerId())) {
-//			return "璇峰~鍐欏線鏉ュ崟浣嶄俊鎭紒";
-//		}
         if (StringUtils.isEmpty(data.getFoodYear())) {
             return "璇峰~鍐欑伯椋熷勾浠戒俊鎭紒";
         }
@@ -1027,28 +940,6 @@
 
     public void initLpr(InoutConf conf) {
         inoutDeviceManager.initLpr(conf);
-    }
-
-    /**
-     * 鑾峰彇鍑哄叆搴撹澶囬厤缃俊鎭�
-     *
-     * @param companyId
-     * @param deptId
-     * @return
-     */
-    public List<InoutConf> getListInoutConf(String companyId, String deptId) {
-        return inoutManagerService.getCacheInoutConf(companyId, deptId);
-    }
-
-    /**
-     * 鎿嶄綔閬撻椄璁惧
-     *
-     * @param param
-     * @return
-     */
-    public PageResponse<List<CheckItemData>> gateCtrl(InoutGateDto param) {
-
-        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "", null);
     }
 
     /**
@@ -1076,19 +967,19 @@
 
 
         //鑾峰彇绯荤粺鍙傛暟閰嶇疆
-        InoutSysConf inoutSysConf = inoutManagerService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+        InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
         if (null == inoutSysConf) {
             return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
                     "鎻愮ず锛氬綋鍓嶅簱鍖烘湭閰嶇疆鍑哄叆搴撴祦绋嬩俊鎭紝璇疯仈绯荤鐞嗗憳", data);
         }
 
-        String curProgress = data.getProgress();
 
         //鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+        String curProgress = data.getProgress();
         String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
-        data.setRegisterTime(new Date());
-        data.setRegisterUser(ContextUtil.getLoginUserCName());
-        data.setProgress(nextProgress);
+
+
+        data = updateBasicInfo(data, curProgress, nextProgress);
 
         String msg = inoutService.insertData(data);
 
@@ -1104,4 +995,313 @@
         return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
     }
 
-}
+    public PageResponse<InoutData> submitWeightIn(InoutData data) throws Exception {
+        //鑾峰彇绯荤粺鍙傛暟閰嶇疆
+        InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+        if (null == inoutSysConf) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                    "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data);
+        }
+
+
+        //鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+        String curProgress = data.getProgress();
+        String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+        data = updateBasicInfo(data, curProgress, nextProgress);
+
+
+        //鍏ュ簱绉伴噸鍙兘璋冩暣璐ㄦ鍗�
+        CheckUpdateResult checkUpdateResult = updateCheckItems(data);
+        if (data.getDeCheck() == 0) {
+            data.setDeCheck(checkUpdateResult.getDeSum());
+        }
+        if (data.getAddCheck() == 0) {
+            data.setAddCheck(checkUpdateResult.getAddSum());
+        }
+
+        //鎵ц鏁版嵁鏇存柊
+        String msg = inoutService.updateData(data);
+
+        if (null != msg) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data);
+        }
+
+        // 鎵ц闄勪欢淇℃伅
+        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
+
+        //绉伴噸瀹屾垚锛岃皟鐢ㄥ嚭鍏ュ簱鎺у埗閫昏緫澶勭悊
+        inoutDeviceManager.controlWeight(data, curProgress, nextProgress);
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
+    }
+
+
+    public PageResponse<InoutData> submitWeightOut(InoutData data) throws Exception {
+        //鑾峰彇绯荤粺鍙傛暟閰嶇疆
+        InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+        if (null == inoutSysConf) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                    "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data);
+        }
+
+
+        //鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+        String curProgress = data.getProgress();
+        String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+        data = updateBasicInfo(data, curProgress, nextProgress);
+
+        //鎵ц鏁版嵁鏇存柊
+        String msg = inoutService.updateData(data);
+
+        if (null != msg) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data);
+        }
+
+        // 鎵ц闄勪欢淇℃伅
+        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
+
+        //绉伴噸鍚庢牴鎹綋鍓嶆祦绋嬬姸鎬佸拰涓嬩竴涓姸鎬侊紝閫氱煡绉伴噸鎺у埗鍣�
+        inoutDeviceManager.controlWeight(data, curProgress, nextProgress);
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
+    }
+
+    public PageResponse<InoutData> submitHandle(InoutData data) throws Exception {
+        //鑾峰彇绯荤粺鍙傛暟閰嶇疆
+        InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+        if (null == inoutSysConf) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                    "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data);
+        }
+
+        //鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+        String curProgress = data.getProgress();
+        String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+        data = updateBasicInfo(data, curProgress, nextProgress);
+
+
+        //鎵ц鏁版嵁鏇存柊
+        String msg = inoutService.updateDataByHandle(data);
+
+        if (null != msg) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data);
+        }
+
+        // 鎵ц闄勪欢淇℃伅
+        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
+    }
+
+
+    /**
+     * 鏍规嵁鏉′欢鑾峰彇鎵︽牱鏁版嵁
+     *
+     * @param param
+     * @return
+     */
+    public PageResponse<Page<InoutCheckData>> pageSampleData(InoutCheckParam param) {
+
+        if (StringUtils.isEmpty(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (StringUtils.isEmpty(param.getDeptId())) {
+            param.setDeptId(ContextUtil.subDeptId(null));
+        }
+
+        //鑻ユ煡璇㈡潯浠朵负宸叉墻鏍凤紝鍒欐祦绋嬬疆绌猴紱鑻ユ湭鎵︽牱锛屽垯娴佺▼涓嶅鐞嗭紝浠嶄负鎵︽牱鍖栭獙娴佺▼(CHECK)
+        if (!"NONE".equals(param.getSampleStatus())) {
+            param.setProgress(null);
+        }
+
+        //鑾峰彇鎵︽牱鏁版嵁
+        Page<InoutCheckData> sampleList = inoutService.pageSampleData(param);
+
+
+        if (null == sampleList.getRecords() || sampleList.getRecords().isEmpty()) {
+            return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
+                    "鑾峰彇鍒版暟鎹俊鎭负绌�");
+        }
+        return new PageResponse<>(RespCodeEnum.CODE_0000, sampleList);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public PageResponse<InoutCheckData> updateSampleData(InoutCheckData data) {
+
+        try {
+            // 鑾峰彇涓氬姟鏁版嵁淇℃伅
+            InoutParam param = new InoutParam();
+            param.setCompanyId(data.getCompanyId());
+            param.setId(data.getId());
+            InoutData curData = inoutService.inoutProgressQuery(param);
+            if (null == curData) {
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                        "娌℃湁鑾峰彇鍒板叆搴撲笟鍔℃暟鎹俊鎭紝鏇存柊澶辫触", data);
+            }
+            if (InoutConstant.PROGRESS_RECORD.equals(curData.getProgress())) {
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                        "褰撳墠娴佺▼宸茬粡缁撴潫锛屼笉鏀寔淇敼");
+            }
+
+            //鎵︽牱鏃堕棿鍜屾墻鏍蜂汉
+            if (StringUtils.isEmpty(data.getSampleUser())) {
+                data.setSampleUser(ContextUtil.getLoginUserCName());
+            }
+            if (null == data.getSampleTime()) {
+                data.setSampleTime(new Date());
+            }
+            String msg = inoutService.updateSampleData(data);
+
+            if (null != msg) {
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
+            }
+
+            return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛");
+        } catch (Exception e) {
+            log.error("鍚庡彴寮傚父:{}", e);
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                    "鍚庡彴寮傚父锛�" + e.getMessage(), null);
+        }
+    }
+
+    /**
+     * @param param
+     * @return
+     */
+    public PageResponse<Page<InoutCheckData>> pageCheckData(InoutCheckParam param) {
+
+        if (StringUtils.isEmpty(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (StringUtils.isEmpty(param.getDeptId())) {
+            param.setDeptId(ContextUtil.subDeptId(null));
+        }
+        // 濡傛灉鏄凡鍖栭獙锛屽垯灏嗘祦绋嬬姸鎬佺疆绌猴紝濡傛灉鏄湭鍖栭獙锛屽垯娴佺▼鐘舵�佷笉澶勭悊锛屼粛鏄疌HECK鐘舵��
+        if (!"NONE".equals(param.getCheckStatus())) {
+            param.setProgress(null);
+        }
+
+        Page<InoutCheckData> checkList = inoutService.pageCheckData(param);
+
+
+        if (null == checkList.getRecords() || checkList.getRecords().isEmpty()) {
+            return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
+                    "鑾峰彇鍒版暟鎹俊鎭负绌�");
+        }
+        return new PageResponse<>(RespCodeEnum.CODE_0000, checkList);
+    }
+
+    /**
+     * 鑾峰彇鍖栭獙椤逛俊鎭�
+     *
+     * @param param
+     * @return
+     */
+    public PageResponse<List<CheckItemData>> getCheckItemData(InoutCheckParam param) {
+
+        try {
+            List<CheckItemData> result = checkStandardManager.listCheckItem(param.getCheckId(),
+                    param.getCompanyId(), param.getFoodVariety());
+
+            return new PageResponse<>(RespCodeEnum.CODE_0000, result);
+        } catch (Exception e) {
+            return new PageResponse<>(
+                    RespCodeEnum.CODE_1111.getCode(), "鍚庡彴寮傚父锛�" + e.getMessage(), null);
+        }
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public PageResponse<InoutCheckData> updateCheckData(InoutCheckData data) {
+        try {
+
+            // 鑾峰彇涓氬姟鏁版嵁淇℃伅
+            InoutParam param = new InoutParam();
+            param.setCompanyId(data.getCompanyId());
+            param.setId(data.getId());
+            InoutData curData = inoutService.inoutProgressQuery(param);
+            if (null == curData) {
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                        "娌℃湁鑾峰彇鍒板叆搴撲笟鍔℃暟鎹俊鎭紝鏇存柊澶辫触", data);
+            }
+            if (InoutConstant.PROGRESS_RECORD.equals(curData.getProgress())) {
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                        "褰撳墠娴佺▼宸茬粡缁撴潫锛屼笉鏀寔淇敼");
+            }
+
+            //鏇存柊鍖栭獙椤逛俊鎭�
+            CheckUpdateResult checkResult = checkStandardManager.updateCheckItems(data.getCheckId(), data.getCompanyId(), data.getCheckItems());
+            if (StringUtils.isNotEmpty(checkResult.getMsg())) {
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                        "鍚庡彴鎵ц寮傚父锛�" + checkResult.getMsg(), data);
+            }
+
+            //璁剧疆鍖栭獙淇℃伅
+            if (checkResult.getDeSum() > 0) {
+                data.setDeCheck(checkResult.getDeSum());
+            }
+            if (checkResult.getAddSum() > 0) {
+                data.setAddCheck(checkResult.getAddSum());
+            }
+            if (null == data.getCheckTime()) {
+                data.setCheckTime(new Date());
+            }
+            curData.setCheckStatus(data.getCheckStatus());
+
+            //鑾峰彇绯荤粺鍙傛暟閰嶇疆
+            InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+            if (null == inoutSysConf) {
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                        "鎻愮ず锛氬綋鍓嶅簱鍖烘湭閰嶇疆鍑哄叆搴撴祦绋嬩俊鎭紝璇疯仈绯荤鐞嗗憳", data);
+            }
+            //鏇存柊涓嬩竴娴佺▼鐘舵��
+            if (InoutConstant.PROGRESS_CHECK.equals(curData.getProgress())) {
+                curData = updateBasicInfo(curData, inoutSysConf);
+                // 鑻ュ寲楠岀粨鏋滀笉鍚堟牸锛屽垽鏂厤缃悗缁祦绋�
+                if (InoutConstant.STATUS_UNPASS.equals(curData.getCheckStatus())) {
+                    curData = checkNoPass(curData);
+                }
+            }
+
+            //鍖栭獙浜恒�佸寲楠屾椂闂�
+            data.setCheckStatus(curData.getCheckStatus());
+            data.setProgress(curData.getProgress());
+            if (StringUtils.isEmpty(data.getCheckUser())) {
+                data.setCheckUser(ContextUtil.getLoginUserCName());
+            }
+            if (null == data.getCheckTime()) {
+                data.setCheckTime(new Date());
+            }
+
+            String msg = inoutService.updateCheckData(data);
+            if (null != msg) {
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
+            }
+
+            return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛");
+        } catch (Exception e) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
+                    "鍚庡彴寮傚父锛�" + e.getMessage(), null);
+        }
+    }
+
+    /**
+     * 鑾峰彇鍗曚环淇℃伅
+     *
+     * @param param
+     * @return
+     */
+    public PageResponse<InoutPrice> getPrice(InoutCheckParam param) {
+        try {
+
+            List<InoutPrice> price = inoutService.getPrice(param);
+            if(null == price || price.isEmpty()){
+                return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鏈幏鍙栧埌绮瀹氫环閰嶇疆淇℃伅");
+            }
+            return new PageResponse<>(RespCodeEnum.CODE_0000, price.get(0));
+
+        } catch (Exception e) {
+            return new PageResponse<>(
+                    RespCodeEnum.CODE_1111.getCode(), "鍚庡彴寮傚父锛�" + e.getMessage(), null);
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3