add
gdg
2021-01-06 626028e5865122c43d97156d2cb221b751e5f18d
src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -7,11 +7,16 @@
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.SysWarehouseContainerDao;
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.SysWarning;
import com.nanometer.smartlab.entity.dto.HazardousWasteUser;
import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto;
import com.nanometer.smartlab.entity.dto.ReagentReceivingDto;
import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
import com.nanometer.smartlab.entity.enumtype.ApiStatus;
import com.nanometer.smartlab.entity.enumtype.ArrivalStatus;
import com.nanometer.smartlab.entity.enumtype.ReplaceDictType;
import com.nanometer.smartlab.entity.enumtype.SeeFlag;
import com.nanometer.smartlab.exception.ApiException;
@@ -19,10 +24,7 @@
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;
@@ -66,6 +68,8 @@
    private BaseMetaService baseMetaService;
    @Resource
    private InterfaceService interfaceService;
    @Resource
    private SysWarehouseService sysWarehouseService;
    @Resource
    private SysWarningService sysWarningService;
@@ -333,6 +337,7 @@
            retJSON.put("code", e.getApiStatus().getRetCode());
            retJSON.put("message", e.getErrorMessage());
        } catch (Exception e) {
            e.printStackTrace();
            retJSON.put("code", ApiStatus.SYS_ERR.getRetCode());
            StackTraceElement[] stackTraceElements = e.getStackTrace();
@@ -539,9 +544,14 @@
            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());
            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);
@@ -836,6 +846,11 @@
         }
         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);
@@ -1187,7 +1202,10 @@
        return ResponseModel.getOkInstence(code);
    }
    /**
     * 获取替换字典
     *
     */
    @ResponseBody
    @RequestMapping("getEncodeReplaceDict")
    public Object getEncodeReplaceDict(@RequestParam String type) {
@@ -1205,6 +1223,10 @@
    }
    /**
     * 获取编码
     *
     */
    @ResponseBody
    @RequestMapping("getDangerousEncode")
    public Object getDangerousEncode(@RequestParam(required = false) String reagentName, @RequestParam(required = false) String cas) {
@@ -1218,6 +1240,157 @@
    }
    }
    /**
     * 获取仓库信息
     */
    @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) {
                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.入库
                sysWarehouseService.putInWarehouse(inWarehouseInfo);
                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) {
                //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){
                        return ResponseModel.getErrInstance("仓库无此试剂");
                    }
                }
                //2.领用
                sysWarehouseService.reagentReceiving(reagentReceiving);
                return ResponseModel.getOkInstence("领用成功");
            } else {
                return ResponseModel.getErrInstance("无效试剂条码");
            }
        } catch (Exception e) {
            e.printStackTrace();
            logger.info(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("账户名为空");
            }
            SysUser sysUser = sysUserService.getUserByAccount(account);
            if (sysUser == null){
                return  ResponseModel.getErrInstance("账户名不存在");
            }else{
                if (sysUser.getPassword().equals(MD5Utils.encode(user.getPassword()))){
                    user.setId(sysUser.getId());
                    user.setRoleName(sysUser.getRoleName());
                    return ResponseModel.getOkInstence(user);
                }else{
                    return ResponseModel.getErrInstance("密码错误");
                }
            }
        }catch (Exception e){
            e.printStackTrace();
            logger.info(e);
            return ResponseModel.getErrInstance("系统出错");
        }
    }
}