From 626028e5865122c43d97156d2cb221b751e5f18d Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期三, 06 一月 2021 13:39:49 +0800 Subject: [PATCH] add --- src/main/java/com/nanometer/smartlab/api/ApiAction.java | 189 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 181 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java index 2af3581..9fa2562 100644 --- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java +++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java @@ -7,11 +7,16 @@ import com.google.common.collect.Maps; import com.nanometer.smartlab.controller.BaseController; import com.nanometer.smartlab.controller.MenuController; +import com.nanometer.smartlab.dao.OpeReagentStatusDao; import com.nanometer.smartlab.dao.SysLaboratoryContainerDao; import com.nanometer.smartlab.dao.SysWarehouseContainerDao; import com.nanometer.smartlab.entity.*; -import com.nanometer.smartlab.entity.SysWarning; +import com.nanometer.smartlab.entity.dto.HazardousWasteUser; +import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto; +import com.nanometer.smartlab.entity.dto.ReagentReceivingDto; +import com.nanometer.smartlab.entity.dto.SysWarehouseDto; import com.nanometer.smartlab.entity.enumtype.ApiStatus; +import com.nanometer.smartlab.entity.enumtype.ArrivalStatus; import com.nanometer.smartlab.entity.enumtype.ReplaceDictType; import com.nanometer.smartlab.entity.enumtype.SeeFlag; import com.nanometer.smartlab.exception.ApiException; @@ -19,10 +24,7 @@ import com.nanometer.smartlab.exception.ExceptionEnumCode; import com.nanometer.smartlab.model.ResponseModel; import com.nanometer.smartlab.service.*; -import com.nanometer.smartlab.util.Constants; -import com.nanometer.smartlab.util.FacesUtils; -import com.nanometer.smartlab.util.IDUtils; -import com.nanometer.smartlab.util.MessageUtil; +import com.nanometer.smartlab.util.*; import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; @@ -66,6 +68,8 @@ private BaseMetaService baseMetaService; @Resource private InterfaceService interfaceService; + @Resource + private SysWarehouseService sysWarehouseService; @Resource private SysWarningService sysWarningService; @@ -333,6 +337,7 @@ retJSON.put("code", e.getApiStatus().getRetCode()); retJSON.put("message", e.getErrorMessage()); } catch (Exception e) { + e.printStackTrace(); retJSON.put("code", ApiStatus.SYS_ERR.getRetCode()); StackTraceElement[] stackTraceElements = e.getStackTrace(); @@ -539,9 +544,14 @@ map.put("reagentType", opeReagentStatus.getReagent().getReagentType()); map.put("deadline", opeReagentStatus.getReagent().getDeadline()); map.put("specification", opeReagentStatus.getReagent().getReagentFormat()); - map.put("masterMetering", opeReagentStatus.getReagent().getMainMetering()); - map.put("itemNumber", opeReagentStatus.getReagent().getReagentType()); + map.put("itemNumber", opeReagentStatus.getArticleNumber()); map.put("producer", opeReagentStatus.getReagent().getProductHome()); + if (opeReagentStatus.getReagent().getMainMetering() == null){ + map.put("masterMetering",opeReagentStatus.getReagent().getReagentUnit()); + }else{ + map.put("masterMetering", opeReagentStatus.getReagent().getMainMetering()); + } + } logger.info("getReagentInfo end..."); return ResponseModel.getOkInstence(datalist); @@ -836,6 +846,11 @@ } String updateTime = dataJson.getString("updateTime"); + if (sdf.parse(updateTime).after(new Date())) { + retJSON.put("code", "400"); + retJSON.put("message", "发送时间不准确"); + return retJSON.toJSONString(); + } SysContainerSensors sysContainerSensors = new SysContainerSensors(); sysContainerSensors.setContainerId(containerCode); @@ -1187,7 +1202,10 @@ return ResponseModel.getOkInstence(code); } - + /** + * 获取替换字典 + * + */ @ResponseBody @RequestMapping("getEncodeReplaceDict") public Object getEncodeReplaceDict(@RequestParam String type) { @@ -1205,6 +1223,10 @@ } + /** + * 获取编码 + * + */ @ResponseBody @RequestMapping("getDangerousEncode") public Object getDangerousEncode(@RequestParam(required = false) String reagentName, @RequestParam(required = false) String cas) { @@ -1218,6 +1240,157 @@ } } + /** + * 获取仓库信息 + */ + @ResponseBody + @RequestMapping("getWarehouseInfo") + public Object getWarehouseInfo() { + try { + List<SysWarehouseDto> data = sysWarehouseService.getWarehouseList(); + return ResponseModel.getOkInstence(data); + } catch (Exception e) { + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + + /** + * @Description: 获取所有人员,人员相关实验室,实验室相关试剂柜 + * @date 2020/12/23 16:47 + */ + @ResponseBody + @RequestMapping("getApplyPersonDetailInfo") + public Object getApplyPersonDetailInfo() { + try { + List data = sysUserService.getUserInfo(); + return ResponseModel.getOkInstence(data); + } catch (Exception e) { + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + + } + + + /** + * @Description: 入库 + * @date 2020/12/24 14:19 + */ + @ResponseBody + @RequestMapping("putInStorage") + public Object putInWarehouse(@RequestBody InWarehouseInfoDto inWarehouseInfo) { + try { + + if (inWarehouseInfo.getReagentCode() != null && inWarehouseInfo.getReagentCode().size() > 0) { + + for (int i = 0; i < inWarehouseInfo.getReagentCode().size(); i++) { + String code = inWarehouseInfo.getReagentCode().get(i); + DangerousEncode dangerousEncode = new DangerousEncode(); + //5-8位 + String reagentCode = code.substring(4, 8); + //数据库存储的前缀00空着 + dangerousEncode.setReagentCode("00"+reagentCode); + List<DangerousEncode> dangerousEncodes = + dangerousEncodeService.selectAll(dangerousEncode,null,null); + //1.编码存在校验 + if (dangerousEncodes.size() <1){ + return ResponseModel.getErrInstance("该试剂危化品编码不存在"); + } + + //2.重复入库校验 无论任何状态 + OpeReagentStatus ors = opeReagentStatusService.getOpeReagentStatusByReagentCode(code); + if (ors != null) { + return ResponseModel.getErrInstance("该试剂危化品编码已存在"); + } + + } + + //3.入库 + sysWarehouseService.putInWarehouse(inWarehouseInfo); + return ResponseModel.getOkInstence("入库成功"); + } else { + return ResponseModel.getErrInstance("无试剂条码"); + } + } catch (Exception e) { + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + + } + + + /** + * @Description: 试剂领用到实验室 + * @date 2020/12/24 14:19 + */ + @ResponseBody + @RequestMapping("reagentReceiving") + public Object reagentReceiving(@RequestBody ReagentReceivingDto reagentReceiving) { + try { + if (reagentReceiving.getReagentCode() != null && reagentReceiving.getReagentCode().size() > 0) { + + //1.校验仓库是否有该试剂 + for (int i = 0; i < reagentReceiving.getReagentCode().size(); i++) { + String reagentCode = reagentReceiving.getReagentCode().get(i); + //去试剂状态查找 是否有此试剂条码 + OpeReagentStatus ors = opeReagentStatusService.getOpeReagentStatusByReagentCode(reagentCode); + if (ors == null || ors.getStatus() != ArrivalStatus.WAREHOUSE){ + return ResponseModel.getErrInstance("仓库无此试剂"); + } + } + //2.领用 + sysWarehouseService.reagentReceiving(reagentReceiving); + return ResponseModel.getOkInstence("领用成功"); + } else { + return ResponseModel.getErrInstance("无效试剂条码"); + } + } catch (Exception e) { + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + + } + + /** + * @Description: 危废登录 + * @date 2020/12/29 14:13 + */ + @ResponseBody + @RequestMapping("hazardousWaste/login") + public Object hazardousWaste(@RequestBody HazardousWasteUser user) { + + try { + String account = user.getAccount(); + if (StringUtils.isBlank(account)){ + return ResponseModel.getErrInstance("账户名为空"); + } + + SysUser sysUser = sysUserService.getUserByAccount(account); + if (sysUser == null){ + return ResponseModel.getErrInstance("账户名不存在"); + }else{ + if (sysUser.getPassword().equals(MD5Utils.encode(user.getPassword()))){ + user.setId(sysUser.getId()); + user.setRoleName(sysUser.getRoleName()); + return ResponseModel.getOkInstence(user); + }else{ + return ResponseModel.getErrInstance("密码错误"); + } + } + + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + + } } -- Gitblit v1.9.2