lyfO_o
2022-02-28 25eca015c9edb5a8ab3fd9d68a8fd785619c1372
src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -28,6 +28,7 @@
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;
@@ -49,44 +50,60 @@
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 SysWarehouseService sysWarehouseService;
    @Resource
    private SysWarningService sysWarningService;
    @Lazy
    @Resource
    private TempSensorsService tempSensorsService;
    @Lazy
    @Resource
    private SysFileService sysFileService;
    @Lazy
    @Resource
    private SysLaboratoryContainerDao sysLaboratoryContainerDao;
    @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;
    @Value("${institute.url}")
    String instituteUrl;
@@ -302,7 +319,7 @@
        return retJSON.toJSONString();
    }
    // 报送试剂最新信息接口
    // 报送试剂最新信息接口 只更新试剂状态ope_regeant_status表  0, "领用" 1, "入库" 2, "存入" 3, "报废" -1, "领用待入库"
    @ResponseBody
    @RequestMapping(value = "/synchAllCabinet")
    public String synchAllCabinet(HttpServletRequest request) throws IOException {
@@ -352,7 +369,67 @@
        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 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();
    }
    // 报警情况接口(warning)  货柜预警接口
    @ResponseBody
    @RequestMapping(value = "/alarm")
    public String alarm(HttpServletRequest request) throws IOException {
@@ -423,56 +500,6 @@
        return retJSON.toJSONString();
    }
    // 出入库记录信息接口
    @ResponseBody
    @RequestMapping(value = "/cabinetData")
    public String cabinetData(HttpServletRequest request) throws IOException {
       BufferedReader br = request.getReader();
        String str, data = "";
        while((str = br.readLine()) != null){
            data += str;
        }
        JSONObject retJSON = new JSONObject();
        logger.info("cabinetData" + data);
        String userId = request.getHeader("userId");
        // Body参数
        JSONObject bodyJSONObject = new JSONObject();
        bodyJSONObject = JSONObject.parseObject(data);
        // 主控条码
        String controllerCode = bodyJSONObject.getString("controllerCode");
        try {
            // 数据
            String dataStr = bodyJSONObject.getString("data");
            JSONArray dataJSONArray = JSONArray.parseArray(dataStr);
            logger.info("dataJSONArray: " + dataJSONArray);
            if(   dataJSONArray.size() !=0 ){
               interfaceService.cabinetData(dataJSONArray);
            }
            retJSON.put("code", ApiStatus.OK.getRetCode());
            retJSON.put("message", ApiStatus.OK.getRetMsg());
        } catch (ApiException e) {
            retJSON.put("code", e.getApiStatus().getRetCode());
            retJSON.put("message", e.getErrorMessage());
        } catch (Exception e) {
            retJSON.put("code", ApiStatus.SYS_ERR.getRetCode());
            StackTraceElement[] stackTraceElements = e.getStackTrace();
            StringBuilder sb = new StringBuilder();
            sb.append(e.toString());
            for (StackTraceElement stackTraceElement : stackTraceElements) {
                sb.append("\n");
                sb.append(stackTraceElement.toString());
            }
            retJSON.put("message", ApiStatus.SYS_ERR.getRetMsg() + "--" + sb.toString());
        }
        return retJSON.toJSONString();
    }
    //http://[URL]/smartlab/api/service/containerInfo
    @ResponseBody
@@ -563,7 +590,7 @@
        logger.info("getUserInfo start...");
        List<SysUser> userList = sysUserService.getSysUserInfoList(startTime, endTime);
        List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,null,null,null);
        List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,null,null,null,null,null);
        List<SysWarehouseContainer> allWarehouseContainerList = sysWarehouseContainerService.getSysWarehouseContainerList(null,null,null,null,null);
        List<String> containerCodeList = new ArrayList<String>();
@@ -594,7 +621,8 @@
                           (String[])wareContainerCodeList.toArray(new String[0])));
            }
            if(user.getSeeFlag().ordinal() == SeeFlag.MANAGE.ordinal()){
            if(user.getSeeFlag().ordinal() == SeeFlag.MANAGE.ordinal()
            || user.getSeeFlag().ordinal() == SeeFlag.LEADING.ordinal()){
                map.put("containerCodeList", containerCodeList);
            }
        }
@@ -1287,6 +1315,7 @@
        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);
@@ -1307,11 +1336,30 @@
                    if (ors != null) {
                        return ResponseModel.getErrInstance("该试剂危化品编码已存在");
                    }
                }
                //3.入库
                //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);
                }
                return ResponseModel.getOkInstence("入库成功");
            } else {
                return ResponseModel.getErrInstance("无试剂条码");
@@ -1360,149 +1408,70 @@
    /**
     * @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+",该试剂在库存中不存在");
                }
            }
            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);
                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());
                opeUseFlow.setReceiptNumber(number);
                opeUseFlowService.insertOpeUseFlow(opeUseFlow);
            }
            return ResponseModel.getOkInstence("转移成功");
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
            return  ResponseModel.getErrInstance("操作失败");
        }
    }
    /**
     * @Description: 危废登录
@@ -1517,7 +1486,7 @@
                return  ResponseModel.getErrInstance("账户名为空");
            }
            HazardousWasteUser sysUser = sysUserService.getUserByAccount(account);
            HazardousWasteUser sysUser = sysUserService.getUserByAccount(account,null);
            if (sysUser == null){
                return  ResponseModel.getErrInstance("账户名不存在");
            }else{
@@ -1611,14 +1580,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));
            }
@@ -1635,7 +1605,7 @@
                hazardousWaste.setMedical(new BigDecimal(0));
            }
            hazardousWaste.setUpdator(hazardousWaste.getCreator());
            hazardousWaste.setUpdatetime(new Date());
//            hazardousWaste.setUpdatetime(new Date());
            hazardousWasteService.insertInfo(hazardousWaste);
            return ResponseModel.getOkInstence("添加成功");
        }catch (Exception e){
@@ -1652,7 +1622,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 +1647,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 +1734,101 @@
    }
    /**
     * 根据用户名获取危废全年统计列表
     *
     */
    @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("系统内部错误");
        }
    }
}