From 0ece929cad95dbe0bb4c8be5e03ddccacec5a935 Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期二, 22 十二月 2020 12:17:25 +0800 Subject: [PATCH] 修改危化品编码 --- src/main/java/com/nanometer/smartlab/entity/DangerousEncode.java | 15 +- src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.xml | 89 +++++++++++------ src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.java | 7 + src/main/java/com/nanometer/smartlab/service/DangerousEncodeService.java | 4 src/main/webapp/sys_dangerous_encode.xhtml | 3 src/main/java/com/nanometer/smartlab/controller/DangerousEncodeController.java | 79 +++++++++++++-- src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java | 74 +++++++++----- 7 files changed, 188 insertions(+), 83 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/DangerousEncodeController.java b/src/main/java/com/nanometer/smartlab/controller/DangerousEncodeController.java index d274fc5..e61e47b 100644 --- a/src/main/java/com/nanometer/smartlab/controller/DangerousEncodeController.java +++ b/src/main/java/com/nanometer/smartlab/controller/DangerousEncodeController.java @@ -4,6 +4,7 @@ import com.nanometer.smartlab.service.DangerousEncodeService; import com.nanometer.smartlab.util.FacesUtils; import com.nanometer.smartlab.util.IDUtils; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.primefaces.context.RequestContext; import org.primefaces.event.FileUploadEvent; @@ -68,7 +69,7 @@ DangerousEncode su = null; while (iterator.hasNext()) { su = iterator.next(); - if (rowKey.equals(su.getId())) { + if (Long.parseLong(rowKey) == (su.getId())) { return su; } } @@ -85,25 +86,83 @@ //保存 public void onSaveBtnClick(){ try { - + String retmsg = ""; //插入 if (dangerousEncode.getId() == null) { //设置 id,创建者和更新时间 - dangerousEncode.setId(IDUtils.uuid()); dangerousEncode.setCreator(getUser().getId()); dangerousEncode.setUpdateTime(new Date()); + + if (StringUtils.isBlank(dangerousEncode.getReagentCode())){ + retmsg +=("试剂名称码不能为空"); + }else { + List<DangerousEncode> list1 = dangerousEncodeService.selectByCodeAndName(dangerousEncode.getReagentCode(),null,null,null); + if (list1.size() > 0){ + retmsg +=("试剂名称码已存在,请更换"); + } + } + + if (StringUtils.isBlank(dangerousEncode.getReagentName())){ + retmsg +=("试剂名称不能为空"); + }else { + List<DangerousEncode> list1 = dangerousEncodeService.selectByCodeAndName(null,dangerousEncode.getReagentName(),null,null); + if (list1.size() > 0){ + retmsg +=("试剂名称已存在,请更换"); + } + } + + if (StringUtils.isBlank(dangerousEncode.getCode())){ + retmsg +=("编码不能为空"); + }else { + List<DangerousEncode> list1 = dangerousEncodeService.selectByCodeAndName(null,null,null,dangerousEncode.getCode()); + if (list1.size() > 0){ + retmsg +=("编码已存在,请更换"); + } + } //插入 - dangerousEncodeService.insertOne(dangerousEncode); + if (StringUtils.isBlank(retmsg)) { + dangerousEncodeService.insertOne(dangerousEncode); + } } //更新 else{ - dangerousEncode.setUpdateTime(new Date()); - dangerousEncodeService.updateOne(dangerousEncode); + if (StringUtils.isBlank(dangerousEncode.getReagentCode())){ + retmsg +=("试剂名称码不能为空"); + }else { + List<DangerousEncode> list1 = dangerousEncodeService.selectByCodeAndName(dangerousEncode.getReagentCode(),null,null,null); + if (list1.size() > 0 && !list1.get(0).getId().equals(dangerousEncode.getId())){ + retmsg +=("试剂名称码已存在,请更换"); + } + } + + if (StringUtils.isBlank(dangerousEncode.getReagentName())){ + retmsg +=("试剂名称不能为空"); + }else { + List<DangerousEncode> list1 = dangerousEncodeService.selectByCodeAndName(null,dangerousEncode.getReagentName(),null,null); + if (list1.size() > 0 && !list1.get(0).getId().equals(dangerousEncode.getId())){ + retmsg +=("试剂名称已存在,请更换"); + } + } + + if (StringUtils.isBlank(dangerousEncode.getCode())){ + retmsg +=("编码不能为空"); + }else { + List<DangerousEncode> list1 = dangerousEncodeService.selectByCodeAndName(null,null,null,dangerousEncode.getCode()); + if (list1.size() > 0 && !list1.get(0).getId().equals(dangerousEncode.getId())){ + retmsg += "编码已存在,请更换"; + } + } + if (StringUtils.isBlank(retmsg)) { + dangerousEncode.setUpdateTime(new Date()); + dangerousEncodeService.updateOne(dangerousEncode); + } } - - FacesUtils.info("操作成功"); - RequestContext.getCurrentInstance().execute("PF('dialog').hide()"); - + if (StringUtils.isNotBlank(retmsg)){ + FacesUtils.error(retmsg); + }else { + RequestContext.getCurrentInstance().execute("PF('dialog').hide()"); + FacesUtils.info("操作成功"); + } }catch (Exception e){ e.printStackTrace(); FacesUtils.warn("操作失败"); diff --git a/src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.java b/src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.java index 0a2bbdd..ae4c1fe 100644 --- a/src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.java +++ b/src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.java @@ -1,12 +1,13 @@ package com.nanometer.smartlab.dao; import com.nanometer.smartlab.entity.DangerousEncode; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; public interface DangerousEncodeMapper { - int deleteByPrimaryKey(String id); + int deleteByPrimaryKey(Long id); int insert(DangerousEncode record); @@ -23,4 +24,6 @@ int countAll(Map params); List<Map> selectExportList(Map params); -} \ No newline at end of file + + List<DangerousEncode> selectByCodeAndName(@Param("reagentcode") String reagentcode,@Param("reagentname") String reagentname,@Param("cas") String cas,@Param("code") String code); +} diff --git a/src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.xml b/src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.xml index b00b7a5..84d2724 100644 --- a/src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.xml +++ b/src/main/java/com/nanometer/smartlab/dao/DangerousEncodeMapper.xml @@ -4,7 +4,7 @@ <resultMap id="BaseResultMap" type="com.nanometer.smartlab.entity.DangerousEncode"> <!-- --> - <id column="id" jdbcType="VARCHAR" property="id" /> + <id column="id" jdbcType="BIGINT" property="id" /> <result column="container_number" jdbcType="VARCHAR" property="containerNumber" /> <result column="reagent_code" jdbcType="VARCHAR" property="reagentCode" /> <result column="reagent_name" jdbcType="VARCHAR" property="reagentName" /> @@ -23,34 +23,34 @@ </resultMap> <sql id="Base_Column_List"> <!-- --> - id, container_number, reagent_code, reagent_name, cas, memo, property, feature, avoid, + id, container_number, reagent_code, reagent_name, cas, memo, property, feature, avoid, status, fire, random, code, update_time, creator, count </sql> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> <!-- --> - select + select <include refid="Base_Column_List" /> from sys_dangerous_encode - where id = #{id,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} </select> - <delete id="deleteByPrimaryKey" parameterType="java.lang.String"> + <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> <!-- --> delete from sys_dangerous_encode - where id = #{id,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} </delete> <insert id="insert" parameterType="com.nanometer.smartlab.entity.DangerousEncode"> <!-- --> - insert into sys_dangerous_encode (id, container_number, reagent_code, - reagent_name, cas, memo, - property, feature, avoid, - status, fire, random, - code, update_time, creator, + insert into sys_dangerous_encode (id, container_number, reagent_code, + reagent_name, cas, memo, + property, feature, avoid, + status, fire, random, + code, update_time, creator, count) - values (#{id,jdbcType=VARCHAR}, #{containerNumber,jdbcType=VARCHAR}, #{reagentCode,jdbcType=VARCHAR}, - #{reagentName,jdbcType=VARCHAR}, #{cas,jdbcType=VARCHAR}, #{memo,jdbcType=VARCHAR}, - #{property,jdbcType=VARCHAR}, #{feature,jdbcType=VARCHAR}, #{avoid,jdbcType=VARCHAR}, - #{status,jdbcType=VARCHAR}, #{fire,jdbcType=VARCHAR}, #{random,jdbcType=VARCHAR}, - #{code,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=VARCHAR}, + values (#{id,jdbcType=BIGINT}, #{containerNumber,jdbcType=VARCHAR}, #{reagentCode,jdbcType=VARCHAR}, + #{reagentName,jdbcType=VARCHAR}, #{cas,jdbcType=VARCHAR}, #{memo,jdbcType=VARCHAR}, + #{property,jdbcType=VARCHAR}, #{feature,jdbcType=VARCHAR}, #{avoid,jdbcType=VARCHAR}, + #{status,jdbcType=VARCHAR}, #{fire,jdbcType=VARCHAR}, #{random,jdbcType=VARCHAR}, + #{code,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=VARCHAR}, #{count,jdbcType=INTEGER}) </insert> <insert id="insertSelective" parameterType="com.nanometer.smartlab.entity.DangerousEncode"> @@ -108,7 +108,7 @@ </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null"> - #{id,jdbcType=VARCHAR}, + #{id,jdbcType=BIGINT}, </if> <if test="containerNumber != null"> #{containerNumber,jdbcType=VARCHAR}, @@ -207,7 +207,7 @@ count = #{count,jdbcType=INTEGER}, </if> </set> - where id = #{id,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} </update> <update id="updateByPrimaryKey" parameterType="com.nanometer.smartlab.entity.DangerousEncode"> <!-- --> @@ -227,7 +227,7 @@ update_time = #{updateTime,jdbcType=TIMESTAMP}, creator = #{creator,jdbcType=VARCHAR}, count = #{count,jdbcType=INTEGER} - where id = #{id,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} </update> <select id="selectAll" parameterType="java.util.Map" resultMap="BaseResultMap"> @@ -235,20 +235,21 @@ <include refid="Base_Column_List" /> from sys_dangerous_encode <where> + 1=1 <if test="reagentName !=null and reagentName != ''"> - reagent_name like concat("%",#{reagentName},"%") + and reagent_name like concat("%",#{reagentName},"%") </if> <if test="cas !=null and cas != ''"> - cas like concat("%",#{cas},"%") + and cas like concat("%",#{cas},"%") </if> <if test="reagentCode!=null and reagentCode != ''"> - reagent_code like concat("%",#{reagentCode},"%") + and reagent_code like concat("%",#{reagentCode},"%") </if> <if test="containerNumber !=null and containerNumber != ''"> - container_number like concat("%",#{containerNumber},"%") + and container_number like concat("%",#{containerNumber},"%") </if> </where> - order by update_time + order by update_time desc <if test="offset !=null and pageSize != null"> limit #{offset},#{pageSize} </if> @@ -258,17 +259,18 @@ select count(1) from sys_dangerous_encode <where> + 1=1 <if test="reagentName !=null and reagentName != ''"> - reagent_name like concat("%",#{reagentName},"%") + and reagent_name like concat("%",#{reagentName},"%") </if> <if test="cas !=null and cas != ''"> - cas like concat("%",#{cas},"%") + and cas like concat("%",#{cas},"%") </if> <if test="reagentCode!=null and reagentCode != ''"> - reagent_code like concat("%",#{reagentCode},"%") + and reagent_code like concat("%",#{reagentCode},"%") </if> <if test="containerNumber !=null and containerNumber != ''"> - container_number like concat("%",#{containerNumber},"%") + and container_number like concat("%",#{containerNumber},"%") </if> </where> </select> @@ -279,18 +281,39 @@ status, fire, random, code, update_time, creator, count from sys_dangerous_encode <where> + 1=1 <if test="reagentName !=null and reagentName != ''"> - reagent_name like concat("%",#{reagentName},"%") + and reagent_name like concat("%",#{reagentName},"%") </if> <if test="cas !=null and cas != ''"> - cas like concat("%",#{cas},"%") + and cas like concat("%",#{cas},"%") </if> <if test="reagentCode!=null and reagentCode != ''"> - reagent_code like concat("%",#{reagentCode},"%") + and reagent_code like concat("%",#{reagentCode},"%") </if> <if test="containerNumber !=null and containerNumber != ''"> - container_number like concat("%",#{containerNumber},"%") + and container_number like concat("%",#{containerNumber},"%") </if> </where> </select> -</mapper> \ No newline at end of file + <select id="selectByCodeAndName" resultType="com.nanometer.smartlab.entity.DangerousEncode"> + select + <include refid="Base_Column_List" /> + from sys_dangerous_encode + <where> + 1=1 + <if test="reagentcode != null and reagentcode != ''"> + and reagent_code = #{reagentcode} + </if> + <if test="reagentname != null and reagentname != ''"> + and reagent_name = #{reagentname} + </if> + <if test="cas != null and cas != ''"> + and cas = #{cas} + </if> + <if test="code != null and code != ''"> + and code = #{code} + </if> + </where> + </select> +</mapper> diff --git a/src/main/java/com/nanometer/smartlab/entity/DangerousEncode.java b/src/main/java/com/nanometer/smartlab/entity/DangerousEncode.java index 3fcceb2..a763b38 100644 --- a/src/main/java/com/nanometer/smartlab/entity/DangerousEncode.java +++ b/src/main/java/com/nanometer/smartlab/entity/DangerousEncode.java @@ -1,10 +1,11 @@ package com.nanometer.smartlab.entity; +import java.io.Serializable; import java.util.Date; -public class DangerousEncode { +public class DangerousEncode implements Serializable { /** id id **/ - private String id; + private Long id; /** 柜码 container_number **/ private String containerNumber; @@ -51,14 +52,12 @@ /** 使用次数 count **/ private Integer count; - /** id id **/ - public String getId() { + public Long getId() { return id; } - /** id id **/ - public void setId(String id) { - this.id = id == null ? null : id.trim(); + public void setId(Long id) { + this.id = id; } /** 柜码 container_number **/ @@ -211,4 +210,4 @@ this.count = count; } -} \ No newline at end of file +} diff --git a/src/main/java/com/nanometer/smartlab/service/DangerousEncodeService.java b/src/main/java/com/nanometer/smartlab/service/DangerousEncodeService.java index eb0d5b6..60fd7e5 100644 --- a/src/main/java/com/nanometer/smartlab/service/DangerousEncodeService.java +++ b/src/main/java/com/nanometer/smartlab/service/DangerousEncodeService.java @@ -13,7 +13,7 @@ int countAll(DangerousEncode dangerousEncodeFilter); - void deleteOne(String id); + void deleteOne(Long id); void insertOne(DangerousEncode dangerousEncode); @@ -24,4 +24,6 @@ void export2Excel(List<Map> list) throws Exception; List<Map> exportList(DangerousEncode dangerousEncodeFilter); + + List<DangerousEncode> selectByCodeAndName(String reagentcode, String reagentname,String cas,String code); } diff --git a/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java index a3d630f..390ca26 100644 --- a/src/main/java/com/nanometer/smartlab/service/DangerousEncodeServiceImpl.java +++ b/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", "柜号"); diff --git a/src/main/webapp/sys_dangerous_encode.xhtml b/src/main/webapp/sys_dangerous_encode.xhtml index 39c454b..f49003e 100644 --- a/src/main/webapp/sys_dangerous_encode.xhtml +++ b/src/main/webapp/sys_dangerous_encode.xhtml @@ -85,7 +85,6 @@ selection="#{dangerousEncodeController.selectOne}" selectionMode="single" pageLinks="5"> - <p:column headerText="试剂名称码"> <h:outputText value="#{row.reagentCode}"/> </p:column> @@ -243,4 +242,4 @@ </h:form> </p:dialog> </ui:composition> -</html> \ No newline at end of file +</html> -- Gitblit v1.9.2