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); } 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; //å¨ä½ç¼ç ï¼è®¾å¤ç¼å· 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", "馿µ·æºè½æ 线主æºçV1"), TCP_BHZH_GRAIN_V2("TCP_BHZH_GRAIN_V2", "馿µ·æºè½æçº¿çV2"), 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; 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; } 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(), "æåï¼"); } /** 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); } 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); } /** 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) { igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
ÎļþÃû´Ó igds-inout/src/main/java/com/ld/igds/inout/manager/InoutDeviceManager.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: åºå ¥åºè¿ç¨ä¸ï¼é对æµç¨ç¸å ³ç设å¤è卿§å¶å æ¬ï¼å°ç£ ãæ¦æ ·æºã读å¡å¨ã鏿ºãLED对æ¥ç * <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; } } 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); 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); /** * è·ååºå ¥åºæµæ°´IDåºå· 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); } /** * åºå ¥åºæµç¨IDå建 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(); } } /** igds-inout/src/main/java/com/ld/igds/inout/service/impl/NotifyScreenTask.java
ÎļþÒÑɾ³ý 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 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: 馿µ·æºè½åºå ¥åºæ§å¶æ¥å£å®ç° * @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; } } 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; 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 { 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(); }; 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) // }); }