李宇
2020-12-22 ebc594f48f4010fa8b61cd3c871a17f3149607ec
添加危化品编码接口
已修改6个文件
已添加1个文件
185 ■■■■■ 文件已修改
src/main/java/com/nanometer/smartlab/api/ApiAction.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/entity/DangerousEncodeVo.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/model/ResponseModel.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/service/DangerousEncodeService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -78,6 +78,8 @@
    private SysLaboratoryContainerDao sysLaboratoryContainerDao;
    @Resource
    private SysWarehouseContainerDao sysWarehouseContainerDao;
    @Resource
    private DangerousEncodeService dangerousEncodeService;
    @Value("${institute.url}")
    String instituteUrl;
@@ -1073,4 +1075,115 @@
        logger.info("getUserInfo end...");
        return ResponseModel.getOkInstence(datalist);
    }
    //危化品编码接口
    @ResponseBody
    @RequestMapping(value = "/dangerousEncodeInfo")
    public Object getDangerousEncodeInfo(@RequestParam String reagentName, @RequestParam String cas) {
        List<DangerousEncodeVo> 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("有毒称重型");
                    }
                }
            }
        }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);
    }
}
src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.java
@@ -1,6 +1,7 @@
package com.nanometer.smartlab.dao;
import com.nanometer.smartlab.entity.DangerousEncode;
import com.nanometer.smartlab.entity.DangerousEncodeVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -26,4 +27,8 @@
    List<Map> selectExportList(Map params);
    List<DangerousEncode> selectByCodeAndName(@Param("reagentcode") String reagentcode,@Param("reagentname") String reagentname,@Param("cas") String cas,@Param("code") String code);
    List<DangerousEncodeVo> selectByReagentName(@Param("reagentname") String reagentname, @Param("cas") String cas);
    DangerousEncode selectByName(@Param("reagentname") String reagentname);
}
src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.xml
@@ -298,7 +298,8 @@
  </select>
  <select id="selectByCodeAndName" resultType="com.nanometer.smartlab.entity.DangerousEncode">
    select
    <include refid="Base_Column_List" />
      container_number containerNumber, reagent_code reagentCode, reagent_name reagentName, cas, memo, property, feature, avoid,
      status, fire, random, code, update_time, creator, count
    from sys_dangerous_encode
    <where>
      1=1
@@ -316,4 +317,31 @@
      </if>
    </where>
  </select>
  <select id="selectByReagentName" resultType="com.nanometer.smartlab.entity.DangerousEncodeVo">
    select
      container_number containerNumber, reagent_code reagentCode, reagent_name reagentName, cas, memo, property, feature, avoid,
      status, fire, random, code, update_time, creator, count
    from sys_dangerous_encode
    <where>
        1=1
        <if test="reagentname != null and reagentname != ''">
            and reagent_name like concat("%",#{reagentname},"%")
        </if>
        <if test="cas != null and cas != ''">
            and cas = #{cas}
        </if>
    </where>
  </select>
  <select id="selectByName" resultType="com.nanometer.smartlab.entity.DangerousEncode">
      select
      id,container_number containerNumber, reagent_code reagentCode, reagent_name reagentName, cas, memo,
      property, feature, avoid, status, fire, random, code, update_time, creator, count
      from sys_dangerous_encode
      <where>
          1=1
          <if test="reagentname != null and reagentname != ''">
              and reagent_name = #{reagentname}
          </if>
      </where>
  </select>
</mapper>
src/main/java/com/nanometer/smartlab/entity/DangerousEncodeVo.java
对比新文件
@@ -0,0 +1,14 @@
package com.nanometer.smartlab.entity;
public class DangerousEncodeVo extends DangerousEncode {
    private String containerName;
    public String getContainerName() {
        return containerName;
    }
    public void setContainerName(String containerName) {
        this.containerName = containerName;
    }
}
src/main/java/com/nanometer/smartlab/model/ResponseModel.java
@@ -69,4 +69,11 @@
        model.setMessage("系统异常");
        return model;
    }
    public static ResponseModel getErrInstance(String message){
        ResponseModel  model = new ResponseModel();
        model.setCode(ExceptionEnumCode.DB_ERR.getCode());
        model.setMessage(message);
        return model;
    }
}
src/main/java/com/nanometer/smartlab/service/DangerousEncodeService.java
@@ -1,6 +1,7 @@
package com.nanometer.smartlab.service;
import com.nanometer.smartlab.entity.DangerousEncode;
import com.nanometer.smartlab.entity.DangerousEncodeVo;
import com.nanometer.smartlab.entity.SysUser;
import org.primefaces.event.FileUploadEvent;
@@ -26,4 +27,8 @@
    List<Map> exportList(DangerousEncode dangerousEncodeFilter);
    List<DangerousEncode> selectByCodeAndName(String reagentcode, String reagentname,String cas,String code);
    List<DangerousEncodeVo> selectByReagentName(String reagentname, String cas);
    DangerousEncode selectByName(String reagentname);
}
src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java
@@ -2,6 +2,7 @@
import com.nanometer.smartlab.dao.DangerousEncodeMapper;
import com.nanometer.smartlab.entity.DangerousEncode;
import com.nanometer.smartlab.entity.DangerousEncodeVo;
import com.nanometer.smartlab.entity.SysUser;
import com.nanometer.smartlab.util.ExcelUtils;
import com.nanometer.smartlab.util.FacesUtils;
@@ -185,6 +186,16 @@
        return dangerousEncodeMapper.selectByCodeAndName(reagentcode,reagentname,cas,code);
    }
    @Override
    public List<DangerousEncodeVo> selectByReagentName(String reagentname, String cas) {
        return dangerousEncodeMapper.selectByReagentName(reagentname, cas);
    }
    @Override
    public DangerousEncode selectByName(String reagentname) {
        return dangerousEncodeMapper.selectByName(reagentname);
    }
    @Override
    public void export2Excel(List<Map> list) throws Exception {