| | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @param param |
| | | * @return |
| | | */ |
| | | // public String noticeWeightDone(ApiInoutData param) { |
| | | // //获取称重主控器配置 |
| | | // InoutConf conf = getWeightGateway(param.getCompanyId(), param.getDeptId(), param.getSort()); |
| | | // |
| | | // if (null == conf) { |
| | | // return "称重主控未配置,支持失败"; |
| | | // } |
| | | // |
| | | // ApiInoutData apiData = new ApiInoutData(conf); |
| | | // apiData.setPlateNum(param.getPlateNum()); |
| | | // apiData.setTime(new Date()); |
| | | // |
| | | // ApiInoutService inoutApiService = apiInoutManager.getApiService(conf.getProtocol()); |
| | | // |
| | | // // return inoutApiService.noticeWeightDone(apiData); TODO |
| | | // return null; |
| | | // } |
| | | |
| | | |
| | | /** |
| | | * 出入库抓拍 |
| | |
| | | req.setFilePath(filePath); |
| | | |
| | | //调整附件名称,避免出现中文 |
| | | String fileName = ContextUtil.getTimeId(100) + "_" + conf.getInoutProgress() + ".jpg"; |
| | | String fileName = ContextUtil.getTimeId(100) + "_" + param.getProgress() + ".jpg"; |
| | | req.setFileName(fileName); |
| | | |
| | | //执行抓拍 |
| | |
| | | return inoutCommonService.getCacheInoutConf(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), id); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Desc: 获取称重网关设备 |
| | | * @author: Andy |
| | | * @update-time: 2022/11/26 |
| | | */ |
| | | public List<InoutConf> getWeightGateway(String companyId, String deptId) { |
| | | List<InoutConf> list = inoutCommonService.getCacheInoutConf(companyId, deptId); |
| | | if (null == list || list.isEmpty()) return null; |
| | | |
| | | List<InoutConf> result = new ArrayList<>(); |
| | | |
| | | for (InoutConf conf : list) { |
| | | if (InoutConstant.CONF_TYPE_70.equals(conf.getType())) { |
| | | result.add(conf); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * @Desc: 获取称重网关设备 |
| | | * @author: Andy |
| | |
| | | public void onReceivePlateNum(ApiInoutData data) { |
| | | |
| | | InoutConf conf = this.getInoutConfBySn(data.getCompanyId(), data.getDeptId(), data.getSn()); |
| | | |
| | | if (null == conf) return; |
| | | |
| | | if (null == conf) { |
| | | log.error("没有获取到出入库配置CONF:"+data.toString()); |
| | | return; |
| | | } |
| | | log.info(conf.toString()); |
| | | if (0 == conf.getInOrder()) return; |
| | | |
| | | data = new ApiInoutData(conf); |
| | | |
| | | ApiInoutService inoutApiService = apiInoutManager.getApiService(conf.getProtocol()); |
| | | |
| | | log.info(data.toString()); |
| | | ApiInoutService inoutApiService = null; |
| | | InoutConf gateconf = null; |
| | | //获取车牌信息,开闸机 |
| | | if (InoutApiConstant.DEVICE_CODE_1002 == data.getDeviceCode()) { |
| | | gateconf = this.getWeightGateway(data.getCompanyId(), data.getDeptId(), null); |
| | | if (null == gateconf) { |
| | | log.info("----------没有获取到称重控制器--------------"); |
| | | } |
| | | data = new ApiInoutData(gateconf); |
| | | //开入口处道闸 |
| | | inoutApiService = apiInoutManager.getApiService(gateconf.getProtocol()); |
| | | data.setDeviceCode(InoutApiConstant.DEVICE_CODE_2002); |
| | | data.setActionCode(InoutApiConstant.ACTION_CODE_1); |
| | | |
| | | inoutApiService.gateControl(data); |
| | | } |
| | | |
| | | |
| | | if (InoutApiConstant.DEVICE_CODE_1003 == data.getDeviceCode()) { |
| | | gateconf = this.getWeightGateway(data.getCompanyId(), data.getDeptId(), null); |
| | | if (null == gateconf) { |
| | | log.info("----------没有获取到称重控制器--------------"); |
| | | } |
| | | //开入口处道闸 |
| | | data = new ApiInoutData(gateconf); |
| | | inoutApiService = apiInoutManager.getApiService(gateconf.getProtocol()); |
| | | data.setDeviceCode(InoutApiConstant.DEVICE_CODE_2003); |
| | | data.setActionCode(InoutApiConstant.ACTION_CODE_1); |
| | | |
| | | inoutApiService.gateControl(data); |
| | | } |
| | | |
| | |
| | | ApiInoutData apiInoutData; |
| | | ApiInoutService inoutApiService; |
| | | for (InoutConf conf : listInoutConf) { |
| | | if (InoutConstant.CONF_TYPE_10.equals(conf.getType()) && sort.equals(conf.getSort())) { |
| | | if (InoutConstant.PROGRESS_WEIGHT_TAG.equals(conf.getInoutProgress())&&InoutConstant.CONF_TYPE_10.equals(conf.getType()) && sort.equals(conf.getSort())) { |
| | | apiInoutData = new ApiInoutData(conf); |
| | | inoutApiService = apiInoutManager.getApiService(conf.getProtocol()); |
| | | inoutApiService.initLpr(apiInoutData); |
| | |
| | | if (InoutConstant.TYPE_IN.equals(data.getType())) { |
| | | //结算重量大于0表示二次称重 |
| | | if (data.getNetWeight() > 0) { |
| | | apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_1002); |
| | | apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_2002); |
| | | } else { |
| | | apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_1003); |
| | | apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_2003); |
| | | } |
| | | apiData.setActionCode(InoutApiConstant.ACTION_CODE_1); |
| | | |
| | |
| | | } else { |
| | | //结算重量大于0表示二次称重 |
| | | if (data.getNetWeight() > 0) { |
| | | apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_1003); |
| | | apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_2002); |
| | | } else { |
| | | apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_1002); |
| | | apiData.setDeviceCode(InoutApiConstant.DEVICE_CODE_2003); |
| | | } |
| | | apiData.setActionCode(InoutApiConstant.ACTION_CODE_1); |
| | | inoutApiService.gateControl(apiData); |