李宇
2020-12-22 0ece929cad95dbe0bb4c8be5e03ddccacec5a935
src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java
@@ -4,7 +4,9 @@
import com.nanometer.smartlab.entity.DangerousEncode;
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 +59,7 @@
    @Override
    @Transactional
    public void deleteOne(String id) {
    public void deleteOne(Long id) {
        dangerousEncodeMapper.deleteByPrimaryKey(id);
    }
@@ -77,19 +79,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 +95,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 +110,8 @@
                }
                valuesList.add(cellInfo);
            }
            //柜号   试剂名称码   试剂名称   CAS号   备注   性状   特性   相忌   状态   灭火器   随机码   编码
            //如果试剂条码存或者为空就失败
            if (set.contains(valuesList.get(1).trim())){
                throw new Exception(i + 1 + "行," + 2 + "列,试剂条码存或者为空");
            }
            //加入
            set.add(valuesList.get(1));
            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 +124,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.setUpdateTime(new Date());
            dangerousEncode.setCreator(user.getId());
            dangerousEncodeMapper.insert(dangerousEncode);
        }
        if (StringUtils.isNotBlank(retmsg)){
            FacesUtils.error(retmsg);
        }
    }
    @Override
@@ -167,6 +181,12 @@
    }
    @Override
    public List<DangerousEncode> selectByCodeAndName(String reagentcode, String reagentname, String cas, String code) {
        return dangerousEncodeMapper.selectByCodeAndName(reagentcode,reagentname,cas,code);
    }
    @Override
    public void export2Excel(List<Map> list) throws Exception {
        Map<String,String> map = new LinkedHashMap<>();
        map.put("containerNumber", "柜号");