kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java
@@ -2,9 +2,12 @@
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;
import com.nanometer.smartlab.util.IDUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
@@ -57,7 +60,7 @@
    @Override
    @Transactional
    public void deleteOne(String id) {
    public void deleteOne(Long id) {
        dangerousEncodeMapper.deleteByPrimaryKey(id);
    }
@@ -77,19 +80,6 @@
    @Override
    @Transactional
    public void importInfoByExcel(FileUploadEvent event, SysUser user) throws Exception {
        //准备工作
        List<DangerousEncode> encodeList = selectAll(null, null, null);
        HashSet<String> set = new HashSet<>();
        if (encodeList != null && encodeList.size() > 0) {
            encodeList.forEach(encodeData -> {
                set.add(encodeData.getReagentCode());
            });
            set.add("");
        }
        //更新时间
        Date date = new Date();
        UploadedFile file = event.getFile();
        InputStream is = file.getInputstream();
        boolean isExcel2003 = true;
@@ -106,12 +96,12 @@
        int totalRows = sheet.getPhysicalNumberOfRows();
        Row row = null;
        int totalCells = 0;
        String retmsg = "";
        for (int i = 1; i < totalRows; i++) {
            List<String> valuesList = new ArrayList<String>();
            row = sheet.getRow(i);
            totalCells = row.getPhysicalNumberOfCells();
            //System.out.println("====="+totalCells);
            for (int t = 0; t < totalCells; t++) {
                String cellInfo = "";
                if (row.getCell(t) != null) {
@@ -121,18 +111,11 @@
                }
                valuesList.add(cellInfo);
            }
            //柜号   试剂名称码   试剂名称   CAS号   备注   性状   特性   相忌   状态   灭火器   随机码   编码
            //如果试剂条码存或者为空就失败
            if (set.contains(valuesList.get(1).trim())){
                throw new Exception(i + 1 + "行," + 2 + "列,试剂条码存或者为空");
            if (valuesList.size() != 12){
                break;
            }
            //加入
            set.add(valuesList.get(1));
            //柜号   试剂名称码   试剂名称   CAS号   备注   性状   特性   相忌   状态   灭火器   随机码   编码
            DangerousEncode dangerousEncode = new DangerousEncode();
            dangerousEncode.setId(IDUtils.uuid());
            dangerousEncode.setContainerNumber(valuesList.get(0));
            dangerousEncode.setReagentCode(valuesList.get(1));
            dangerousEncode.setReagentName(valuesList.get(2));
@@ -145,13 +128,48 @@
            dangerousEncode.setFire(valuesList.get(9));
            dangerousEncode.setRandom(valuesList.get(10));
            dangerousEncode.setCode(valuesList.get(11));
            if (StringUtils.isBlank(dangerousEncode.getReagentCode())){
                retmsg += "第"+i+1+"行,试剂名称码不能为空";
                continue;
            }else {
                List<DangerousEncode> list1 = this.selectByCodeAndName(dangerousEncode.getReagentCode(),null,null,null);
                if (list1.size() > 0){
                    retmsg += "第"+i+1+"行,试剂名称码已存在,请更换";
                    continue;
                }
            }
            if (StringUtils.isBlank(dangerousEncode.getReagentName())){
                retmsg += "第"+i+1+"行,试剂名称不能为空";
                continue;
            }else {
                List<DangerousEncode> list1 = this.selectByCodeAndName(null,dangerousEncode.getReagentName(),null,null);
                if (list1.size() > 0){
                    retmsg += "第"+i+1+"行,试剂名称已存在,请更换";
                    continue;
                }
            }
            if (StringUtils.isBlank(dangerousEncode.getCode())){
                retmsg += "第"+i+1+"行,编码不能为空";
                continue;
            }else {
                List<DangerousEncode> list1 = this.selectByCodeAndName(null,null,null,dangerousEncode.getCode());
                if (list1.size() > 0){
                    retmsg += "第"+i+1+"行,编码已存在,请更换";
                    continue;
                }
            }
            dangerousEncode.setCount(0);
            dangerousEncode.setUpdateTime(date);
            dangerousEncode.setCreator(user.getId());
            dangerousEncode.setUpdateTime(new Date());
            dangerousEncode.setCreator(user.getName());
            dangerousEncodeMapper.insert(dangerousEncode);
        }
        if (StringUtils.isNotBlank(retmsg)){
            FacesUtils.error(retmsg);
        }
    }
    @Override
@@ -167,6 +185,27 @@
    }
    @Override
    public List<DangerousEncode> selectByCodeAndName(String reagentcode, String reagentname, String cas, String code) {
        return dangerousEncodeMapper.selectByCodeAndName(reagentcode,reagentname,cas,code);
    }
    @Override
    public List<DangerousEncode> selectByReagentName(String reagentname, String cas) {
        return dangerousEncodeMapper.selectByReagentName(reagentname, cas);
    }
    @Override
    public DangerousEncode selectByName(String reagentname) {
        return dangerousEncodeMapper.selectByName(reagentname);
    }
    @Override
    public DangerousEncode selectById(Long id) {
        return dangerousEncodeMapper.selectById(id);
    }
    @Override
    public void export2Excel(List<Map> list) throws Exception {
        Map<String,String> map = new LinkedHashMap<>();
        map.put("containerNumber", "柜号");