From d6c65a4e3d1ca7d9a7bd6806c99fee035d0a44eb Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 27 一月 2021 16:54:34 +0800 Subject: [PATCH] 合并 --- src/main/java/com/nanometer/smartlab/api/ApiAction.java | 285 +++++++++++++++++++++++++++----------------------------- 1 files changed, 137 insertions(+), 148 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java index 3e28bcc..4ce057e 100644 --- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java +++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java @@ -87,6 +87,10 @@ private SysLaboratoryService sysLaboratoryService; @Resource private HazardousWasteService hazardousWasteService; + @Resource + private OpeLaboratoryReserveService opeLaboratoryReserveService; + @Resource + private OpeUseFlowService opeUseFlowService; @Value("${institute.url}") String instituteUrl; @@ -1360,149 +1364,68 @@ /** * @Description: 试剂转移到另一个柜子 - * @date 2020/12/24 14:19 + * ope_reagent_status 根据reagent_code修改houseid containerid userid updatetime + * OpeLaboratoryReserve 根据ope_reagent_status信息查出旧数据删除 再插入新数据 + * OpeUseFlow 插入试剂流向追踪表 */ -// @ResponseBody -// @RequestMapping("reagentTransfer") -// public Object reagentReceiving(@RequestBody ReagentReceivingDto reagentReceiving) { -// try { -// if (this.selectedTmpList == null || this.selectedTmpList.size() == 0) { -// FacesUtils.warn("请选择申领试剂。"); -// return; -// } -// -// if (this.userId == null) { -// FacesUtils.warn("请选择申领人。"); -// return; -// } -// //领用单 -// printTable = null; -// printTable = new Hashtable(); -// List<ApplyListDto> applyList = new ArrayList<>(); -// Map applyPersonInfo = sysUserService.getUser(userId); -// printTable.put("head", instituteName); -// printTable.put("title", "领用单"); -// printTable.put("applyPerson", applyPersonInfo.get("name")); -// printTable.put("department", applyPersonInfo.get("meta_value")); -// printTable.put("date", Utils.now("yyyy-MM-dd")); -// printTable.put("phone", applyPersonInfo.get("phone")); -// -// //int size = 0; -// int sum = 0; -// List<OpeWarehouseReserve> list=new ArrayList<>(); -// List<OpeWarehouseReserve> list2=new ArrayList<>(); -// for (OpeWarehouseReserve selectWarehouseReserve : this.selectedTmpList) { -// if(selectWarehouseReserve.getFlag()==1){ -// list.add(selectWarehouseReserve); -// }else{ -// list2.add(selectWarehouseReserve); -// } -// } -// if(list.size()>0&&list!=null){ -// for (OpeWarehouseReserve selectWarehouseReserve : list) { -// List<String> reagentCodes = selectWarehouseReserve.getReagentCodes(); -// if (reagentCodes != null && reagentCodes.size() > 0) -// for (String opeReagentStatusId : reagentCodes) { -// OpeReagentStatus opeReagentStatus = this.opeReagentStatusService -// .getOpeReagentStatus(opeReagentStatusId); -// if (!this.opeReagentStatusService.isAllowWarehouseUse(opeReagentStatus)) { -// FacesUtils.warn("只能申领在仓库的试剂。"); -// return; -// }else { -// opeReagentStatus.setHouseId(laboratoryId); -// opeReagentStatus.setContainerId(laboratoryContainerId); -// this.opeReagentStatusDao.updateOpeReagentStatusDao(opeReagentStatus);//更新试剂状态表 -// OpeLaboratoryReserve lr=new OpeLaboratoryReserve(); -// lr.setReagentId(selectWarehouseReserve.getReagentId()); -// lr.setHouseId(laboratoryId); -// lr.setContainerId(laboratoryContainerId); -// lr.setReserve(selectWarehouseReserve.getSelectNum()); -// lr.setUserId(userId); -// lr.setValidFlag(ValidFlag.VALID); -// this.opeLaboratoryReserveService.insert(lr); -// } -// //else { -// //size++; -// //} -// } -// ApplyListDto lis = new ApplyListDto(); -// Map reagentDetail = sysReagentService.getReagentDetail(selectWarehouseReserve.getReagentId()); -// lis.setNum(String.valueOf(selectWarehouseReserve.getSelectNum())); //数量 -// lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit"))); -// lis.setControlProducts((String) reagentDetail.get("controlProducts")); -// lis.setProductName((String) reagentDetail.get("name")); -// lis.setReagentFormat((String) reagentDetail.get("reagentFormat")); -// lis.setProductCode((String)reagentDetail.get("productCode")); -// lis.setMemo((String)reagentDetail.get("memo")); -// applyList.add(lis); -// sum += selectWarehouseReserve.getSelectNum(); -// } -// -// //if (size == 0) { -// //FacesUtils.warn("未选择一个条形码。"); -// //return; -// //} -// this.opeWarehouseReserveService.claim(list, userId,projectNum); -// } -// if(list2.size()>0&&list2!=null){ -// List<OpeApply> opeList=new ArrayList<>(); -// //this.opeApplyService.getOpeApplyList(null,null,null,null,null) -// for(int i=0;i<list2.size();i++){ -// OpeApply opeApply=new OpeApply(); -// opeApply.setArticleNumber(list2.get(i).getArticleNumber()); -// opeApply.setHouseId(laboratoryId); -// opeApply.setContainerId(laboratoryContainerId); -// opeApply.setReagent(this.sysReagentService.getSysReagent(list2.get(i).getReagentId())); -// opeApply.setStartReagentCode(list2.get(i).getStartReagentCode2()); -// opeApply.setEndReagentCode(list2.get(i).getEndReagentCode2()); -// opeList.add(opeApply); -// OpeLaboratoryReserve lr=new OpeLaboratoryReserve(); -// lr.setReagentId(list2.get(i).getReagentId()); -// lr.setHouseId(laboratoryId); -// lr.setContainerId(laboratoryContainerId); -// lr.setReserve(list2.get(i).getSelectNum()); -// lr.setUserId(userId); -// lr.setValidFlag(ValidFlag.VALID); -// this.opeLaboratoryReserveService.insert(lr); -// //opeList.add(this.opeApplyService.getOpeApply(list2.get(i).getId())); -// ApplyListDto lis = new ApplyListDto(); -// Map reagentDetail = sysReagentService.getReagentDetail(list2.get(i).getReagentId()); -// -// lis.setNum(String.valueOf(list2.get(i).getSelectNum())); //数量 -// lis.setMainMetering(String.format("%s%s", reagentDetail.get("main_metering"), reagentDetail.get("unit"))); -// lis.setControlProducts((String) reagentDetail.get("controlProducts")); -// lis.setProductName((String) reagentDetail.get("name")); -// lis.setReagentFormat((String) reagentDetail.get("reagentFormat")); -// lis.setProductCode((String)reagentDetail.get("productCode")); -// lis.setMemo((String)reagentDetail.get("memo")); -// applyList.add(lis); -// -// sum += list2.get(i).getSelectNum(); -// } -// this.opeWarehouseReserveService.reagentDStore2(opeList,userId); -// for(int i=0;i<list2.size();i++){ -// list2.get(i).setReserve(list2.get(i).getReserve()-list2.get(i).getSelectNum()); -// opeWarehouseReserveDao.updateOpeWarehouseReserve(list2.get(i)); -// } -// -// -// //opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve()-opeWarehouseReserve.getSelectNum()); -// //opeWarehouseReserveDao.updateOpeWarehouseReserve(opeWarehouseReserve); -// //this.opeWarehouseReserveService.claim(list2, userId,projectNum); -// } -// -// //领用票最后一行 -// applyList.add(new ApplyListDto("合计", "", "", "", "", String.valueOf(sum), "")); -// printTable.put("applyList", applyList); -// -// FacesUtils.info("申领成功。"); -// RequestContext.getCurrentInstance().execute("PF('printDialog').show()"); -//// this.menuController.goToPage(Constants.PAGE_WAREHOUSE_STOCK_MNG, Constants.PAGE_WAREHOUSE_REAGENT_USE_NEW); -// } catch (Exception e) { -// logger.error(e.getMessage(), e); -// FacesUtils.warn("操作失败。"); -// } -// } + @ResponseBody + @RequestMapping("reagentTransfer") + public Object reagentTransfer(@RequestBody ReagentReceivingDto reagentReceiving) { + try { + if (reagentReceiving.getReagentCode() == null || reagentReceiving.getReagentCode().size() == 0) { + return ResponseModel.getErrInstance("请选择申领试剂"); + } + if (StringUtils.isBlank(reagentReceiving.getApplyUserId())|| StringUtils.isBlank(reagentReceiving.getLabContainerId()) + || StringUtils.isBlank(reagentReceiving.getLabId())){ + FacesUtils.warn("请选择申领人、实验室、货柜"); + } + for (String reagentCode : reagentReceiving.getReagentCode()) { + OpeReagentStatus opeReagentStatus = opeReagentStatusService + .getOpeReagentStatusByReagentCode(reagentCode); + if (opeReagentStatus == null){ + return ResponseModel.getErrInstance(reagentCode+",该试剂在库存中不存在"); + } + } + 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); + 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); + opeUseFlow.setRemainder(opeUseFlowExist.getRemainder()); + BaseMeta baseMeta = baseMetaService.getBaseMeta("operate_status",String.valueOf(OperateStatus.TRANSFER.getKey()),"转移"); + opeUseFlow.setOperateState(baseMeta.getId()); + opeUseFlowService.insertOpeUseFlow(opeUseFlow); + } + return ResponseModel.getOkInstence("转移成功"); + } catch (Exception e) { + logger.error(e.getMessage(), e); + return ResponseModel.getErrInstance("操作失败"); + } + } /** * @Description: 危废登录 @@ -1517,7 +1440,7 @@ return ResponseModel.getErrInstance("账户名为空"); } - HazardousWasteUser sysUser = sysUserService.getUserByAccount(account); + HazardousWasteUser sysUser = sysUserService.getUserByAccount(account,null); if (sysUser == null){ return ResponseModel.getErrInstance("账户名不存在"); }else{ @@ -1611,14 +1534,15 @@ public Object putWasteInfo(@RequestBody HazardousWaste hazardousWaste){ try { if (StringUtils.isBlank(hazardousWaste.getDepartment()) || StringUtils.isBlank(hazardousWaste.getApplyPerson()) - || StringUtils.isBlank(hazardousWaste.getProject()) || StringUtils.isBlank(hazardousWaste.getUnit()) - || StringUtils.isBlank(hazardousWaste.getCreator())){ - return ResponseModel.getErrInstance("部门、单位、课题组、确认者、创建者、不能为空"); + || StringUtils.isBlank(hazardousWaste.getProject()) || 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)); } @@ -1652,7 +1576,7 @@ */ @ResponseBody @RequestMapping("hazardousWaste/getWasteInfo") - public Object getLabAndUser(@RequestParam(required=true) int adminFlag,@RequestParam(required=true) String name,@RequestParam(required=false) String status + 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)){ @@ -1677,7 +1601,7 @@ */ @ResponseBody @RequestMapping("hazardousWaste/changeStatus") - public Object getLabAndUser(@RequestParam(required=true) String tid,@RequestParam(required=true) String status, + 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)){ @@ -1764,4 +1688,69 @@ } + /** + * 根据用户名获取危废全年统计列表 + * + */ + @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(); + } } -- Gitblit v1.9.2