From 69cd9f59a0fabf12f8c9147fcba7f69817a870b3 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期一, 06 十一月 2023 23:40:59 +0800 Subject: [PATCH] 更新仓内抓拍2 --- igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java | 170 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 142 insertions(+), 28 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 bed9209..28bac20 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 @@ -7,6 +7,7 @@ import com.ld.igds.data.Page; import com.ld.igds.data.PageResponse; 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.InoutCheckData; import com.ld.igds.inout.dto.InoutCheckParam; @@ -19,7 +20,6 @@ import com.ld.igds.models.InoutSysConf; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; -import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; @@ -36,7 +36,6 @@ * * @author */ -@Slf4j @Component public class InoutManager { @@ -50,6 +49,8 @@ private CheckStandardManager checkStandardManager; @Resource private InoutEventControlManager inoutEventControl; + @Resource + private CoreFileService coreFileService; /** * 鐩存帴浠庢暟鎹簱鏌ヨ锛屼笉鑰冭檻淇℃伅鐘舵�� @@ -213,7 +214,6 @@ return data; } - /** * 浠庣紦瀛樹腑鑾峰彇涓嬩竴娴佺▼ * @@ -256,7 +256,9 @@ } if (InoutConstant.PROGRESS_CHECK.equals(data.getProgress())) { - data.setCheckUser(ContextUtil.getLoginUserCName()); + if (StringUtils.isEmpty(data.getCheckUser())) { + data.setCheckUser(ContextUtil.getLoginUserCName()); + } data.setProgress(nextProgress); return data; } @@ -367,8 +369,9 @@ if (null != msg) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg); } - - + data.setCompleteTime(param.getCompleteTime()); + data.setProgress(InoutConstant.PROGRESS_RECORD); + inoutService.updateInoutCache(data); // 娴佺▼瀹屾垚鏀朵簨浠� inoutEventControl.onInoutComplete(data); @@ -396,16 +399,27 @@ } String loginUser = ContextUtil.getLoginUserCName(); - data.setRegisterUser(loginUser); - data.setFullWeightUser(loginUser); - data.setEmptyWeightUser(loginUser); - data.setHandleUser(loginUser); - data.setCompleteUser(loginUser); + if (StringUtils.isEmpty(data.getRegisterUser())) { + data.setRegisterUser(loginUser); + } + if (StringUtils.isEmpty(data.getFullWeightUser())) { + data.setFullWeightUser(loginUser); + } + if (StringUtils.isEmpty(data.getEmptyWeightUser())) { + data.setEmptyWeightUser(loginUser); + } + if (StringUtils.isEmpty(data.getHandleUser())) { + data.setHandleUser(loginUser); + } + if (StringUtils.isEmpty(data.getCompleteUser())) { + data.setCompleteUser(loginUser); + } + if (null == data.getCompleteTime()) { data.setCompleteTime(new Date()); } // 娉ㄥ唽鏃堕棿姣斿畬鎴愭椂闂存棭涓�涓皬鏃� - data.setRegisterTime(DateUtil.getNewByMinute(new Date(), -60)); + data.setRegisterTime(DateUtils.addMinutes(new Date(), -80)); if (StringUtils.isEmpty(data.getUserId())) { data.setUserId(InoutConstant.DEFAULT_ID_CARD); @@ -413,26 +427,45 @@ if (null == data.getIntelCard()) { data.setIntelCard(data.getUserId()); } - if (null != data.getCheckItems()) { + if (null != data.getCheckItems() && StringUtils.isEmpty(data.getCheckUser())) { data.setCheckUser(loginUser); } if (InoutConstant.TYPE_IN.equals(data.getType())) { if (null == data.getFullWeightTime()) { - data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -50)); + data.setFullWeightTime(DateUtils.addMinutes(new Date(), -50)); } if (null == data.getEmptyWeightTime()) { - data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -10)); + data.setEmptyWeightTime(DateUtils.addMinutes(new Date(), -10)); + } + + if (data.getCompleteTime().before(data.getEmptyWeightTime())) { + data.setEmptyWeightTime(DateUtils.addMinutes(data.getCompleteTime(), -10)); + } + if (data.getEmptyWeightTime().before(data.getFullWeightTime())) { + data.setFullWeightTime(DateUtils.addMinutes(data.getEmptyWeightTime(), -40)); + } + if (data.getFullWeightTime().before(data.getRegisterTime())) { + data.setRegisterTime(DateUtils.addMinutes(data.getFullWeightTime(), -30)); } data = this.updateCheckItems(data, false); } else { if (null == data.getEmptyWeightTime()) { - data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -50)); + data.setEmptyWeightTime(DateUtils.addMinutes(new Date(), -50)); } if (null == data.getFullWeightTime()) { - data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -10)); + data.setFullWeightTime(DateUtils.addMinutes(new Date(), -10)); + } + if (data.getCompleteTime().before(data.getFullWeightTime())) { + data.setFullWeightTime(DateUtils.addMinutes(data.getCompleteTime(), -10)); + } + if (data.getFullWeightTime().before(data.getEmptyWeightTime())) { + data.setEmptyWeightTime(DateUtils.addMinutes(data.getEmptyWeightTime(), -40)); + } + if (data.getEmptyWeightTime().before(data.getRegisterTime())) { + data.setRegisterTime(DateUtils.addMinutes(data.getFullWeightTime(), -30)); } } @@ -443,7 +476,7 @@ if (InoutConstant.TYPE_IN.equals(data.getType())) { this.updateCheckItems(data, true); } - + fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), null); return null; } @@ -491,9 +524,9 @@ data = inoutService.inoutQueryById(param); - if (InoutConstant.PROGRESS_RECORD.equals(data.getProgress())) { - return "娴佺▼缁撴潫鐨勬暟鎹笉鏀寔寮傚父澶勭悊锛�"; - } +// if (InoutConstant.PROGRESS_RECORD.equals(data.getProgress())) { +// return "娴佺▼缁撴潫鐨勬暟鎹笉鏀寔寮傚父澶勭悊锛�"; +// } if (InoutConstant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) { return "褰撳墠淇℃伅宸插仛寮傚父澶勭悊锛屼笉鏀寔閲嶅鎵ц锛�"; } @@ -594,7 +627,7 @@ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶅簱鍖烘湭閰嶇疆鍑哄叆搴撴祦绋嬩俊鎭紝璇疯仈绯荤鐞嗗憳", data); } - + List<FileData> files = data.getFiles(); // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬� String curProgress = data.getProgress(); String nextProgress = getNextProgress(curProgress, data.getType(), @@ -608,8 +641,10 @@ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); } - // 鎵ц闄勪欢淇℃伅 - fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); + if (null != files && files.size() > 0) { + // 鎵ц闄勪欢淇℃伅 + fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress); + } //鐧昏瀹屾垚浜嬩欢 inoutEventControl.onInoutRegister(data); @@ -626,7 +661,7 @@ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data); } - + List<FileData> files = data.getFiles(); // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬� String curProgress = data.getProgress(); String nextProgress = getNextProgress(curProgress, data.getType(), @@ -644,8 +679,10 @@ data); } - // 鎵ц闄勪欢淇℃伅 - fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); + if (null != files && files.size() > 0) { + // 鎵ц闄勪欢淇℃伅 + fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress); + } // 绉伴噸瀹屾垚浜嬩欢 inoutEventControl.onInoutWeight(data, curProgress, nextProgress); @@ -840,7 +877,9 @@ curData.setCheckTime(new Date()); data.setCheckTime(new Date()); } + curData.setCheckUser(data.getCheckUser()); curData.setCheckStatus(data.getCheckStatus()); + curData.setFoodYear(data.getFoodYear()); // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬� @@ -860,6 +899,9 @@ curData.setPrice(data.getPrice()); curData.setRemarks(data.getRemarks()); curData.setCheckItems(data.getCheckItems()); + curData.setCheckTime(data.getCheckTime()); + curData.setDepotId(data.getDepotId()); + curData.setFoodType(data.getFoodType()); if (StringUtils.isEmpty(data.getCheckUser())) { curData.setCheckUser(ContextUtil.getLoginUserCName()); @@ -876,9 +918,50 @@ // 璐ㄦ瀹屾垚瑙﹀彂浜嬩欢 - inoutEventControl.onInCheck(data,curProgress,nextProgress); + inoutEventControl.onInCheck(data, curProgress, nextProgress); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛"); + } + + public PageResponse<InoutCheckData> submitCheckData(InoutCheckData data) throws Exception { + + + // 鑾峰彇涓氬姟鏁版嵁淇℃伅 + 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); + } + + curData.setType(curData.getType()); + curData.setFoodLevel(data.getFoodLevel()); + curData.setFoodVariety(data.getFoodVariety()); + curData.setPrice(data.getPrice()); + curData.setDepotId(data.getDepotId()); + curData.setCheckItems(data.getCheckItems()); + + String msg = inoutService.updateCheckData(curData); + if (null != msg) { + return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg); + } + + return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "淇濆瓨鎴愬姛"); } /** @@ -952,4 +1035,35 @@ } } + /** + * @param param + * @return + */ + public PageResponse<InoutCheckData> inoutDataByCheckId(InoutCheckParam param) { + if (StringUtils.isEmpty(param.getCheckId())) { + return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), + "鏌ヨ鍙傛暟涓嶅畬鏁达紝鏌ヨ澶辫触锛�"); + } + + InoutCheckData result; + try { + param.setProgress(InoutConstant.PROGRESS_CHECK); + result = inoutService.inoutDataByCheckId(param); + if (null == result) { + return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), + "绯荤粺鏈煡璇㈠埌鎵ц涓殑杞﹁締淇℃伅", null); + } + + return new PageResponse<>(RespCodeEnum.CODE_0000, result); + + } catch (Exception e) { + return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), + e.getMessage()); + } + } + + public void initInoutWeight(List<InoutConf> listInoutConf, String sort) { + inoutEventControl.initInoutWeight(listInoutConf, sort); + } + } \ No newline at end of file -- Gitblit v1.9.3