| | |
| | | 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.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; |
| | |
| | | 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; |
| | |
| | | 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.*; |
| | |
| | | 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; |
| | | |
| | |
| | | } |
| | | |
| | | 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)); |
| | |
| | | } |
| | | |
| | | 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)); |
| | |
| | | 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)); |
| | |
| | | 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)); |
| | |
| | | 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)); |
| | |
| | | return retJSON.toJSONString(); |
| | | } |
| | | |
| | | // 报送试剂最新信息接口 |
| | | // 报送试剂最新信息接口 只更新试剂状态ope_regeant_status表 0, "领用" 1, "入库" 2, "存入" 3, "报废" -1, "领用待入库" |
| | | @ResponseBody |
| | | @RequestMapping(value = "/synchAllCabinet") |
| | | public String synchAllCabinet(HttpServletRequest request) throws IOException { |
| | |
| | | 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(); |
| | | |
| | |
| | | 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 { |
| | |
| | | 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 |
| | |
| | | @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); |
| | |
| | | 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); |
| | |
| | | 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>(); |
| | |
| | | (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); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 入实验室库操作 |
| | | * @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)) { |
| | |
| | | } |
| | | |
| | | // 检查地点条码 |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | |
| | | // |
| | | // |
| | | // @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(); |
| | | // } |
| | | |
| | | |
| | | // 智能柜温度,湿度,气体浓度数据接口 |
| | |
| | | } |
| | | reader.close(); |
| | | } catch (IOException e) { |
| | | System.out.println("IOException: " + e); |
| | | logger.info(e.getMessage()); |
| | | } |
| | | JSONObject jsonObject = JSON.parseObject(str); |
| | | |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | int type = 0; |
| | | String containerId = null; |
| | | Long containerId = null; |
| | | logger.info("The containerCode:" + containerCode + " finding!"); |
| | | // 查找货柜条码对应货柜信息 |
| | | SysLaboratoryContainer laboratoryContainer = sysLaboratoryContainerDao |
| | |
| | | } |
| | | |
| | | 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); |
| | | |
| | |
| | | } |
| | | @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是指欲下载的文件的路径。 |
| | |
| | | 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; |
| | |
| | | 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..."); |
| | | return ResponseModel.getOkInstence(datalist); |
| | | } |
| | | |
| | | |
| | | //危化品编码接口 |
| | | @ResponseBody |
| | | @RequestMapping(value = "/dangerousEncodeInfo") |
| | | public Object getDangerousEncodeInfo(@RequestParam String reagentName, @RequestParam String cas) { |
| | | List<DangerousEncode> datalist = new ArrayList<>(); |
| | | if (StringUtils.isNotBlank(reagentName) || StringUtils.isNotBlank(cas)){ |
| | | datalist = dangerousEncodeService.selectByReagentName(reagentName,cas); |
| | | 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("有毒称重型"); |
| | | } |
| | | } |
| | | } |
| | | }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); |
| | | } |
| | | |
| | | /** |
| | | * 获取替换字典 |
| | | * |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("getEncodeReplaceDict") |
| | | public Object getEncodeReplaceDict(@RequestParam String type) { |
| | | try { |
| | | ReplaceDictType rdType = ReplaceDictType.parse(Integer.parseInt(type)); |
| | | EncodeReplaceDict encodeReplaceDict = new EncodeReplaceDict(); |
| | | encodeReplaceDict.setType(rdType); |
| | | List<EncodeReplaceDict> data = encodeReplaceDictService.selectAll(encodeReplaceDict, null, null); |
| | | return ResponseModel.getOkInstence(data); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | logger.info(e); |
| | | return ResponseModel.getErrInstance("系统出错"); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取编码 |
| | | * |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("getDangerousEncode") |
| | | public Object getDangerousEncode(@RequestParam(required = false) String reagentName, @RequestParam(required = false) String cas) { |
| | | try { |
| | | List<DangerousEncode> data = dangerousEncodeService.selectByCodeAndName(null, reagentName, cas, null); |
| | | return ResponseModel.getOkInstence(data); |
| | | } catch (Exception e){ |
| | | e.printStackTrace(); |
| | | logger.info(e); |
| | | return ResponseModel.getErrInstance("系统出错"); |
| | | } |
| | | |
| | | } |
| | | /** |
| | | * 获取仓库信息 |
| | | */ |
| | | @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("系统内部错误"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |