kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -9,6 +9,7 @@
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.dto.*;
@@ -80,6 +81,12 @@
    @Lazy
    @Resource
    private SysLaboratoryContainerDao sysLaboratoryContainerDao;
    @Lazy
    @Resource
    private SysLaboratoryDao sysLaboratoryDao;
    @Lazy
    @Resource
    private SysWarehouseContainerDao sysWarehouseContainerDao;
@@ -121,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));
@@ -158,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));
@@ -192,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));
@@ -227,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));
@@ -262,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));
@@ -385,7 +392,7 @@
//    操作状态   10   仓库入库
    @ResponseBody
    @RequestMapping(value = "/cabinetData")
    public String cabinetData(HttpServletRequest request) throws IOException {
    public String cabinetData(HttpServletRequest request) throws Exception {
        BufferedReader br = request.getReader();
        String str, data = "";
        while((str = br.readLine()) != null){
@@ -393,24 +400,22 @@
        }
        JSONObject retJSON = new JSONObject();
        logger.info("cabinetData" + data);
        String userId = request.getHeader("userId");
        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);
        // 主控条码
        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);
                interfaceService.cabinetData(dataJSONArray,userId);
            }
            retJSON.put("code", ApiStatus.OK.getRetCode());
@@ -544,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);
@@ -595,7 +600,7 @@
        logger.info("getUserInfo start...");
        List<SysUser> userList = sysUserService.getSysUserInfoList(startTime, endTime);
        List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,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>();
@@ -636,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)) {
@@ -672,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) {
@@ -695,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();
//    }
    // 智能柜温度,湿度,气体浓度数据接口
@@ -827,7 +753,7 @@
           e.printStackTrace();
        }
        int type = 0;
        String containerId = null;
        Long containerId = null;
        logger.info("The containerCode:" + containerCode + " finding!");
      // 查找货柜条码对应货柜信息
      SysLaboratoryContainer laboratoryContainer = sysLaboratoryContainerDao
@@ -886,16 +812,16 @@
            }
         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);
@@ -1019,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是指欲下载的文件的路径。
@@ -1113,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...");
@@ -1125,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("有毒称重型");
                    }
                }
            }
@@ -1335,28 +1261,28 @@
                        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("该仓库货柜为智能柜,但是未创建相同货柜条码的实验室临时存储柜");
                    }
                }
//
//                //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 (StringUtils.isNotBlank(reagentReceivingDtos.getLabContainerId())){
                    sysWarehouseService.reagentReceiving(reagentReceivingDtos);
                }
//                if (reagentReceivingDtos.getLabContainerId()!=null){
//                    sysWarehouseService.reagentReceiving(reagentReceivingDtos);
//                }
                return ResponseModel.getOkInstence("入库成功");
            } else {
@@ -1379,23 +1305,26 @@
    @RequestMapping("reagentReceiving")
    public Object reagentReceiving(@RequestBody ReagentReceivingDto reagentReceiving) {
        try {
            if (reagentReceiving.getReagentCode() != null && reagentReceiving.getReagentCode().size() > 0) {
            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){
                if (ors == null || ors.getStatus() != ArrivalStatus.WAREHOUSE.getKey()){
                        return ResponseModel.getErrInstance("仓库无此试剂");
                    }
                }
                //2.领用
                sysWarehouseService.reagentReceiving(reagentReceiving);
                return ResponseModel.getOkInstence("领用成功");
            } else {
                return ResponseModel.getErrInstance("无效试剂条码");
            }
        } catch (Exception e) {
            e.printStackTrace();
            logger.info(e);
@@ -1417,8 +1346,8 @@
            if (reagentReceiving.getReagentCode() == null || reagentReceiving.getReagentCode().size() == 0) {
                return  ResponseModel.getErrInstance("请选择申领试剂");
            }
            if (StringUtils.isBlank(reagentReceiving.getApplyUserId())|| StringUtils.isBlank(reagentReceiving.getLabContainerId())
            || StringUtils.isBlank(reagentReceiving.getLabId())){
            if (reagentReceiving.getApplyUserId()!=null|| reagentReceiving.getLabContainerId()!=null
            || reagentReceiving.getLabId()!=null){
                FacesUtils.warn("请选择申领人、实验室、货柜");
            }
            for (String reagentCode : reagentReceiving.getReagentCode()) {
@@ -1443,7 +1372,7 @@
                lr.setValidFlag(ValidFlag.VALID);
                opeLaboratoryReserveService.insert(lr);
                opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER);
                opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER.getKey());
                opeReagentStatus.setUserId(reagentReceiving.getApplyUserId());
                opeReagentStatus.setHouseId(reagentReceiving.getLabId());
                opeReagentStatus.setContainerId(reagentReceiving.getLabContainerId());
@@ -1457,10 +1386,9 @@
                opeUseFlow.setContainerId(opeReagentStatus.getContainerId());
                opeUseFlow.setUserId(opeReagentStatus.getUserId());
                opeUseFlow.setPlace(opeReagentStatus.getPlace());
                opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
                opeUseFlow.setStoreType(StoreType.DIRECTSTORE.getKey());
                opeUseFlow.setRemainder(opeUseFlowExist.getRemainder());
                BaseMeta baseMeta = baseMetaService.getBaseMeta("operate_status",String.valueOf(OperateStatus.TRANSFER.getKey()),"转移");
                opeUseFlow.setOperateState(baseMeta.getId());
                opeUseFlow.setOperateState(OperateStatus.TRANSFER.getKey());
                opeUseFlow.setReceiptNumber(number);
                opeUseFlowService.insertOpeUseFlow(opeUseFlow);
            }
@@ -1489,11 +1417,12 @@
                return  ResponseModel.getErrInstance("账户名不存在");
            }else{
                if (sysUser.getPassword().equals(MD5Utils.encode(user.getPassword()))){
                    if (sysUser.getAdminFlag() != 0){
//                    if (sysUser.getAdminFlag() != 0){
//                        user = sysUser;
//                    }else{
//                        return ResponseModel.getErrInstance("用户不属于危废处理人员");
//                    }
                        user = sysUser;
                    }else{
                        return ResponseModel.getErrInstance("用户不属于危废处理人员");
                    }
                    return ResponseModel.getOkInstence(user);
                }else{
                    return ResponseModel.getErrInstance("密码错误");
@@ -1551,14 +1480,14 @@
     */
    @ResponseBody
    @RequestMapping("hazardousWaste/getLabAndUser")
    public Object getLabAndUser(@RequestParam(required=true) String project){
    public Object getLabAndUser(@RequestParam(required=true) Long projectId){
        try {
            if (StringUtils.isBlank(project)){
                return  ResponseModel.getErrInstance("课题组不能为空");
            if (projectId==null){
                return  ResponseModel.getErrInstance("课题组id不能为空");
            }
            LaboratoryVo laboratoryVo = new LaboratoryVo();
            List<LaboratoryVo.Laboratory> laboratoryList = sysLaboratoryService.getLaboratoryByProject(project);
            List<LaboratoryVo.LaboratoryUser> laboratoryUserList = sysUserService.getUserByProject(project);
            List<LaboratoryVo.Laboratory> laboratoryList = sysLaboratoryService.getLaboratoryByProject(projectId);
            List<LaboratoryVo.LaboratoryUser> laboratoryUserList = sysUserService.getUserByProject(projectId);
            laboratoryVo.setLaboratoryList(laboratoryList);
            laboratoryVo.setLaboratoryUsers(laboratoryUserList);
            return ResponseModel.getOkInstence(laboratoryVo);
@@ -1577,8 +1506,8 @@
    @RequestMapping("hazardousWaste/putWasteInfo")
    public Object putWasteInfo(@RequestBody HazardousWaste hazardousWaste){
        try {
            if (StringUtils.isBlank(hazardousWaste.getDepartment()) || StringUtils.isBlank(hazardousWaste.getApplyPerson())
            || StringUtils.isBlank(hazardousWaste.getProject()) || StringUtils.isBlank(hazardousWaste.getCreator())){
            if (StringUtils.isBlank(hazardousWaste.getDepartment()) || hazardousWaste.getApplyPerson()!=null
            || hazardousWaste.getProjectId()==null || StringUtils.isBlank(hazardousWaste.getCreator())){
                return  ResponseModel.getErrInstance("部门、课题组、确认者、创建者、不能为空");
            }
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
@@ -1908,5 +1837,90 @@
        }
    }
    /**
     * 根据用户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("系统内部错误");
        }
    }
}