From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期一, 01 七月 2024 10:58:35 +0800 Subject: [PATCH] change --- src/main/java/com/nanometer/smartlab/api/ApiAction.java | 1137 ++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 920 insertions(+), 217 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..6a0e601 100644 --- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java +++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java @@ -7,22 +7,19 @@ 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.SysLaboratoryDao; import com.nanometer.smartlab.dao.SysWarehouseContainerDao; import com.nanometer.smartlab.entity.*; -import com.nanometer.smartlab.entity.SysWarning; -import com.nanometer.smartlab.entity.enumtype.ApiStatus; -import com.nanometer.smartlab.entity.enumtype.ReplaceDictType; -import com.nanometer.smartlab.entity.enumtype.SeeFlag; +import com.nanometer.smartlab.entity.dto.*; +import com.nanometer.smartlab.entity.enumtype.*; import com.nanometer.smartlab.exception.ApiException; import com.nanometer.smartlab.exception.BusinessException; 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; @@ -30,7 +27,9 @@ import org.apache.shiro.authc.UnknownAccountException; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.subject.Subject; +import org.primefaces.context.RequestContext; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -39,6 +38,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -51,38 +51,70 @@ public class ApiAction extends BaseAction { private static Logger logger = Logger.getLogger(ApiAction.class); - + @Lazy @Resource private SysUserService sysUserService; + @Lazy @Resource private OpeReagentStatusService opeReagentStatusService; - @Resource - private SysReagentService sysReagentService; + @Lazy @Resource private SysWarehouseContainerService sysWarehouseContainerService; + @Lazy @Resource private SysLaboratoryContainerService sysLaboratoryContainerService; + @Lazy @Resource private BaseMetaService baseMetaService; + @Lazy @Resource private InterfaceService interfaceService; - + @Lazy @Resource - private SysWarningService sysWarningService; - + private SysWarehouseService sysWarehouseService; + @Lazy @Resource private TempSensorsService tempSensorsService; - + @Lazy @Resource private SysFileService sysFileService; + @Lazy @Resource private SysLaboratoryContainerDao sysLaboratoryContainerDao; + + @Lazy + @Resource + private SysLaboratoryDao sysLaboratoryDao; + + + @Lazy @Resource private SysWarehouseContainerDao sysWarehouseContainerDao; + @Lazy @Resource private DangerousEncodeService dangerousEncodeService; + @Lazy @Resource private EncodeReplaceDictService encodeReplaceDictService; + @Lazy + @Resource + private SysLaboratoryService sysLaboratoryService; + @Lazy + @Resource + private HazardousWasteService hazardousWasteService; + @Lazy + @Resource + private OpeLaboratoryReserveService opeLaboratoryReserveService; + @Lazy + @Resource + private OpeUseFlowService opeUseFlowService; + @Lazy + @Resource + private SysWarehouseStatusService sysWarehouseStatusService; + @Lazy + @Resource + private SysReagentService sysReagentService; + @Value("${institute.url}") String instituteUrl; @@ -96,7 +128,7 @@ } logger.info("registerTestCabinet" + data); - String userId = request.getHeader("userId"); + Long userId = Long.valueOf(request.getHeader("userId")); JSONObject retJSON = new JSONObject(); try { interfaceService.registerTestCabinet(userId, JSONObject.parseObject(data)); @@ -133,7 +165,7 @@ } logger.info("AutheTestCabinet" + data); - String userId = request.getHeader("userId"); + Long userId = Long.valueOf(request.getHeader("userId")); JSONObject retJSON = new JSONObject(); try { interfaceService.AutheTestCabinet(userId, JSONObject.parseObject(data)); @@ -167,7 +199,7 @@ data += str; } logger.info("logoutTestCabinet" + data); - String userId = request.getHeader("userId"); + Long userId = Long.valueOf(request.getHeader("userId")); JSONObject retJSON = new JSONObject(); try { interfaceService.logoutTestCabinet(userId, JSONObject.parseObject(data)); @@ -202,7 +234,7 @@ data += str; } logger.info("updateTestCabinet" + data); - String userId = request.getHeader("userId"); + Long userId = Long.valueOf(request.getHeader("userId")); JSONObject retJSON = new JSONObject(); try { interfaceService.updateTestCabinet(userId, JSONObject.parseObject(data)); @@ -237,7 +269,7 @@ data += str; } logger.info("openCabinetDoor" + data); - String userId = request.getHeader("userId"); + Long userId = Long.valueOf(request.getHeader("userId")); JSONObject retJSON = new JSONObject(); try { String returndata = interfaceService.openCabinetDoor(userId, JSONObject.parseObject(data)); @@ -298,7 +330,7 @@ return retJSON.toJSONString(); } - // 报送试剂最新信息接口 + // 报送试剂最新信息接口 只更新试剂状态ope_regeant_status表 0, "领用" 1, "入库" 2, "存入" 3, "报废" -1, "领用待入库" @ResponseBody @RequestMapping(value = "/synchAllCabinet") public String synchAllCabinet(HttpServletRequest request) throws IOException { @@ -333,6 +365,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(); @@ -347,7 +380,65 @@ return retJSON.toJSONString(); } - // 报警情况接口(warning) + // 出入库记录信息接口 更新试剂流向ope_use_flow表 +// 操作状态 2 领用 +// 操作状态 4 错误存放 +// 操作状态 1 错误入库 +// 操作状态 6 转移 智能柜试剂转移到另一个柜子 +// 操作状态 5 报废 +// 操作状态 3 存放 +// 操作状态 0 入库 +// 操作状态 11 仓库领用 +// 操作状态 10 仓库入库 + @ResponseBody + @RequestMapping(value = "/cabinetData") + public String cabinetData(HttpServletRequest request) throws Exception { + BufferedReader br = request.getReader(); + String str, data = ""; + while((str = br.readLine()) != null){ + data += str; + } + JSONObject retJSON = new JSONObject(); + logger.info("cabinetData" + data); + Long userId = StringUtils.isNotBlank(request.getHeader("userId"))?Long.valueOf(request.getHeader("userId")):null; + if(userId==null){ + throw new ApiException(ApiStatus.SYS_ERR,"传参用户ID为空"); + } + // Body参数 + JSONObject bodyJSONObject = new JSONObject(); + bodyJSONObject = JSONObject.parseObject(data); + + + try { + // 数据 + String dataStr = bodyJSONObject.getString("data"); + JSONArray dataJSONArray = JSONArray.parseArray(dataStr); + logger.info("dataJSONArray: " + dataJSONArray); + if( dataJSONArray.size() !=0 ){ + interfaceService.cabinetData(dataJSONArray,userId); + } + + retJSON.put("code", ApiStatus.OK.getRetCode()); + retJSON.put("message", ApiStatus.OK.getRetMsg()); + } catch (ApiException e) { + retJSON.put("code", e.getApiStatus().getRetCode()); + retJSON.put("message", e.getErrorMessage()); + } catch (Exception e) { + retJSON.put("code", ApiStatus.SYS_ERR.getRetCode()); + StackTraceElement[] stackTraceElements = e.getStackTrace(); + + StringBuilder sb = new StringBuilder(); + sb.append(e.toString()); + for (StackTraceElement stackTraceElement : stackTraceElements) { + sb.append("\n"); + sb.append(stackTraceElement.toString()); + } + retJSON.put("message", ApiStatus.SYS_ERR.getRetMsg() + "--" + sb.toString()); + } + return retJSON.toJSONString(); + } + + // 报警情况接口(warning) 货柜预警接口 @ResponseBody @RequestMapping(value = "/alarm") public String alarm(HttpServletRequest request) throws IOException { @@ -418,56 +509,6 @@ return retJSON.toJSONString(); } - // 出入库记录信息接口 - @ResponseBody - @RequestMapping(value = "/cabinetData") - public String cabinetData(HttpServletRequest request) throws IOException { - BufferedReader br = request.getReader(); - String str, data = ""; - while((str = br.readLine()) != null){ - data += str; - } - JSONObject retJSON = new JSONObject(); - logger.info("cabinetData" + data); - String userId = request.getHeader("userId"); - - // Body参数 - JSONObject bodyJSONObject = new JSONObject(); - bodyJSONObject = JSONObject.parseObject(data); - - // 主控条码 - String controllerCode = bodyJSONObject.getString("controllerCode"); - - try { - // 数据 - String dataStr = bodyJSONObject.getString("data"); - JSONArray dataJSONArray = JSONArray.parseArray(dataStr); - logger.info("dataJSONArray: " + dataJSONArray); - - - if( dataJSONArray.size() !=0 ){ - interfaceService.cabinetData(dataJSONArray); - } - - retJSON.put("code", ApiStatus.OK.getRetCode()); - retJSON.put("message", ApiStatus.OK.getRetMsg()); - } catch (ApiException e) { - retJSON.put("code", e.getApiStatus().getRetCode()); - retJSON.put("message", e.getErrorMessage()); - } catch (Exception e) { - retJSON.put("code", ApiStatus.SYS_ERR.getRetCode()); - StackTraceElement[] stackTraceElements = e.getStackTrace(); - - StringBuilder sb = new StringBuilder(); - sb.append(e.toString()); - for (StackTraceElement stackTraceElement : stackTraceElements) { - sb.append("\n"); - sb.append(stackTraceElement.toString()); - } - retJSON.put("message", ApiStatus.SYS_ERR.getRetMsg() + "--" + sb.toString()); - } - return retJSON.toJSONString(); - } //http://[URL]/smartlab/api/service/containerInfo @ResponseBody @@ -508,7 +549,7 @@ @RequestMapping(value = "/reagentInfo") public Object getReagentInfo(@RequestParam String startTime, @RequestParam String endTime, @RequestParam String containerCode, @RequestParam String status) { logger.info("getReagentInfo start..."); - String containerid = null; + Long containerid = null; SysLaboratoryContainer laboratoryContainer = sysLaboratoryContainerDao .getSysLaboratoryContainerByContainerCode(containerCode); @@ -539,9 +580,15 @@ 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()); + map.put("density", opeReagentStatus.getReagent().getDensity()); + 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); @@ -553,7 +600,7 @@ logger.info("getUserInfo start..."); List<SysUser> userList = sysUserService.getSysUserInfoList(startTime, endTime); - List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,null,null,null); + List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,null,null,null,null); List<SysWarehouseContainer> allWarehouseContainerList = sysWarehouseContainerService.getSysWarehouseContainerList(null,null,null,null,null); List<String> containerCodeList = new ArrayList<String>(); @@ -584,7 +631,8 @@ (String[])wareContainerCodeList.toArray(new String[0]))); } - if(user.getSeeFlag().ordinal() == SeeFlag.MANAGE.ordinal()){ + if(user.getSeeFlag().ordinal() == SeeFlag.MANAGE.ordinal() + || user.getSeeFlag().ordinal() == SeeFlag.LEADING.ordinal()){ map.put("containerCodeList", containerCodeList); } } @@ -593,35 +641,41 @@ } - - - + /** + * 入实验室库操作 + * @param request + * @param reagentCode + * @return + */ @RequestMapping(value = "/putInLaboratory", produces = {"application/json;charset=UTF-8"}, method = RequestMethod.POST) @ResponseBody - public String putInLaboratory(HttpServletRequest request, String reagentCode, String barCode, String containerCode) { + public String putInLaboratory(HttpServletRequest request, String reagentCode, Long labId, Long labContainerId) { try { logger.info("PutInLaboratory start..."); - logger.info("Params : reagentCode[" + reagentCode + "], barCode[" + barCode + "], containerCode[" + containerCode + "]"); // 检查用户 - String idCard = this.getIdCardFromHeader(request); - if (StringUtils.isBlank(idCard)) { - throw new BusinessException(ExceptionEnumCode.PARAM_NULL, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NULL.getCode(), "用户卡号")); + Long userId = StringUtils.isNotBlank(request.getHeader("userId"))?Long.valueOf(request.getHeader("userId")):null; + if(userId==null){ + throw new ApiException(ApiStatus.SYS_ERR,"传参用户ID为空"); } - SysUser sysUser = this.sysUserService.getSysUserByIdCard(idCard); - - if (sysUser == null) { - if(idCard.length()==20){//截取长度为8的卡号再次查询 - idCard=idCard.substring(10,18); - sysUser = this.sysUserService.getSysUserByIdCard(idCard); - if(sysUser==null){ - throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NO_EXIST.getCode(), "用户卡号", idCard)); - } - }else { - throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NO_EXIST.getCode(), "用户卡号", idCard)); - } - - } +// String idCard = this.getIdCardFromHeader(request); +// if (StringUtils.isBlank(idCard)) { +// throw new BusinessException(ExceptionEnumCode.PARAM_NULL, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NULL.getCode(), "用户卡号")); +// } +// SysUser sysUser = this.sysUserService.getSysUserByIdCard(idCard); +// +// if (sysUser == null) { +// if(idCard.length()==20){//截取长度为8的卡号再次查询 +// idCard=idCard.substring(10,18); +// sysUser = this.sysUserService.getSysUserByIdCard(idCard); +// if(sysUser==null){ +// throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NO_EXIST.getCode(), "用户卡号", idCard)); +// } +// }else { +// throw new BusinessException(ExceptionEnumCode.PARAM_NO_EXIST, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NO_EXIST.getCode(), "用户卡号", idCard)); +// } +// +// } // 检查试剂条码 if (StringUtils.isBlank(reagentCode)) { @@ -629,16 +683,16 @@ } // 检查地点条码 - if (StringUtils.isBlank(barCode)) { - throw new BusinessException(ExceptionEnumCode.PARAM_NULL, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NULL.getCode(), "地点条码")); + if (labId==null) { + throw new BusinessException(ExceptionEnumCode.PARAM_NULL, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NULL.getCode(), "地点id")); } // 检查货柜条码 - if (StringUtils.isBlank(containerCode)) { - throw new BusinessException(ExceptionEnumCode.PARAM_NULL, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NULL.getCode(), "货柜条码")); + if (labContainerId==null) { + throw new BusinessException(ExceptionEnumCode.PARAM_NULL, MessageUtil.getMessageByCode(ExceptionEnumCode.PARAM_NULL.getCode(), "货柜id")); } - this.opeReagentStatusService.putReagentInLaboratory(reagentCode, barCode, containerCode, sysUser); + this.opeReagentStatusService.putReagentInLaboratory(reagentCode, labId, labContainerId, userId); return this.getOkResponseString(); } catch (BusinessException e) { @@ -652,91 +706,6 @@ } } -// -// -// @RequestMapping(value = "/setWarning", produces = {"application/json;charset=UTF-8"}, method = RequestMethod.POST) -// @ResponseBody -// public String setWarning(HttpServletRequest request) throws ParseException, IOException, ApiException { -// BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream())); -// String str = ""; -// String inputLine; -// try { -// while ((inputLine = reader.readLine()) != null) { -// str += inputLine; -// } -// reader.close(); -// } catch (IOException e) { -// System.out.println("IOException: " + e); -// } -// JSONObject jsonObject = JSON.parseObject(str); -// SysWarning sysWarning = new SysWarning(); -// if (!jsonObject.containsKey("controllerCode") -// || ! jsonObject.containsKey("data")) { -// throw new ApiException(ApiStatus.PARAM_NO_EXIST); -// } -// -// String controllerCode = jsonObject.getString("controllerCode"); -// -// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// String dataStr = jsonObject.getString("data"); -// -// -// JSONObject dataJson = JSON.parseObject(dataStr); -// -// if (!dataJson.containsKey("warningId") -// || !dataJson.containsKey("userId") -// || !dataJson.containsKey("warningTime") -// || !dataJson.containsKey("warningLevel") -// || !dataJson.containsKey("containerCode") -// || !dataJson.containsKey("warningPoint")) { -// throw new ApiException(ApiStatus.PARAM_NO_EXIST); -// } -// -// String containerCode = dataJson.getString("containerCode"); -// String warningId = dataJson.getString("warningId"); -// String userId = dataJson.getString("userId"); -// String warningTimeStr = dataJson.getString("warningTime"); -// Integer warningLevelInt = dataJson.getInteger("warningLevel"); -// Integer warningPoint = dataJson.getInteger("warningPoint"); -// -// sysWarning.setUserId(userId); -// sysWarning.setWarningTime(sdf.parse(warningTimeStr)); -// sysWarning.setWarningPoint(warningPoint); -// sysWarning.setWarningLevel(warningLevelInt); -// sysWarning.setWarningId(warningId); -// sysWarning.setId(IDUtils.uuid()); -// -// -// SysLaboratoryContainer laboratoryContainer = sysLaboratoryContainerDao.getSysLaboratoryContainerByContainerCode(containerCode); -// if (Objects.isNull(laboratoryContainer)) { -// SysWarehouseContainer warehouseContainer = sysWarehouseContainerDao.getSysWarehouseContainerByContainerCode(containerCode); -// if (Objects.isNull(warehouseContainer)) { -// logger.error("The containerCode:"+containerCode+" has not been exists!"); -// } else { -// sysWarning.setContainerId(warehouseContainer.getId()); -// } -// } else { -// sysWarning.setContainerId(laboratoryContainer.getId()); -// } -// JSONObject retJSON = new JSONObject(); -// try { -// sysWarningService.insert(sysWarning); -// retJSON.put("code", ApiStatus.OK.getRetCode()); -// retJSON.put("message", ApiStatus.OK.getRetMsg()); -// } catch (Exception e) { -// retJSON.put("code", ApiStatus.SYS_ERR.getRetCode()); -// StackTraceElement[] stackTraceElements = e.getStackTrace(); -// -// StringBuilder sb = new StringBuilder(); -// sb.append(e.toString()); -// for (StackTraceElement stackTraceElement : stackTraceElements) { -// sb.append("\n"); -// sb.append(stackTraceElement.toString()); -// } -// retJSON.put("message", ApiStatus.SYS_ERR.getRetMsg() + "--" + sb.toString()); -// } -// return retJSON.toJSONString(); -// } // 智能柜温度,湿度,气体浓度数据接口 @@ -754,7 +723,7 @@ } reader.close(); } catch (IOException e) { - System.out.println("IOException: " + e); + logger.info(e.getMessage()); } JSONObject jsonObject = JSON.parseObject(str); @@ -784,7 +753,7 @@ e.printStackTrace(); } int type = 0; - String containerId = null; + Long containerId = null; logger.info("The containerCode:" + containerCode + " finding!"); // 查找货柜条码对应货柜信息 SysLaboratoryContainer laboratoryContainer = sysLaboratoryContainerDao @@ -836,18 +805,23 @@ } 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); + sysContainerSensors.setContainerId(Long.valueOf(containerCode)); TempSensors tempSensors = new TempSensors(); - tempSensors.setContainerId(containerCode); + tempSensors.setContainerId(Long.valueOf(containerCode)); /* tempSensors.setFlag(flag); */ tempSensors.setTemp(temp); tempSensors.setHumidity(humidity); tempSensors.setVoc1(voc1); tempSensors.setFlag(flag); tempSensors.setUpdateTime(sdf.parse(updateTime)); - tempSensors.setId(IDUtils.uuid()); + //tempSensors.setId(IDUtils.uuid()); tempSensors.setType(type); tempSensors.setContainerId(containerId); @@ -971,7 +945,7 @@ } @ResponseBody @RequestMapping(value = "/downloadFile") - public HttpServletResponse downloadFile(HttpServletRequest request, String id, HttpServletResponse response){ + public HttpServletResponse downloadFile(HttpServletRequest request, Long id, HttpServletResponse response){ SysFile sysFile=this.sysFileService.getSysFileById(id); try { // path是指欲下载的文件的路径。 @@ -1009,31 +983,24 @@ token.setRememberMe(true); BaseController baseController=new BaseController(); Subject currentUser = baseController.getSubject(); - System.out.println(1); try { - System.out.println(2); currentUser.login(token); } catch (UnknownAccountException e) { - System.out.println("用户名不存在"); FacesUtils.warn("用户名不存在"); return null; } catch (Exception e) { - System.out.println("登陆失败"); logger.error("登陆失败", e); } if (currentUser.isAuthenticated()) {//登录成功进入主页 - System.out.println(3); SysUser user = this.sysUserService.getSysUserByAccount("admin"); currentUser.getSession(true).setAttribute(Constants.SESSION_USER, user); currentUser.getSession(true).getId(); MenuController menuController=new MenuController(); menuController.initPage(); - System.out.println(4); //return "redirect:http://192.168.1.195:8888/smartlab_war_exploded/index.xhtml"; return new ModelAndView("redirect:/index.xhtml"); } else { - System.out.println("用户名与密码不匹配"); FacesUtils.warn("用户名与密码不匹配"); } return null; @@ -1072,7 +1039,7 @@ map.put("unit", user.getCompany()); map.put("Arp", user.getArp()); map.put("departmentName", user.getDepartment()); - map.put("project", user.getProject()); + map.put("projectId", user.getProjectId()); } logger.info("getUserInfo end..."); @@ -1084,21 +1051,21 @@ @ResponseBody @RequestMapping(value = "/dangerousEncodeInfo") public Object getDangerousEncodeInfo(@RequestParam String reagentName, @RequestParam String cas) { - List<DangerousEncodeVo> datalist = new ArrayList<>(); + List<DangerousEncode> 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("有毒称重型"); + for (DangerousEncode dangerousEncode : datalist){ + if (StringUtils.isNotBlank(dangerousEncode.getContainerNumber())){ + if (dangerousEncode.getContainerNumber().startsWith("0")){ + dangerousEncode.setContainerName("普通型"); + }else if (dangerousEncode.getContainerNumber().startsWith("1")){ + dangerousEncode.setContainerName("阻燃型"); + }else if (dangerousEncode.getContainerNumber().startsWith("2")){ + dangerousEncode.setContainerName("抗腐蚀型"); + }else if (dangerousEncode.getContainerNumber().startsWith("3")){ + dangerousEncode.setContainerName("防爆型"); + }else if (dangerousEncode.getContainerNumber().startsWith("4")){ + dangerousEncode.setContainerName("有毒称重型"); } } } @@ -1187,7 +1154,10 @@ return ResponseModel.getOkInstence(code); } - + /** + * 获取替换字典 + * + */ @ResponseBody @RequestMapping("getEncodeReplaceDict") public Object getEncodeReplaceDict(@RequestParam String type) { @@ -1205,6 +1175,10 @@ } + /** + * 获取编码 + * + */ @ResponseBody @RequestMapping("getDangerousEncode") public Object getDangerousEncode(@RequestParam(required = false) String reagentName, @RequestParam(required = false) String cas) { @@ -1218,6 +1192,735 @@ } } + /** + * 获取仓库信息 + */ + @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) { + ReagentReceivingDto reagentReceivingDtos = new ReagentReceivingDto(); + + 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.如果是入智能柜,则该智能柜下需要存在对应的实验室和实验室柜子 +// SysWarehouseContainer sysWarehouseContainer = sysWarehouseContainerService.getSysWarehouseContainer(inWarehouseInfo.getContainerId()); +// if(this.baseMetaService.getBaseMetaKey(sysWarehouseContainer.getType()).equals("200")) { +// reagentReceivingDtos.setReagentCode(inWarehouseInfo.getReagentCode()); +// reagentReceivingDtos.setApplyUserId(inWarehouseInfo.getUser()); +// SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerService.getSysLaboratoryContainerByContainerCode(sysWarehouseContainer.getContainerCode()); +// if (null != sysLaboratoryContainer){ +// reagentReceivingDtos.setLabId(sysLaboratoryContainer.getLaboratoryId()); +// reagentReceivingDtos.setLabContainerId(sysLaboratoryContainer.getId()); +// }else { +// return ResponseModel.getErrInstance("该仓库货柜为智能柜,但是未创建相同货柜条码的实验室临时存储柜"); +// } +// } + + //4.入库 + sysWarehouseService.putInWarehouse(inWarehouseInfo); + + //5.如果是入智能柜,则需再领用到智能柜里 +// if (reagentReceivingDtos.getLabContainerId()!=null){ +// sysWarehouseService.reagentReceiving(reagentReceivingDtos); +// } + + 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) { + return ResponseModel.getErrInstance("无效试剂条码"); + } + if(reagentReceiving.getLabId()==null||reagentReceiving.getLabContainerId()==null||reagentReceiving.getApplyUserId()==null){ + return ResponseModel.getErrInstance("传参错误"); + } + //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.getKey()){ + return ResponseModel.getErrInstance("仓库无此试剂"); + } + } + + //2.领用 + sysWarehouseService.reagentReceiving(reagentReceiving); + return ResponseModel.getOkInstence("领用成功"); + + } catch (Exception e) { + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + + } + + /** + * @Description: 试剂转移到另一个柜子 + * ope_reagent_status 根据reagent_code修改houseid containerid userid updatetime + * OpeLaboratoryReserve 根据ope_reagent_status信息查出旧数据删除 再插入新数据 + * OpeUseFlow 插入试剂流向追踪表 + */ + @ResponseBody + @RequestMapping("reagentTransfer") + public Object reagentTransfer(@RequestBody ReagentReceivingDto reagentReceiving) { + try { + if (reagentReceiving.getReagentCode() == null || reagentReceiving.getReagentCode().size() == 0) { + return ResponseModel.getErrInstance("请选择申领试剂"); + } + if (reagentReceiving.getApplyUserId()!=null|| reagentReceiving.getLabContainerId()!=null + || reagentReceiving.getLabId()!=null){ + FacesUtils.warn("请选择申领人、实验室、货柜"); + } + for (String reagentCode : reagentReceiving.getReagentCode()) { + OpeReagentStatus opeReagentStatus = opeReagentStatusService + .getOpeReagentStatusByReagentCode(reagentCode); + if (opeReagentStatus == null){ + return ResponseModel.getErrInstance(reagentCode+",该试剂在库存中不存在"); + } + } + String number = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); + for (String reagentCode : reagentReceiving.getReagentCode()) { + OpeReagentStatus opeReagentStatus = opeReagentStatusService + .getOpeReagentStatusByReagentCode(reagentCode); + opeLaboratoryReserveService.updateByReagent(opeReagentStatus.getReagentId(), opeReagentStatus.getHouseId(), + opeReagentStatus.getContainerId(), opeReagentStatus.getUserId()); + OpeLaboratoryReserve lr = new OpeLaboratoryReserve(); + lr.setReagentId(opeReagentStatus.getReagentId()); + lr.setHouseId(reagentReceiving.getLabId()); + lr.setContainerId(reagentReceiving.getLabContainerId()); + lr.setReserve(1); + lr.setUserId(reagentReceiving.getApplyUserId()); + lr.setValidFlag(ValidFlag.VALID); + opeLaboratoryReserveService.insert(lr); + + opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey()); + opeReagentStatus.setUserId(reagentReceiving.getApplyUserId()); + opeReagentStatus.setHouseId(reagentReceiving.getLabId()); + opeReagentStatus.setContainerId(reagentReceiving.getLabContainerId()); + opeReagentStatusService.updateOpeReagentStatus(opeReagentStatus);//更新试剂状态表 + + OpeUseFlow opeUseFlowExist = opeUseFlowService.getOpeUseFlowByCode(opeReagentStatus.getReagentCode()); + OpeUseFlow opeUseFlow = new OpeUseFlow(); + opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode()); + opeUseFlow.setStatus(opeReagentStatus.getStatus()); + opeUseFlow.setHouseId(opeReagentStatus.getHouseId()); + opeUseFlow.setContainerId(opeReagentStatus.getContainerId()); + opeUseFlow.setUserId(opeReagentStatus.getUserId()); + opeUseFlow.setPlace(opeReagentStatus.getPlace()); + opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey()); + opeUseFlow.setRemainder(opeUseFlowExist.getRemainder()); + opeUseFlow.setOperateState(OperateStatus.TRANSFER.getKey()); + opeUseFlow.setReceiptNumber(number); + opeUseFlowService.insertOpeUseFlow(opeUseFlow); + } + return ResponseModel.getOkInstence("转移成功"); + } catch (Exception e) { + logger.error(e.getMessage(), 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("账户名为空"); + } + + HazardousWasteUser sysUser = sysUserService.getUserByAccount(account,null); + if (sysUser == null){ + return ResponseModel.getErrInstance("账户名不存在"); + }else{ + if (sysUser.getPassword().equals(MD5Utils.encode(user.getPassword()))){ +// if (sysUser.getAdminFlag() != 0){ +// user = sysUser; +// }else{ +// return ResponseModel.getErrInstance("用户不属于危废处理人员"); +// } + user = sysUser; + return ResponseModel.getOkInstence(user); + }else{ + return ResponseModel.getErrInstance("密码错误"); + } + } + + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + /** + * 修改密码 + * + */ + @ResponseBody + @RequestMapping("hazardousWaste/changePwd") + public Object changePwd(@RequestBody HazardousWasteUser user){ + try { + if (StringUtils.isBlank(user.getAccount())){ + return ResponseModel.getErrInstance("账户名为空"); + } + SysUser sysUser = sysUserService.getSysUserByAccount(user.getAccount()); + if (sysUser == null){ + return ResponseModel.getErrInstance("账户名不存在"); + }else{ + if (sysUser.getPassword().equals(MD5Utils.encode(user.getPassword()))){ + + SysUser newUser = new SysUser(); + newUser = sysUser; + String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; + if (!user.getNewpassword().matches(PW_PATTERN)){ + return ResponseModel.getErrInstance("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"); + }else { + newUser.setPassword(MD5Utils.encode(user.getNewpassword())); + sysUserService.updateSysUser(newUser); + return ResponseModel.getOkInstence("修改成功"); + } + }else{ + return ResponseModel.getErrInstance("原密码错误"); + } + } + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + /** + * 根据课题组名称获取部门、地址、所属人员 + * + */ + @ResponseBody + @RequestMapping("hazardousWaste/getLabAndUser") + public Object getLabAndUser(@RequestParam(required=true) Long projectId){ + try { + if (projectId==null){ + return ResponseModel.getErrInstance("课题组id不能为空"); + } + LaboratoryVo laboratoryVo = new LaboratoryVo(); + List<LaboratoryVo.Laboratory> laboratoryList = sysLaboratoryService.getLaboratoryByProject(projectId); + List<LaboratoryVo.LaboratoryUser> laboratoryUserList = sysUserService.getUserByProject(projectId); + laboratoryVo.setLaboratoryList(laboratoryList); + laboratoryVo.setLaboratoryUsers(laboratoryUserList); + return ResponseModel.getOkInstence(laboratoryVo); + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + /** + * 录入危废信息 + * + */ + @ResponseBody + @RequestMapping("hazardousWaste/putWasteInfo") + public Object putWasteInfo(@RequestBody HazardousWaste hazardousWaste){ + try { + if (StringUtils.isBlank(hazardousWaste.getDepartment()) || hazardousWaste.getApplyPerson()!=null + || hazardousWaste.getProjectId()==null || StringUtils.isBlank(hazardousWaste.getCreator())){ + return ResponseModel.getErrInstance("部门、课题组、确认者、创建者、不能为空"); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + hazardousWaste.setTid(sdf.format(new Date())); + hazardousWaste.setCreateTime(new Date()); + hazardousWaste.setStatus("待确认"); + HazardousWasteUser sysUser = sysUserService.getUserByAccount(null,hazardousWaste.getApplyPerson()); + hazardousWaste.setUnit(sysUser.getCompany()); + if (hazardousWaste.getAcid()== null){ + hazardousWaste.setAcid(new BigDecimal(0)); + } + if (hazardousWaste.getAlkali()== null){ + hazardousWaste.setAlkali(new BigDecimal(0)); + } + if (hazardousWaste.getOrganic()== null){ + hazardousWaste.setOrganic(new BigDecimal(0)); + } + if (hazardousWaste.getSolid()== null){ + hazardousWaste.setSolid(new BigDecimal(0)); + } + if (hazardousWaste.getMedical()== null){ + hazardousWaste.setMedical(new BigDecimal(0)); + } + hazardousWaste.setUpdator(hazardousWaste.getCreator()); +// hazardousWaste.setUpdatetime(new Date()); + hazardousWasteService.insertInfo(hazardousWaste); + return ResponseModel.getOkInstence("添加成功"); + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + + /** + * 根据用户名和危废角色获取危废列表 + * + */ + @ResponseBody + @RequestMapping("hazardousWaste/getWasteInfo") + public Object getWasteInfo(@RequestParam(required=true) int adminFlag,@RequestParam(required=true) String name,@RequestParam(required=false) String status + ,@RequestParam(required=false) String starttime,@RequestParam(required=false) String endtime){ + try { + if (StringUtils.isBlank(name)){ + return ResponseModel.getErrInstance("姓名不能为空"); + } + List<HazardousWaste> hazardousWasters = new ArrayList<>(); + if (adminFlag == 2){ + hazardousWasters = hazardousWasteService.setAllWasters(starttime,endtime,status,null); + }else if (adminFlag == 1) { + hazardousWasters = hazardousWasteService.setAllWasters(starttime,endtime,status,name); + } + return ResponseModel.getOkInstence(hazardousWasters); + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + /** + * 更新订单状态(确认订单、拒绝订单) + */ + @ResponseBody + @RequestMapping("hazardousWaste/changeStatus") + public Object changeStatus(@RequestParam(required=true) String tid,@RequestParam(required=true) String status, + @RequestParam(required=true) String updator){ + try { + if (StringUtils.isBlank(tid) || StringUtils.isBlank(status)){ + return ResponseModel.getErrInstance("单号、状态不能为空"); + } + HazardousWaste hazardousWaste = hazardousWasteService.selectByTid(tid); + if (hazardousWaste != null){ + if (!hazardousWaste.getStatus().equals("待确认")){ + return ResponseModel.getErrInstance("单据不为待确认无法修改"); + }else if (status.equals("已确认") || status.equals("已拒绝")){ + hazardousWaste.setStatus(status); + hazardousWaste.setUpdator(updator); + hazardousWaste.setUpdatetime(new Date()); + hazardousWasteService.updateWaste(hazardousWaste); + return ResponseModel.getOkInstence("修改成功"); + }else { + return ResponseModel.getErrInstance("单号状态不正确"); + } + }else { + return ResponseModel.getErrInstance("单号不存在"); + } + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + /** + * 修改危废信息 + * + */ + @ResponseBody + @RequestMapping("hazardousWaste/editWasteInfo") + public Object editWasteInfo(@RequestBody HazardousWaste hazardousWaste){ + try { + if (StringUtils.isBlank(hazardousWaste.getTid()) ||StringUtils.isBlank(hazardousWaste.getUpdator())){ + return ResponseModel.getErrInstance("单号、更新人不能为空"); + } + HazardousWaste waste = hazardousWasteService.selectByTid(hazardousWaste.getTid()); + if (waste != null){ + if (!waste.getStatus().equals("已拒绝")){ + return ResponseModel.getErrInstance("单据不为已拒绝无法修改"); + }else { + waste.setStatus("待确认"); + if (hazardousWaste.getAcid()== null){ + waste.setAcid(new BigDecimal(0)); + }else { + waste.setAcid(hazardousWaste.getAcid()); + } + if (hazardousWaste.getAlkali()== null){ + waste.setAlkali(new BigDecimal(0)); + }else { + waste.setAlkali(hazardousWaste.getAlkali()); + } + if (hazardousWaste.getOrganic()== null){ + waste.setOrganic(new BigDecimal(0)); + }else { + waste.setOrganic(hazardousWaste.getOrganic()); + } + if (hazardousWaste.getSolid()== null){ + waste.setSolid(new BigDecimal(0)); + }else { + waste.setSolid(hazardousWaste.getSolid()); + } + if (hazardousWaste.getMedical()== null){ + waste.setMedical(new BigDecimal(0)); + }else { + waste.setMedical(hazardousWaste.getMedical()); + } + waste.setUpdator(hazardousWaste.getUpdator()); + waste.setUpdatetime(new Date()); + hazardousWasteService.updateWaste(waste); + return ResponseModel.getOkInstence("修改成功"); + } + }else { + return ResponseModel.getErrInstance("单号不存在"); + } + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + + /** + * 根据用户名获取危废全年统计列表 + * + */ + @ResponseBody + @RequestMapping("hazardousWaste/getWasteStatistics") + public Object getWasteStatistics(@RequestParam(required=true) int adminFlag,@RequestParam(required=true) String name){ + try { + if (StringUtils.isBlank(name)){ + return ResponseModel.getErrInstance("姓名不能为空"); + } + Calendar calendar = Calendar.getInstance(); + int year = calendar.get(Calendar.YEAR); + String status = "已确认"; + String starttime = year+"-01-01 00:00:00"; + String endtime = year+"-12-31 23:59:59"; + List<HazardousWaste> hazardousWasters = new ArrayList<>(); + if (adminFlag == 2){ + hazardousWasters = hazardousWasteService.setAllWasterCount(starttime,endtime,status,null); + }else if (adminFlag == 1) { + hazardousWasters = hazardousWasteService.setAllWasterCount(starttime,endtime,status,name); + } + return ResponseModel.getOkInstence(hazardousWasters); + }catch (Exception e){ + e.printStackTrace(); + logger.info(e); + return ResponseModel.getErrInstance("系统出错"); + } + } + + // 处理人员违规预警接口 + @ResponseBody + @RequestMapping(value = "/delalarmperson") + public String delalarmperson(HttpServletRequest request) throws IOException { + logger.info("/api/service/delalarmperson"); + BufferedReader br = request.getReader(); + String str, data = ""; + while((str = br.readLine()) != null){ + data += str; + } + logger.info("delalarmperson" + data); +// String userId = request.getHeader("userId"); + JSONObject retJSON = new JSONObject(); + try { + interfaceService.delalarmperson(JSONObject.parseObject(data)); + + retJSON.put("code", ApiStatus.OK.getRetCode()); + retJSON.put("message", ApiStatus.OK.getRetMsg()); + } catch (ApiException e) { + retJSON.put("code", e.getApiStatus().getRetCode()); + retJSON.put("message", e.getErrorMessage()); + } catch (Exception e) { + retJSON.put("code", ApiStatus.SYS_ERR.getRetCode()); + StackTraceElement[] stackTraceElements = e.getStackTrace(); + + StringBuilder sb = new StringBuilder(); + sb.append(e.toString()); + for (StackTraceElement stackTraceElement : stackTraceElements) { + sb.append("\n"); + sb.append(stackTraceElement.toString()); + } + retJSON.put("message", ApiStatus.SYS_ERR.getRetMsg() + "--" + sb.toString()); + } + return retJSON.toJSONString(); + } + + + + + @ResponseBody + @RequestMapping("/getAllWarehouse") + public Object getAllWarehouse() { + try { + List<Map> res = sysWarehouseService.getAllWarehouse(); + return ResponseModel.getOkInstence(res); + } catch (Exception e) { + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + + } + + @ResponseBody + @RequestMapping(value = "addWarehouseStatus",method = RequestMethod.POST) + public Object addWarehouseStatus(@RequestBody SysWarehouseStatus one){ + try { + one.setCreateTime(new Date()); + sysWarehouseStatusService.addOne(one); + return ResponseModel.getOkInstence("新增成功"); + } catch (BusinessException e) { + e.printStackTrace(); + return ResponseModel.getErrInstance(e.getMessage()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + + /** + * 试剂流向追踪 + * @return + */ + @ResponseBody + @RequestMapping(value = "/reagentFlows",method = RequestMethod.GET) + public Object reagentFlows(@RequestParam(required=false,defaultValue = "1") Integer pageNum,@RequestParam(required=false,defaultValue = "10") Integer pageSize,OpeUseFlowQueryDto opeUseFlowQueryDto){ + try { + return ResponseModel.getOkInstence(opeUseFlowService.getOpeUseFlowSimpleInfoList(pageNum, pageSize, opeUseFlowQueryDto)); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + /** + * 试剂管理分页查询 + * @return + */ + @ResponseBody + @RequestMapping(value = "/reagentList",method = RequestMethod.GET) + public Object reagentList(@RequestParam(required=false,defaultValue = "1") Integer pageNum,@RequestParam(required=false,defaultValue = "10") Integer pageSize,String name,String cas){ + try { + return ResponseModel.getOkInstence(sysReagentService.reagentList(pageNum,pageSize,name,cas)); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + /** + * 实验室管理分页查询 + * @return + */ + @ResponseBody + @RequestMapping(value = "/labList",method = RequestMethod.GET) + public Object labList(@RequestParam(required=false,defaultValue = "1") Integer pageNum,@RequestParam(required=false,defaultValue = "10") Integer pageSize,String name){ + try { + return ResponseModel.getOkInstence(sysLaboratoryService.getSysLaboratoryList(pageNum,pageSize,name)); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + + /** + * 实验室临时库存管理分页查询 + * @return + */ + @ResponseBody + @RequestMapping(value = "/labContainerList",method = RequestMethod.GET) + public Object labContainerList(@RequestParam(required=false,defaultValue = "1") Integer pageNum,@RequestParam(required=false,defaultValue = "10") Integer pageSize,String name,String controllerName){ + try { + return ResponseModel.getOkInstence(sysLaboratoryContainerService.getSysLaboratoryContainerList(pageNum,pageSize,name,controllerName)); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + + /** + * 人员管理分页查询 + * @return + */ + @ResponseBody + @RequestMapping(value = "/userList",method = RequestMethod.GET) + public Object userList(@RequestParam(required=false,defaultValue = "1") Integer pageNum,@RequestParam(required=false,defaultValue = "10") Integer pageSize,String name){ + try { + return ResponseModel.getOkInstence(sysUserService.getSysUserList(pageNum,pageSize,name)); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + + /** + * 根据用户id查询实验室列表和实验室临时存储库列表 + * @return + */ + @ResponseBody + @RequestMapping(value = "/labAndContainerList",method = RequestMethod.GET) + public Object getLabAndContainerList(HttpServletRequest request){ + try { + Long userId = StringUtils.isNotBlank(request.getHeader("userId"))?Long.valueOf(request.getHeader("userId")):null; + if(userId==null){ + throw new ApiException(ApiStatus.SYS_ERR,"传参用户ID为空"); + } + return ResponseModel.getOkInstence(interfaceService.getLabAndContainerByUserId(userId)); + }catch (ApiException e) { + return ResponseModel.getErrInstance(e.getErrorMessage()); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + + /** + * 根据试剂编码查询流向 + * @return + */ + @ResponseBody + @RequestMapping(value = "/reagentUseFlowList",method = RequestMethod.GET) + public Object getReagentUseFlowList(@RequestParam(required=true) String reagentCode){ + try { + return ResponseModel.getOkInstence(interfaceService.getReagentUseFlowList(reagentCode)); + }catch (ApiException e) { + return ResponseModel.getErrInstance(e.getErrorMessage()); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + /** + * 根据用户id查询所属实验室信息 + * @return + */ + @ResponseBody + @RequestMapping(value = "/userLabList",method = RequestMethod.GET) + public Object getUserLabList(HttpServletRequest request){ + try { + Long userId = StringUtils.isNotBlank(request.getHeader("userId"))?Long.valueOf(request.getHeader("userId")):null; + if(userId==null){ + throw new ApiException(ApiStatus.SYS_ERR,"传参用户ID为空"); + } + return ResponseModel.getOkInstence(interfaceService.getLaboratoryByUserId(userId)); + }catch (ApiException e) { + return ResponseModel.getErrInstance(e.getErrorMessage()); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + /** + * 根据用户id查询试剂流向信息 + * @return + */ + @ResponseBody + @RequestMapping(value = "/personUserFlowList",method = RequestMethod.GET) + public Object getPersonUserFlowList(HttpServletRequest request,@RequestParam(required=false,defaultValue = "1") Integer pageNum,@RequestParam(required=false,defaultValue = "10") Integer pageSize,Integer operatestate,String startDate,String endDate){ + try { + Long userId = StringUtils.isNotBlank(request.getHeader("userId"))?Long.valueOf(request.getHeader("userId")):null; + if(userId==null){ + throw new ApiException(ApiStatus.SYS_ERR,"传参用户ID为空"); + } + return ResponseModel.getOkInstence(interfaceService.getOpeUseFlowByUserId(pageNum,pageSize,userId,operatestate,startDate,endDate)); + }catch (ApiException e) { + return ResponseModel.getErrInstance(e.getErrorMessage()); + }catch (Exception e){ + e.printStackTrace(); + return ResponseModel.getErrInstance("系统内部错误"); + } + } + + } + -- Gitblit v1.9.2