From 785ce007ce4b7b2119a99aacc95cefe9da09e32e Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期二, 04 七月 2023 16:49:09 +0800 Subject: [PATCH] 优化出入库逻辑,调整节点事件 --- igds-core/src/main/java/com/ld/igds/io/impl/DefaultInoutApiServiceImpl.java | 12 igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java | 22 igds-core/src/main/java/com/ld/igds/io/constant/ProtocolEnum.java | 1 igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java | 147 ++++---- igds-web/src/main/resources/static/admin/inout/out-weight.js | 30 igds-databoard/src/main/java/com/ld/igds/databoard/controller/DataboardController.java | 3 igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BhznInoutService.java | 63 +++ igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java | 326 +++++++++++++++---- igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java | 67 ---- /dev/null | 140 -------- igds-web/src/main/resources/static/admin/inout/inout-print.js | 16 igds-core/src/main/java/com/ld/igds/inout/ApiInoutService.java | 25 + igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/package-info.java | 6 igds-web/src/main/java/com/ld/igds/IgdsApplication.java | 2 igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/RemoteGrainV1ServiceImpl.java | 2 igds-inout/src/main/java/com/ld/igds/inout/manager/InoutCommonManager.java | 5 igds-core/src/main/java/com/ld/igds/inout/dto/ApiInoutData.java | 2 igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java | 18 - igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java | 20 19 files changed, 479 insertions(+), 428 deletions(-) diff --git a/igds-core/src/main/java/com/ld/igds/inout/ApiInoutService.java b/igds-core/src/main/java/com/ld/igds/inout/ApiInoutService.java index de009e3..b3f9547 100644 --- a/igds-core/src/main/java/com/ld/igds/inout/ApiInoutService.java +++ b/igds-core/src/main/java/com/ld/igds/inout/ApiInoutService.java @@ -1,6 +1,7 @@ package com.ld.igds.inout; import com.ld.igds.inout.dto.ApiInoutData; +import com.ld.igds.inout.dto.InoutData; /** @@ -35,7 +36,6 @@ */ ApiInoutData getPlateNum(ApiInoutData param); - /** * 杞︾墝璇嗗埆鍒濆鍖� * @@ -46,7 +46,7 @@ /** - * 闂告満鎺у埗-actionCode鍜� deviceId + * 闂告満鎺у埗 * * @param param * @return @@ -55,23 +55,30 @@ /** - * 璇煶鎾斁--杩滅▼璋冪敤璇煶鎾斁 + * 绾㈣矾鐏帶鍒� * - * @param param actionCode 鍜� msg涓嶅彲涓虹┖ + * @param param * @return */ - String noticeRadio(ApiInoutData param); + String lightControl(ApiInoutData param); + + + /** + * 杩滅▼璇煶鎾姤 + * + * @param param + * @return + */ + String noticeRadio(ApiInoutData param, InoutData data); /** * LED灞忓箷鎺ㄩ�佷俊鎭� * - * @param param actionCode 鍜� msg涓嶅彲涓虹┖ + * @param param * @return */ - String noticeLed(ApiInoutData param); - - + String noticeLed(ApiInoutData param, InoutData data); } diff --git a/igds-core/src/main/java/com/ld/igds/inout/dto/ApiInoutData.java b/igds-core/src/main/java/com/ld/igds/inout/dto/ApiInoutData.java index 10168ff..52ba697 100644 --- a/igds-core/src/main/java/com/ld/igds/inout/dto/ApiInoutData.java +++ b/igds-core/src/main/java/com/ld/igds/inout/dto/ApiInoutData.java @@ -86,7 +86,7 @@ //绉伴噸淇℃伅 private double weight = 0.0; - //鍔ㄤ綔缂栫爜锛屼緥濡傚紑闂告満-鍏抽椄鏈虹瓑 + //鍔ㄤ綔缂栫爜锛�0=鍏抽棴/绾㈢伅锛�1=鎵撳紑/璺伅 private String actionCode; //鍔ㄤ綔缂栫爜锛岃澶囩紪鍙� diff --git a/igds-core/src/main/java/com/ld/igds/io/constant/ProtocolEnum.java b/igds-core/src/main/java/com/ld/igds/io/constant/ProtocolEnum.java index 99f2dc8..6384c63 100644 --- a/igds-core/src/main/java/com/ld/igds/io/constant/ProtocolEnum.java +++ b/igds-core/src/main/java/com/ld/igds/io/constant/ProtocolEnum.java @@ -30,6 +30,7 @@ TCP_BHZH_GRAIN_FM_V1("TCP_BHZH_GRAIN_FM_V1", "閭︽捣鏅鸿兘鏃犵嚎涓绘満鐗圴1"), TCP_BHZH_GRAIN_V2("TCP_BHZH_GRAIN_V2", "閭︽捣鏅鸿兘鏈夌嚎鐗圴2"), TCP_BHZH_VERB_V2("TCP_BHZH_VERB_V2", "閭︽捣鎺у埗鏌滄櫤鑳芥湁绾跨増V2"), + TCP_BHZH_INOTU_V1("TCP_BHZH_INOTU_V1", "閭︽捣鏅鸿兘鍑哄叆搴撴帶鍒跺櫒鍗忚"), FZZY_OPENAPI_HTTP("FZZY_OPENAPI_HTTP", "椋庢鑷磋繙API-HTTP鍗忚"); private String code; private String msg; diff --git a/igds-core/src/main/java/com/ld/igds/io/impl/DefaultInoutApiServiceImpl.java b/igds-core/src/main/java/com/ld/igds/io/impl/DefaultInoutApiServiceImpl.java index 4eec8ec..616e00f 100644 --- a/igds-core/src/main/java/com/ld/igds/io/impl/DefaultInoutApiServiceImpl.java +++ b/igds-core/src/main/java/com/ld/igds/io/impl/DefaultInoutApiServiceImpl.java @@ -2,6 +2,7 @@ import com.ld.igds.inout.dto.ApiInoutData; import com.ld.igds.inout.ApiInoutService; +import com.ld.igds.inout.dto.InoutData; import com.ld.igds.io.constant.ProtocolEnum; import org.springframework.stereotype.Repository; @@ -14,6 +15,11 @@ @Override public String getProtocol() { return ProtocolEnum.TCP_DEFAULT.getCode(); + } + + @Override + public ApiInoutData getIcCardNum(ApiInoutData param) { + return null; } @Override @@ -32,17 +38,17 @@ } @Override - public String noticeRadio(ApiInoutData param) { + public String lightControl(ApiInoutData param) { return null; } @Override - public String noticeLed(ApiInoutData param) { + public String noticeRadio(ApiInoutData param, InoutData data) { return null; } @Override - public ApiInoutData getIcCardNum(ApiInoutData param) { + public String noticeLed(ApiInoutData param, InoutData data) { return null; } diff --git a/igds-databoard/src/main/java/com/ld/igds/databoard/controller/DataboardController.java b/igds-databoard/src/main/java/com/ld/igds/databoard/controller/DataboardController.java index 2ef17de..9dd246d 100644 --- a/igds-databoard/src/main/java/com/ld/igds/databoard/controller/DataboardController.java +++ b/igds-databoard/src/main/java/com/ld/igds/databoard/controller/DataboardController.java @@ -42,6 +42,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; +import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -305,7 +306,7 @@ inoutCommonManager.initInoutScreen(param.getCompanyId(),param.getDeptId()); - return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "鎴愬姛锛�"); + return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎴愬姛锛�"); } /** diff --git a/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java b/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java index 32498d0..c888d5d 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutApiController.java @@ -5,7 +5,7 @@ import com.ld.igds.data.SnapImgDto; import com.ld.igds.inout.dto.ApiInoutData; import com.ld.igds.inout.dto.InoutCameraDto; -import com.ld.igds.inout.manager.InoutDeviceManager; +import com.ld.igds.inout.manager.InoutEventControlManager; import com.ld.igds.models.InoutConf; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; @@ -25,7 +25,7 @@ public class InoutApiController { @Resource - private InoutDeviceManager inoutDeviceManager; + private InoutEventControlManager inoutEventControl; /** * 鑾峰彇杞︾墝璇嗗埆淇℃伅 @@ -36,8 +36,8 @@ @ResponseBody @RequestMapping("/get-plateNum") public PageResponse<ApiInoutData> getPlateNum(@RequestBody ApiInoutData param) { - - if (null == param.getIp()) { + + if (null == param.getIp()) { return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "鍑哄叆搴撻厤缃腑娌℃湁閰嶇疆濡傚叆鐧昏鐨勮溅鐗岃瘑鍒�"); } @@ -45,7 +45,7 @@ return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "褰撳墠杞︾墝璇嗗埆鏈厤缃�氳鍗忚锛屾棤娉曟墽琛�"); } - param = inoutDeviceManager.getPlateNum(param); + param = inoutEventControl.getPlateNum(param); if (StringUtils.isEmpty(param.getErrorMsg())) { return new PageResponse<>(RespCodeEnum.CODE_0000, param); @@ -72,7 +72,7 @@ return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "鍑哄叆搴撻厤缃腑娌℃湁閰嶇疆鏅烘収鍗′俊鎭�"); } - param = inoutDeviceManager.getIcCardNum(param); + param = inoutEventControl.getIcCardNum(param); if (StringUtils.isEmpty(param.getErrorMsg())) { return new PageResponse<>(RespCodeEnum.CODE_0000, param); @@ -90,7 +90,7 @@ public @ResponseBody PageResponse<InoutCameraDto> inoutVideoPlay(@RequestBody InoutCameraDto param) { param.setErrorMsg(null); - param = inoutDeviceManager.inoutVideoPlay(param); + param = inoutEventControl.inoutVideoPlay(param); if (StringUtils.isEmpty(param.getErrorMsg())) { return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎴愬姛", param); @@ -108,7 +108,7 @@ public @ResponseBody PageResponse<String> keepLive(@RequestBody InoutCameraDto param) { - String msg = inoutDeviceManager.videoKeepLive(param); + String msg = inoutEventControl.videoKeepLive(param); return new PageResponse<>(RespCodeEnum.CODE_0000, msg); } @@ -124,7 +124,7 @@ public @ResponseBody PageResponse<SnapImgDto> cutImg(@RequestBody SnapImgDto param) { - param = inoutDeviceManager.snapImg(param); + param = inoutEventControl.snapImg(param); return new PageResponse<>(RespCodeEnum.CODE_0000, param); } @@ -149,7 +149,7 @@ view.addObject("length", length); view.addObject("width", width); - InoutConf inoutConf = inoutDeviceManager.getInoutConf(id); + InoutConf inoutConf = inoutEventControl.getInoutConf(id); view.addObject("data", inoutConf); view.setViewName("admin/inout/video-hik"); @@ -167,7 +167,7 @@ public @ResponseBody PageResponse<String> noticeWeightDone(@RequestBody ApiInoutData param) { - String msg = inoutDeviceManager.noticeWeightDone(param); + String msg = inoutEventControl.noticeWeightDone(param); return new PageResponse<>(RespCodeEnum.CODE_0000, msg); } diff --git a/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java b/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java index a7629be..dfdc749 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java @@ -93,14 +93,14 @@ InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_10, InoutConstant.PROGRESS_REGISTER, 1); view.addObject("lprDto", conf); - //鍒濆鍖栬溅鐗岃瘑鍒� - inoutManager.initLpr(conf); + //鐧昏鍒濆鍖� + inoutManager.initInoutRegister(conf); view.setViewName("admin/inout/in-register"); return view; } - - + + /** * 鎵︽牱椤甸潰 * @@ -405,7 +405,7 @@ view.addObject("lprDto", conf); //鍒濆鍖栬溅鐗岃瘑鍒� - inoutManager.initLpr(conf); + inoutManager.initInoutRegister(conf); view.setViewName("admin/inout/out-register"); return view; @@ -663,8 +663,8 @@ @RequestMapping("/submit-handle") @Transactional public PageResponse<InoutData> submitHandle(@RequestBody InoutData data) throws Exception { - - log.debug("-------------submitHandle------------------"); + + log.debug("-------------submitHandle------------------"); return inoutManager.submitHandle(data); } @@ -701,7 +701,7 @@ */ @RequestMapping("/submit-check") @Transactional - public PageResponse<InoutCheckData> submitCheck(@RequestBody InoutCheckData data)throws Exception { + public PageResponse<InoutCheckData> submitCheck(@RequestBody InoutCheckData data) throws Exception { return inoutManager.submitCheck(data); } @@ -731,8 +731,6 @@ } - - /** * 鍒嗛〉鑾峰彇鎵︽牱鏁版嵁 * @@ -743,7 +741,6 @@ public PageResponse<Page<InoutCheckData>> pageSampleData(@RequestBody InoutCheckParam param) { return inoutManager.pageSampleData(param); } - /** @@ -767,7 +764,6 @@ public PageResponse<List<CheckItemData>> getCheckItem(@RequestBody InoutCheckParam param) { return inoutManager.getCheckItemData(param); } - /** diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutCommonManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutCommonManager.java index 23e56bf..eae9542 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutCommonManager.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutCommonManager.java @@ -30,6 +30,8 @@ private DicTriggerService dicTriggerService; @Resource private InoutService inoutService; + @Resource + private InoutEventControlManager inoutEventControl; /** * 鑾峰彇鍑哄叆搴撶殑鏁翠釜娴佺▼淇℃伅 @@ -156,12 +158,11 @@ public void initInoutScreen(String companyId, String deptId) { if (StringUtils.isEmpty(companyId)) return; if (StringUtils.isEmpty(deptId)) return; - inoutService.notifyToScreen(companyId, deptId, null); + inoutEventControl.initInoutScreen(companyId, deptId, null); } public List<InoutData> getListInoutCache(String deptId) { return inoutService.getListInoutCache(deptId); - } public List<InoutData> getCompleteListInoutCache(String deptId) { diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutDeviceManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java similarity index 64% rename from igds-inout/src/main/java/com/ld/igds/inout/manager/InoutDeviceManager.java rename to igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java index 81ce32e..c4c35af 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutDeviceManager.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java @@ -5,22 +5,26 @@ import com.ld.igds.camera.data.ApiCameraData; import com.ld.igds.camera.data.ApiCameraResp; import com.ld.igds.camera.data.ApiSnapReq; +import com.ld.igds.constant.BizType; import com.ld.igds.data.SnapImgDto; import com.ld.igds.file.CoreFileService; import com.ld.igds.inout.ApiInoutManager; -import com.ld.igds.inout.InoutConstant; -import com.ld.igds.inout.dto.ApiInoutData; -import com.ld.igds.inout.dto.InoutCameraDto; -import com.ld.igds.inout.dto.InoutData; import com.ld.igds.inout.ApiInoutService; +import com.ld.igds.inout.InoutConstant; +import com.ld.igds.inout.dto.*; +import com.ld.igds.inout.service.InoutService; import com.ld.igds.io.constant.ProtocolEnum; import com.ld.igds.m.service.InoutCommonService; import com.ld.igds.models.InoutConf; import com.ld.igds.models.SnapSer; import com.ld.igds.util.ContextUtil; +import com.ld.igds.util.NumberUtil; import com.ld.igds.view.service.SnapSerService; +import com.ld.igds.websocket.WebSocketPacket; +import com.ld.igds.websocket.WebSocketServer; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -30,18 +34,22 @@ /** - * @Desc: 鍑哄叆搴撶浉鍏宠澶囨搷浣滐紝涓氬姟閫昏緫鍖呮嫭鎽勫儚澶存搷浣滐紝鍦扮锛屾墻鏍锋満绛夋墍鏈夎澶� + * @Desc: 鍑哄叆搴撹繃绋嬩腑锛岄拡瀵规祦绋嬬浉鍏崇殑璁惧鑱斿姩鎺у埗鍖呮嫭锛屽湴纾呫�佹墻鏍锋満銆佽鍗″櫒銆侀椄鏈恒�丩ED瀵规帴绛� + * <p> + * 娉ㄦ剰锛涘綋鍓嶇被涓簨浠剁被鏂规硶鍧囦娇鐢ㄥ紓姝ユ柟寮忓疄鐜� * @author: Andy - * @update-time: 2022/11/24 + * @update-time: 2023/7/4 閲嶆柊浼樺寲 */ @Slf4j @Component -public class InoutDeviceManager { +public class InoutEventControlManager { @Resource private SnapSerService snapSerService; @Resource private InoutCommonService inoutCommonService; + @Resource + private InoutService inoutService; @Resource private CoreFileService fileService; @Resource @@ -50,6 +58,12 @@ private ApiCameraManager apiCameraManager; + /** + * 椤甸潰鑾峰彇杞︾墝璇嗗埆 + * + * @param param + * @return + */ public ApiInoutData getPlateNum(ApiInoutData param) { //濡傛灉浣跨敤鐨勬槸鍦扮鎻掍欢鑾峰彇锛屽垯闇�瑕佽皟鏁磋澶囦负鍦扮鎻掍欢淇℃伅 @@ -61,68 +75,44 @@ return param; } - ApiInoutData pluginWeight = new ApiInoutData(); - pluginWeight = param; - pluginWeight.setIp(conf.getIp()); - pluginWeight.setPort(conf.getPort()); - pluginWeight.setProtocol(conf.getProtocol()); - return apiInoutManager.getApiService(param.getProtocol()).getPlateNum(pluginWeight); + param.setIp(conf.getIp()); + param.setPort(conf.getPort()); + param.setProtocol(conf.getProtocol()); + + return apiInoutManager.getApiService(param.getProtocol()).getPlateNum(param); } - return apiInoutManager.getApiService(param.getProtocol()).getPlateNum(param); } + + /** + * 鑾峰彇鏅烘収鍗$粨鏋� + * + * @param param + * @return + */ public ApiInoutData getIcCardNum(ApiInoutData param) { return apiInoutManager.getApiService(param.getProtocol()).getIcCardNum(param); } - /** - * 鑾峰彇绉伴噸鎻掍欢閰嶇疆淇℃伅 - * - * @param companyId - * @param deptId - * @param sort - * @param type - * @return - */ - public InoutConf getInoutConf(String companyId, String deptId, String sort, String type) { - - // 鑾峰彇鍑哄叆搴撻厤缃俊鎭� - List<InoutConf> listInoutConf = inoutCommonService.getCacheInoutConf(companyId, deptId); - - if (null == listInoutConf) return null; - - InoutConf result = null; - - for (InoutConf conf : listInoutConf) { - if (sort.equals(conf.getSort()) && type.equals(conf.getType())) { - result = conf; - break; - } - } - - if (null == result) return null; - - return result; - } - /** - * 鍒濆鍖栬溅鐗岃瘑鍒� + * 鍑哄叆搴撶櫥璁板垵濮嬪寲 * - * @param conf + * @param lpr 杞︾墝璇嗗埆閰嶇疆淇℃伅 */ - public void initLpr(InoutConf conf) { + @Async + public void initInoutRegister(InoutConf lpr) { - if (null == conf) return; + if (null == lpr) return; - ApiInoutData lprData = new ApiInoutData(conf); + ApiInoutData lprData = new ApiInoutData(lpr); - apiInoutManager.getApiService(conf.getProtocol()).initLpr(lprData); + apiInoutManager.getApiService(lpr.getProtocol()).initLpr(lprData); } @@ -157,34 +147,17 @@ public SnapImgDto snapImg(SnapImgDto param) { try { InoutConf conf; - - //鐧昏鏃跺�欐姄鎷� - if (InoutConstant.PROGRESS_REGISTER.equals(param.getProgress())) { - this.noticeGatewayAddWhitePlate(param); - } - - //鐐瑰嚮绉伴噸瀹屾垚 - if (InoutConstant.PROGRESS_WEIGHT_TAG.equals(param.getProgress()) - || InoutConstant.PROGRESS_WEIGHT_FULL.equals(param.getProgress()) || - InoutConstant.PROGRESS_WEIGHT_EMPTY.equals(param.getProgress())) { - - this.noticeGatewayWeightInfo(param); - } - SnapSer ser = snapSerService.getCacheByDeptId(param.getDeptId()); - if (StringUtils.isNotEmpty(param.getId1())) { conf = inoutCommonService.getCacheInoutConf(param.getCompanyId(), param.getDeptId(), param.getId1()); param.setFileName1(this.snapImgByConf(conf, param, ser)); - Thread.sleep(600); + Thread.sleep(500); } - if (StringUtils.isNotEmpty(param.getId2())) { conf = inoutCommonService.getCacheInoutConf(param.getCompanyId(), param.getDeptId(), param.getId2()); param.setFileName2(this.snapImgByConf(conf, param, ser)); - Thread.sleep(600); + Thread.sleep(500); } - if (StringUtils.isNotEmpty(param.getId3())) { conf = inoutCommonService.getCacheInoutConf(param.getCompanyId(), param.getDeptId(), param.getId3()); param.setFileName3(this.snapImgByConf(conf, param, ser)); @@ -221,7 +194,7 @@ apiData.setMsg("绉伴噸宸插畬鎴�"); // apiInoutManager.getApiService(apiData.getProtocol()).noticeWeightDone(apiData); - apiInoutManager.getApiService(apiData.getProtocol()).noticeRadio(apiData); + // apiInoutManager.getApiService(apiData.getProtocol()).noticeRadio(apiData); } /** @@ -426,17 +399,224 @@ return null; } + /** + * 鍑哄叆搴撶櫥璁板畬鎴愯Е鍙戜簨浠讹紝榛樿涓哄紓姝ュ鐞� + * + * @param data + */ + @Async + public void onInoutRegister(InoutData data) { + + //DO Nothing + } + /** - * 鏍规嵁鍑哄叆搴撲俊鎭紝鎺у埗鍑哄叆搴撴帶鍒跺櫒 + * 鍑哄叆搴撶О閲嶅畬鎴愶紝浜嬩欢 * * @param data * @param curProgress * @param nextProgress */ - public void controlWeight(InoutData data, String curProgress, String nextProgress) { + @Async + public void onInoutWeight(InoutData data, String curProgress, String nextProgress) { - //TODO + //1銆侀�氱煡绉伴噸鏄剧ず灞� + + //2銆佽闊抽�氱煡 + + //3銆佸紑闂告満 + + //4銆佸紑绾㈢豢鐏� } + + + /** + * 鍊间粨瀹屾垚锛屼簨浠� + * + * @param data + * @param curProgress + * @param nextProgress + */ + @Async + public void onInoutHandle(InoutData data, String curProgress, String nextProgress) { + + //DO Nothing + } + + + /** + * 鎵︽牱瀹屾垚锛屼簨浠� + * + * @param data + */ + @Async + public void onInSimple(InoutCheckData data) { + //DO Nothing + } + + /** + * 璐ㄦ瀹屾垚锛屼簨浠� + * + * @param data + * @param curProgress + * @param nextProgress + */ + @Async + public void onInCheck(InoutCheckData data, String curProgress, String nextProgress) { + //1銆佽川妫�澶у睆鏄剧ず + } + + /** + * 娴佺▼瀹屾垚锛屼簨浠� + * + * @param data + */ + @Async + public void onInoutComplete(InoutData data) { + //DO Nothing + } + + /** + * 鍒濆鍖栧ぇ灞� + * + * @param companyId 缁勭粐缂栫爜 + * @param deptId 鍒嗗簱缂栫爜 + * @param progress 娴佺▼鐜妭 + */ + @Async + public void initInoutScreen(String companyId, String deptId, String progress) { + if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN + .getCode())) { + WebSocketServer.contextOnLineMap.put(BizType.SCREEN.getCode(), + false); + } + if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT + .getCode())) { + WebSocketServer.contextOnLineMap.put( + BizType.SCREEN_INOUT.getCode(), false); + } + if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK + .getCode())) { + WebSocketServer.contextOnLineMap.put( + BizType.SCREEN_CHECK.getCode(), false); + } + + if (WebSocketServer.contextOnLineMap.get(BizType.SCREEN.getCode()) + || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT + .getCode()) + || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK + .getCode())) { + + + // 鎺ㄩ�佸埌澶у睆 + List<InoutData> curList = inoutService.getListInoutCache(deptId); + + List<InoutData> completeList = inoutService.getCompleteListInoutCache(deptId); + + notifyInoutScreen(companyId, deptId, curList, completeList); + } + } + + private void notifyInoutScreen(String companyId, String deptId, List<InoutData> curList, List<InoutData> completeList) { + InoutSumDto dto = new InoutSumDto(); + if (null != curList) { + for (InoutData data : curList) { + if (InoutConstant.TYPE_IN.equals(data.getType())) { + dto.setInSumNum(dto.getInSumNum() + 1); + } + if (InoutConstant.TYPE_OUT.equals(data.getType())) { + dto.setOutSumNum(dto.getOutSumNum() + 1); + } + dto.setCompanyId(companyId); + dto.setDeptId(deptId); + } + } + + if (null != completeList) { + for (InoutData data : completeList) { + if (InoutConstant.TYPE_IN.equals(data.getType())) { + dto.setInSumNum(dto.getInSumNum() + 1); + dto.setInComplateNum(dto.getInComplateNum() + 1); + } + if (InoutConstant.TYPE_OUT.equals(data.getType())) { + dto.setOutSumNum(dto.getOutSumNum() + 1); + dto.setOutComplateNum(dto.getOutComplateNum() + 1); + } + dto.setCompanyId(data.getCompanyId()); + dto.setDeptId(data.getDeptId()); + } + } + + // 璋冩暣灏佽 + if (dto.getInSumNum() > 0) { + dto.setPerInComplate(dto.getInComplateNum() / Double.valueOf(dto.getInSumNum())); + dto.setPerInComplate(NumberUtil.keepPrecision( + dto.getPerInComplate() * 100, 1)); + } + + if (dto.getOutSumNum() > 0) { + dto.setPerOutComplate(dto.getOutComplateNum() / Double.valueOf(dto.getOutSumNum())); + dto.setPerOutComplate(NumberUtil.keepPrecision( + dto.getPerOutComplate() * 100, 1)); + } + + if (null == dto.getCompanyId()) { + dto.setCompanyId(ContextUtil.getDefaultCompanyId()); + } + + // 鎺ㄩ�佺患鍚堢鐞嗗ぇ灞� + WebSocketPacket packet = new WebSocketPacket(); + packet.setBizId("IN_OUT_SUMMARY"); + packet.setCompanyId(dto.getCompanyId()); + packet.setDeptId(dto.getDeptId()); + packet.setBizType(BizType.SCREEN.getCode()); + packet.setData(dto); + WebSocketServer.sendByBizTag(packet); + + // 鎺ㄩ�佸嚭鍏ュ簱澶у睆 + dto.setCurList(curList); + dto.setComplateList(completeList); + packet.setBizType(BizType.SCREEN.getCode()); + packet.setBizTag(WebSocketPacket.BIZ_TAG_SCREEN_INOUT); + WebSocketServer.sendByBizTag(packet); + + // 鎺ㄩ�佸寲楠屽ぇ灞� + packet.setBizType(BizType.SCREEN.getCode()); + packet.setBizTag(WebSocketPacket.BIZ_TAG_SCREEN_CHECK); + WebSocketServer.sendByBizTag(packet); + } + + /** + * 鑾峰彇绉伴噸鎻掍欢閰嶇疆淇℃伅 + * + * @param companyId + * @param deptId + * @param sort + * @param type + * @return + */ + public InoutConf getInoutConf(String companyId, String deptId, String sort, String type) { + + // 鑾峰彇鍑哄叆搴撻厤缃俊鎭� + List<InoutConf> listInoutConf = inoutCommonService.getCacheInoutConf(companyId, deptId); + + if (null == listInoutConf) return null; + + InoutConf result = null; + + for (InoutConf conf : listInoutConf) { + if (sort.equals(conf.getSort()) && type.equals(conf.getType())) { + result = conf; + break; + } + } + + if (null == result) return null; + + return result; + } + + } 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 9373ae5..bed9209 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 @@ -3,7 +3,6 @@ import com.ld.igds.check.CheckStandardManager; import com.ld.igds.check.dto.CheckItemData; import com.ld.igds.check.dto.CheckUpdateResult; -import com.ld.igds.common.CoreCommonService; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.data.Page; import com.ld.igds.data.PageResponse; @@ -20,9 +19,7 @@ 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; @@ -30,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; - import java.util.Arrays; import java.util.Date; import java.util.List; @@ -49,13 +45,11 @@ @Resource private CoreFileService fileService; @Resource - private CoreCommonService commonService; - @Resource private InoutCommonService inoutCommonService; @Resource private CheckStandardManager checkStandardManager; @Resource - private InoutDeviceManager inoutDeviceManager; + private InoutEventControlManager inoutEventControl; /** * 鐩存帴浠庢暟鎹簱鏌ヨ锛屼笉鑰冭檻淇℃伅鐘舵�� @@ -296,46 +290,6 @@ return data; } - public PageResponse<InoutData> submitComplete(InoutData data) - throws Exception { - - if (StringUtils.isEmpty(data.getId()) - || StringUtils.isEmpty(data.getType()) - || StringUtils.isEmpty(data.getProgress())) { - - return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), - "娌℃湁鑾峰彇鍒拌溅杈嗕俊鎭��", data); - } - - data.setUpdateTime(new Date()); - if (null == data.getCompleteTime()) { - data.setCompleteTime(DateUtil.getNewByMinute(new Date(), 2)); - } - if (null == data.getCompleteUser()) { - data.setCompleteUser(ContextUtil.getLoginUserCName()); - } - - // 璁剧疆娴佺▼鑺傜偣鐩存帴瀹屾垚 - InoutParam param = new InoutParam(); - param.setCompanyId(data.getCompanyId()); - param.setId(data.getId()); - param.setType(data.getType()); - param.setDeptId(data.getDeptId()); - param.setIntelCard(data.getIntelCard()); - param.setUserId(data.getCompleteUser()); - param.setDepotId(data.getDepotId()); - param.setCompleteTime(new Date()); - param.setProgress(InoutConstant.PROGRESS_RECORD); - - String msg = inoutService.toComplete(param); - - if (null != msg) { - return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg); - } - - return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), null, data); - } - /** * 鍗″洖鏀堕�昏緫澶勭悊 * @@ -374,6 +328,51 @@ return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data); + } + + + public PageResponse<InoutData> submitComplete(InoutData data) + throws Exception { + + if (StringUtils.isEmpty(data.getId()) + || StringUtils.isEmpty(data.getType()) + || StringUtils.isEmpty(data.getProgress())) { + + return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), + "娌℃湁鑾峰彇鍒拌溅杈嗕俊鎭��", data); + } + + data.setUpdateTime(new Date()); + if (null == data.getCompleteTime()) { + data.setCompleteTime(DateUtil.getNewByMinute(new Date(), 2)); + } + if (null == data.getCompleteUser()) { + data.setCompleteUser(ContextUtil.getLoginUserCName()); + } + + // 璁剧疆娴佺▼鑺傜偣鐩存帴瀹屾垚 + InoutParam param = new InoutParam(); + param.setCompanyId(data.getCompanyId()); + param.setId(data.getId()); + param.setType(data.getType()); + param.setDeptId(data.getDeptId()); + param.setIntelCard(data.getIntelCard()); + param.setUserId(data.getCompleteUser()); + param.setDepotId(data.getDepotId()); + param.setCompleteTime(new Date()); + param.setProgress(InoutConstant.PROGRESS_RECORD); + + String msg = inoutService.toComplete(param); + + if (null != msg) { + return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg); + } + + + // 娴佺▼瀹屾垚鏀朵簨浠� + inoutEventControl.onInoutComplete(data); + + return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), null, data); } /** @@ -556,8 +555,13 @@ return msg; } - public void initLpr(InoutConf conf) { - inoutDeviceManager.initLpr(conf); + /** + * 鍑哄叆搴撶櫥璁板垵濮嬪寲 + * + * @param conf 杞︾墝璇嗗埆閰嶇疆淇℃伅 + */ + public void initInoutRegister(InoutConf conf) { + inoutEventControl.initInoutRegister(conf); } /** @@ -567,8 +571,7 @@ * @return * @throws Exception */ - public PageResponse<InoutData> submitRegisterInout(InoutData data) - throws Exception { + public PageResponse<InoutData> submitRegisterInout(InoutData data) throws Exception { // 棣栧厛鍒ゆ柇娴佺▼涓槸鍚︽湁宸茬粡瀛樺湪鐨勮溅杈嗕俊鎭湭鎵ц瀹屾垚锛岀洿鎺ヤ粠鏁版嵁搴撲腑鏌ヨ InoutParam param = new InoutParam(); @@ -602,20 +605,20 @@ String msg = inoutService.insertData(data); if (null != msg) { - return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, - data); + return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); } // 鎵ц闄勪欢淇℃伅 - fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), - data.getId(), curProgress); + fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); + + //鐧昏瀹屾垚浜嬩欢 + inoutEventControl.onInoutRegister(data); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data); } - public PageResponse<InoutData> submitWeightIn(InoutData data) - throws Exception { + public PageResponse<InoutData> submitWeightIn(InoutData data) throws Exception { // 鑾峰彇绯荤粺鍙傛暟閰嶇疆 InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf( data.getCompanyId(), data.getDeptId()); @@ -642,14 +645,12 @@ } // 鎵ц闄勪欢淇℃伅 - fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), - data.getId(), curProgress); + fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); - // 绉伴噸瀹屾垚锛岃皟鐢ㄥ嚭鍏ュ簱鎺у埗閫昏緫澶勭悊 - inoutDeviceManager.controlWeight(data, curProgress, nextProgress); + // 绉伴噸瀹屾垚浜嬩欢 + inoutEventControl.onInoutWeight(data, curProgress, nextProgress); - return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", - data); + return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data); } public PageResponse<InoutData> submitWeightOut(InoutData data) @@ -680,11 +681,11 @@ fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); - // 绉伴噸鍚庢牴鎹綋鍓嶆祦绋嬬姸鎬佸拰涓嬩竴涓姸鎬侊紝閫氱煡绉伴噸鎺у埗鍣� - inoutDeviceManager.controlWeight(data, curProgress, nextProgress); - return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", - data); + // 绉伴噸瀹屾垚浜嬩欢 + inoutEventControl.onInoutWeight(data, curProgress, nextProgress); + + return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data); } public PageResponse<InoutData> submitHandle(InoutData data) @@ -715,6 +716,9 @@ // 鎵ц闄勪欢淇℃伅 fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); + + // 鍊间粨瀹屾垚瑙﹀彂浜嬩欢 + inoutEventControl.onInoutHandle(data, curProgress, nextProgress); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data); } @@ -784,6 +788,9 @@ if (null != msg) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg); } + + // 鎵︽牱瀹屾垚瑙﹀彂浜嬩欢 + inoutEventControl.onInSimple(data); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛"); } @@ -867,6 +874,10 @@ return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg); } + + // 璐ㄦ瀹屾垚瑙﹀彂浜嬩欢 + inoutEventControl.onInCheck(data,curProgress,nextProgress); + return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛"); } @@ -908,7 +919,7 @@ try { List<CheckItemData> result = checkStandardManager.listCheckItem( - param.getCompanyId(),param.getCheckId(), + param.getCompanyId(), param.getCheckId(), param.getFoodVariety()); return new PageResponse<>(RespCodeEnum.CODE_0000, result); diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java b/igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java index 23e0fca..3d907db 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/service/InoutService.java @@ -132,16 +132,6 @@ */ InoutData getFromInoutCache(InoutParam param); - - /** - * 鎺ㄩ�佸ぇ灞� - * - * @param companyId - * @param deptId - * @param progress 鍙互涓虹┖ - */ - void notifyToScreen(String companyId, String deptId, String progress); - /** * 蹇�熷畬鎴愭祦绋嬩腑鐨勮鍗� * @@ -149,7 +139,6 @@ * @return */ String quickComplete(InoutData data) throws Exception; - /** * 缂撳瓨涓幏鍙栧畬鎴愮殑娴佹按 @@ -189,13 +178,6 @@ * @param param */ void delInoutDataByLossOver(InoutParam param); - - /** - * 灏嗗寲楠岀粨鏋滃瓨鍏ョ紦瀛樹腑 - * - * @param data - */ - void setCheckCache(InoutData data); /** * 鑾峰彇鍑哄叆搴撴祦姘碔D搴忓彿 diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java index e56e76a..0b5efca 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java @@ -1,8 +1,6 @@ package com.ld.igds.inout.service.impl; import com.bstek.dorado.data.entity.EntityUtils; -import com.ld.igds.common.CoreCommonService; -import com.ld.igds.constant.BizType; import com.ld.igds.constant.Constant; import com.ld.igds.constant.RedisConst; import com.ld.igds.data.CommonData; @@ -19,7 +17,6 @@ import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; import com.ld.igds.util.RedisUtil; -import com.ld.igds.websocket.WebSocketServer; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; @@ -28,9 +25,6 @@ import javax.annotation.Resource; import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.FutureTask; @Slf4j @Component @@ -42,8 +36,6 @@ private InoutCheckMapper inoutCheckMapper; @Resource private RedisUtil redisUtil; - @Resource - private CoreCommonService commonService; @Override public InoutData inoutProgressQuery(InoutParam param) throws Exception { @@ -156,7 +148,7 @@ if (EntityUtils.isEntity(data)) { newData = new InoutData(); BeanUtils.copyProperties(data, newData, new String[]{"checkItems", "files"}); - }else{ + } else { newData = data; } @@ -516,16 +508,6 @@ inoutMapper.deleteData(param); } - @Override - public void setCheckCache(InoutData data) { - - String cacheKey = RedisConst.buildKey(data.getCompanyId(), data.getCheckId()); - - //鍖栭獙缁撴灉瀛樺叆缂撳瓨3澶� - redisUtil.set(cacheKey, data.getCheckItems(), 60 * 60 * 24 * 3); - } - - /** * 鍑哄叆搴撴祦绋婭D鍒涘缓 202001030001 202001030001 * @@ -626,53 +608,6 @@ String key = this.buildInoutKey(deptId, InoutConstant.KEY_INOUT_COMPLETE_LIST, data.getType(), data.getId()); //璁剧疆缂撳瓨鍒扮浜屽ぉ鍑屾櫒(璁$畻褰撳墠鏃堕棿鍒扮浜屽ぉ鍑屾櫒鐨勬椂闂村樊绉掓暟) redisUtil.set(key, data, DateUtil.getNowToNextDaySeconds()); - } - - /** - * 鎺ㄩ�佸埌澶у睆锛屽垽鏂彧鏈夊綋澶у睆鍦ㄧ嚎鏃跺�欐墠澶勭悊褰撳墠閫昏緫锛岄伩鍏嶉〉闈㈠崱椤匡紝璋冪敤瀛愪换鍔″畬鎴愭帹閫� - * - * @param companyId 缁勭粐缂栧彿 - * @param deptId 鍒嗗簱缂栧彿 - * @param progress 娴佽浆鑺傜偣 - */ - public void notifyToScreen(String companyId, String deptId, String progress) { - - // 鎺ㄩ�佸埌澶у睆 - List<InoutData> curList = this.getListInoutCache(deptId); - - List<InoutData> completeList = this.getCompleteListInoutCache(deptId); - - - if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN - .getCode())) { - WebSocketServer.contextOnLineMap.put(BizType.SCREEN.getCode(), - false); - } - if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT - .getCode())) { - WebSocketServer.contextOnLineMap.put( - BizType.SCREEN_INOUT.getCode(), false); - } - if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK - .getCode())) { - WebSocketServer.contextOnLineMap.put( - BizType.SCREEN_CHECK.getCode(), false); - } - - if (WebSocketServer.contextOnLineMap.get(BizType.SCREEN.getCode()) - || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT - .getCode()) - || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK - .getCode())) { - - - // 鍒涘缓涓�涓瓙浠诲姟杩涜鎺ㄩ�佷俊鎭� - FutureTask<String> futureTask = new FutureTask<>(new NotifyScreenTask(curList, completeList, deptId)); - - ExecutorService executorService = Executors.newCachedThreadPool(); - executorService.submit(futureTask); - executorService.shutdown(); - } } /** diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/NotifyScreenTask.java b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/NotifyScreenTask.java deleted file mode 100644 index 43d25c3..0000000 --- a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/NotifyScreenTask.java +++ /dev/null @@ -1,140 +0,0 @@ -package com.ld.igds.inout.service.impl; - -import java.util.List; -import java.util.concurrent.Callable; -import com.ld.igds.constant.BizType; -import com.ld.igds.inout.InoutConstant; -import com.ld.igds.inout.dto.InoutData; -import com.ld.igds.inout.dto.InoutSumDto; -import com.ld.igds.util.ContextUtil; -import com.ld.igds.util.NumberUtil; -import com.ld.igds.websocket.WebSocketPacket; -import com.ld.igds.websocket.WebSocketServer; - -/** - * 鍒涘缓瀛愪换鍔★紝褰撳墠浠诲姟鐢ㄤ簬閫氱煡澶у睆 - * - * @author: andy.jia - * @description: - * @version: - * @data:2020骞�6鏈�22鏃� - * - */ -public class NotifyScreenTask implements Callable<String> { - - private List<InoutData> curList; - private List<InoutData> completeList; - - private String deptId; - - public List<InoutData> getCurList() { - return curList; - } - - public void setCurList(List<InoutData> curList) { - this.curList = curList; - } - - public List<InoutData> getCompleteList() { - return completeList; - } - - public void setCompleteList(List<InoutData> completeList) { - this.completeList = completeList; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptId() { - return deptId; - } - - public NotifyScreenTask() { - super(); - } - - - public NotifyScreenTask(List<InoutData> curList, - List<InoutData> completeList,String deptId) { - super(); - this.curList = curList; - this.completeList = completeList; - this.deptId = deptId; - } - - // IN_OUT_SUMMARY - @Override - public String call() throws Exception { - - InoutSumDto dto = new InoutSumDto(); - if (null != curList) { - for (InoutData data : curList) { - if (InoutConstant.TYPE_IN.equals(data.getType())) { - dto.setInSumNum(dto.getInSumNum() + 1); - } - if (InoutConstant.TYPE_OUT.equals(data.getType())) { - dto.setOutSumNum(dto.getOutSumNum() + 1); - } - dto.setCompanyId(data.getCompanyId()); - dto.setDeptId(data.getDeptId()); - } - } - - if (null != completeList) { - for (InoutData data : completeList) { - if (InoutConstant.TYPE_IN.equals(data.getType())) { - dto.setInSumNum(dto.getInSumNum() + 1); - dto.setInComplateNum(dto.getInComplateNum() + 1); - } - if (InoutConstant.TYPE_OUT.equals(data.getType())) { - dto.setOutSumNum(dto.getOutSumNum() + 1); - dto.setOutComplateNum(dto.getOutComplateNum() + 1); - } - dto.setCompanyId(data.getCompanyId()); - dto.setDeptId(data.getDeptId()); - } - } - - // 璋冩暣灏佽 - if (dto.getInSumNum() > 0) { - dto.setPerInComplate(dto.getInComplateNum() / Double.valueOf(dto.getInSumNum())); - dto.setPerInComplate(NumberUtil.keepPrecision( - dto.getPerInComplate() * 100, 1)); - } - - if (dto.getOutSumNum() > 0) { - dto.setPerOutComplate(dto.getOutComplateNum() / Double.valueOf(dto.getOutSumNum())); - dto.setPerOutComplate(NumberUtil.keepPrecision( - dto.getPerOutComplate() * 100, 1)); - } - - if (null == dto.getCompanyId()) { - dto.setCompanyId(ContextUtil.getDefaultCompanyId()); - } - - // 鎺ㄩ�佺患鍚堢鐞嗗ぇ灞� - WebSocketPacket packet = new WebSocketPacket(); - packet.setBizId("IN_OUT_SUMMARY"); - packet.setCompanyId(dto.getCompanyId()); - packet.setDeptId(dto.getDeptId()); - packet.setBizType(BizType.SCREEN.getCode()); - packet.setData(dto); - WebSocketServer.sendByBizTag(packet); - - // 鎺ㄩ�佸嚭鍏ュ簱澶у睆 - dto.setCurList(curList); - dto.setComplateList(completeList); - packet.setBizType(BizType.SCREEN.getCode()); - packet.setBizTag(WebSocketPacket.BIZ_TAG_SCREEN_INOUT); - WebSocketServer.sendByBizTag(packet); - - // 鎺ㄩ�佸寲楠屽ぇ灞� - packet.setBizType(BizType.SCREEN.getCode()); - packet.setBizTag(WebSocketPacket.BIZ_TAG_SCREEN_CHECK); - WebSocketServer.sendByBizTag(packet); - - return "鍑哄叆搴撳ぇ灞忔暟鎹帹閫佸畬鎴愶紒锛�"; - } -} diff --git a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/RemoteGrainV1ServiceImpl.java b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/RemoteGrainV1ServiceImpl.java index fd347b0..16be4b2 100644 --- a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/RemoteGrainV1ServiceImpl.java +++ b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/grainv1/RemoteGrainV1ServiceImpl.java @@ -26,8 +26,6 @@ public static final String BEAN_ID = "bhznGrain.remoteGrainService"; @Autowired - private CoreSerService coreSerService; - @Autowired private BhznGrainV1ServerEngine bhznGrainServerEngine; @Override diff --git a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BhznInoutService.java b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BhznInoutService.java new file mode 100644 index 0000000..2ce862e --- /dev/null +++ b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BhznInoutService.java @@ -0,0 +1,63 @@ +package com.ld.igds.protocol.bhzn.inout; + +import com.ld.igds.inout.ApiInoutService; +import com.ld.igds.inout.dto.ApiInoutData; +import com.ld.igds.inout.dto.InoutData; +import com.ld.igds.io.constant.ProtocolEnum; +import org.springframework.stereotype.Component; + +/** + * @Desc: 閭︽捣鏅鸿兘鍑哄叆搴撴帶鍒舵帴鍙e疄鐜� + * @author: andy.jia + * @update-time: 2023/7/4 15:48 + */ +@Component +public class BhznInoutService implements ApiInoutService { + + @Override + public String getProtocol() { + return ProtocolEnum.TCP_BHZH_INOTU_V1.getCode(); + } + + @Override + public ApiInoutData getIcCardNum(ApiInoutData param) { + param.setErrorMsg("褰撳墠鍗忚涓嶆敮鎸�"); + return param; + } + + @Override + public ApiInoutData getPlateNum(ApiInoutData param) { + param.setErrorMsg("褰撳墠鍗忚涓嶆敮鎸�"); + return param; + } + + @Override + public String initLpr(ApiInoutData param) { + return "褰撳墠鍗忚涓嶆敮鎸�"; + } + + @Override + public String gateControl(ApiInoutData param) { + + //TODO + return null; + } + + @Override + public String lightControl(ApiInoutData param) { + //TODO + return null; + } + + @Override + public String noticeRadio(ApiInoutData param, InoutData data) { + //TODO + return null; + } + + @Override + public String noticeLed(ApiInoutData param, InoutData data) { + //TODO + return null; + } +} diff --git a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/package-info.java b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/package-info.java new file mode 100644 index 0000000..8da5b94 --- /dev/null +++ b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/package-info.java @@ -0,0 +1,6 @@ +/** + * 鍑哄叆搴撶浉鍏冲鎺� + */ +package com.ld.igds.protocol.bhzn.inout; + + diff --git a/igds-web/src/main/java/com/ld/igds/IgdsApplication.java b/igds-web/src/main/java/com/ld/igds/IgdsApplication.java index b6af387..8c17aaa 100644 --- a/igds-web/src/main/java/com/ld/igds/IgdsApplication.java +++ b/igds-web/src/main/java/com/ld/igds/IgdsApplication.java @@ -10,6 +10,7 @@ import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; +import org.springframework.scheduling.annotation.EnableAsync; import java.util.LinkedHashSet; import java.util.Set; @@ -19,6 +20,7 @@ * * @author Andy */ +@EnableAsync @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) @ComponentScan(basePackages = {"com.ld.license","com.ld.onvif"}) public class IgdsApplication { diff --git a/igds-web/src/main/resources/static/admin/inout/inout-print.js b/igds-web/src/main/resources/static/admin/inout/inout-print.js index 1b2db0f..08073d9 100644 --- a/igds-web/src/main/resources/static/admin/inout/inout-print.js +++ b/igds-web/src/main/resources/static/admin/inout/inout-print.js @@ -16,12 +16,10 @@ LODOP.PRINT_INIT("杩囩鍗�"); //LODOP.SET_PRINT_PAGESIZE(1, 0, '90mm', "A4"); LODOP.SET_PRINT_PAGESIZE(1, '210mm', '140mm', "A4"); - //LODOP.SET_PRINT_PAGESIZE(3, 2100, '45', "A4"); LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr); //鎵撳嵃澶氫唤 // LODOP.SET_PRINT_COPIES(3); LODOP.PREVIEW(); - //LODOP.PRINT_DESIGN(); } }; @@ -30,12 +28,16 @@ var vcode = data.id; var checkId = data.checkId; var LODOP = getLodop(); - LODOP.PRINT_INIT("娴嬭瘯"); - LODOP.SET_PRINT_PAGESIZE(1,'70mm','50mm' ,''); - LODOP.ADD_PRINT_BARCODE(20,20,'67mm',80,"128A",checkId); - LODOP.SET_PRINT_STYLEA(0,"FontSize",18); - LODOP.SET_PRINTER_INDEX("鏉$爜鎵撳嵃鏈�");//鎸囧畾鏌愯櫄鎷熸墦鍗版満 + LODOP.PRINT_INIT(""); + LODOP.SET_PRINT_PAGESIZE(1,'80mm','60mm' ,''); + + LODOP.ADD_PRINT_BARCODE(30,30,'70mm',80,"128A",checkId); + //LODOP.SET_PRINT_STYLEA(0,"ShowBarText",0); + LODOP.SET_PRINT_STYLEA(0,"FontSize",18); + + + LODOP.SET_PRINTER_INDEX("鏉$爜鎵撳嵃鏈�");//鎸囧畾鎵撳嵃鏈� LODOP.PREVIEW(); }; diff --git a/igds-web/src/main/resources/static/admin/inout/out-weight.js b/igds-web/src/main/resources/static/admin/inout/out-weight.js index ec1c9be..33fc9cc 100644 --- a/igds-web/src/main/resources/static/admin/inout/out-weight.js +++ b/igds-web/src/main/resources/static/admin/inout/out-weight.js @@ -618,21 +618,21 @@ if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { curWeight = recordData.emptyWeight; } - var param = { - sort: $("#scaleName").val(), - weight: curWeight, - inoutProgress: recordData.progress, - deptId: recordData.deptId, - companyId: recordData.companyId, - plateNum:recordData.plateNum - }; - $.ajax({ - type: "POST", - url: "../../inout/api/notice-weight-done", - dataType: "json", - contentType: "application/json;charset=UTF-8", - data: JSON.stringify(param) - }); + // var param = { + // sort: $("#scaleName").val(), + // weight: curWeight, + // inoutProgress: recordData.progress, + // deptId: recordData.deptId, + // companyId: recordData.companyId, + // plateNum:recordData.plateNum + // }; + // $.ajax({ + // type: "POST", + // url: "../../inout/api/notice-weight-done", + // dataType: "json", + // contentType: "application/json;charset=UTF-8", + // data: JSON.stringify(param) + // }); } -- Gitblit v1.9.3