From ebc594f48f4010fa8b61cd3c871a17f3149607ec Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期二, 22 十二月 2020 16:28:22 +0800 Subject: [PATCH] 添加危化品编码接口 --- src/main/java/com/nanometer/smartlab/api/ApiAction.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 113 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java index 3221c0c..6d25ef8 100644 --- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java +++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java @@ -78,6 +78,8 @@ private SysLaboratoryContainerDao sysLaboratoryContainerDao; @Resource private SysWarehouseContainerDao sysWarehouseContainerDao; + @Resource + private DangerousEncodeService dangerousEncodeService; @Value("${institute.url}") String instituteUrl; @@ -1073,4 +1075,115 @@ logger.info("getUserInfo end..."); return ResponseModel.getOkInstence(datalist); } + + + //危化品编码接口 + @ResponseBody + @RequestMapping(value = "/dangerousEncodeInfo") + public Object getDangerousEncodeInfo(@RequestParam String reagentName, @RequestParam String cas) { + List<DangerousEncodeVo> datalist = new ArrayList<>(); + if (StringUtils.isNotBlank(reagentName) || StringUtils.isNotBlank(cas)){ + datalist = dangerousEncodeService.selectByReagentName(reagentName,cas); + for (DangerousEncodeVo dangerousEncodeVo : datalist){ + if (StringUtils.isNotBlank(dangerousEncodeVo.getContainerNumber())){ + if (dangerousEncodeVo.getContainerNumber().startsWith("0")){ + dangerousEncodeVo.setContainerName("普通型"); + }else if (dangerousEncodeVo.getContainerNumber().startsWith("1")){ + dangerousEncodeVo.setContainerName("阻燃型"); + }else if (dangerousEncodeVo.getContainerNumber().startsWith("2")){ + dangerousEncodeVo.setContainerName("抗腐蚀型"); + }else if (dangerousEncodeVo.getContainerNumber().startsWith("3")){ + dangerousEncodeVo.setContainerName("防爆型"); + }else if (dangerousEncodeVo.getContainerNumber().startsWith("4")){ + dangerousEncodeVo.setContainerName("有毒称重型"); + } + } + } + }else { + return ResponseModel.getParamInstence("reagentName,cas"); + } + + return ResponseModel.getOkInstence(datalist); + } + + //生成24位危化品编码 + @ResponseBody + @RequestMapping(value = "/generatorCode") + public Object generatorCode(@RequestParam String reagentName,@RequestParam String containerName, + @RequestParam String factory, @RequestParam String specs,@RequestParam String pack) { + String code = ""; + int count = 0; + DangerousEncode dangerousEncode = new DangerousEncode(); + if (StringUtils.isNotBlank(reagentName)){ + dangerousEncode = dangerousEncodeService.selectByName(reagentName); + if (null != dangerousEncode){ + code = dangerousEncode.getCode(); + count = dangerousEncode.getCount(); + }else { + return ResponseModel.getErrInstance("无法找到该试剂"); + } + }else { + return ResponseModel.getParamInstence("reagentName"); + } + + StringBuffer buffer = new StringBuffer(code); + + if (StringUtils.isNotBlank(containerName)){ + if (containerName.equals("普通型")){ + buffer.replace(0, 1, "0"); + }else if (containerName.equals("阻燃型")){ + buffer.replace(0, 1, "1"); + }else if (containerName.equals("抗腐蚀型")){ + buffer.replace(0, 1, "2"); + }else if (containerName.equals("防爆型")){ + buffer.replace(0, 1, "3"); + }else if (containerName.equals("有毒称重型")){ + buffer.replace(0, 1, "4"); + } + }else { + return ResponseModel.getParamInstence("containerName"); + } + + String regex="^[A-F0-9]+$"; + + if (StringUtils.isNotBlank(factory) && factory.matches(regex)){ + buffer.replace(2, 3, factory); + }else { + return ResponseModel.getParamInstence("factory"); + } + + if (StringUtils.isNotBlank(specs) && specs.matches(regex)){ + buffer.replace(3, 4, specs); + }else { + return ResponseModel.getParamInstence("specs"); + } + + if (StringUtils.isNotBlank(pack) && pack.matches(regex)){ + buffer.replace(18, 19, pack); + }else { + return ResponseModel.getParamInstence("pack"); + } + + String countHex = Integer.toHexString(count).toUpperCase(); + if (countHex.length() == 1){ + buffer.replace(23, 24, countHex); + }else if (countHex.length() == 2){ + buffer.replace(22, 24, countHex); + }else if (countHex.length() == 3){ + buffer.replace(21, 24, countHex); + }else if (countHex.length() == 4){ + buffer.replace(20, 24, countHex); + }else if (countHex.length() == 5){ + buffer.replace(19, 24, countHex); + } + code = buffer.toString(); + + dangerousEncode.setCount(dangerousEncode.getCount()+1); + dangerousEncodeService.updateOne(dangerousEncode); + + return ResponseModel.getOkInstence(code); + } + + + } -- Gitblit v1.9.2