From 6207311d7df3d47d27fdd78de33f49875550f52f Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期三, 23 十二月 2020 09:51:22 +0800 Subject: [PATCH] 编码替换字典页面 --- src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java | 176 +++++++++++ src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java | 23 + src/main/java/com/nanometer/smartlab/entity/handler/ReplaceDictTypeHandler.java | 33 ++ src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java | 107 +++++++ src/main/webapp/WEB-INF/spring-menu.xml | 6 src/main/java/com/nanometer/smartlab/entity/enumtype/ReplaceDictType.java | 50 +++ src/main/java/com/nanometer/smartlab/dao/EncodeReplaceDictMapper.java | 25 + src/main/webapp/WEB-INF/config-mybatis.xml | 1 src/main/java/com/nanometer/smartlab/entity/EncodeReplaceDict.java | 112 +++++++ src/main/java/com/nanometer/smartlab/dao/EncodeReplaceDictMapper.xml | 195 +++++++++++++ src/main/webapp/sys_encode_replace_dict.xhtml | 137 +++++++++ 11 files changed, 865 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java b/src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java new file mode 100644 index 0000000..2949efb --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java @@ -0,0 +1,176 @@ +package com.nanometer.smartlab.controller; + +import com.nanometer.smartlab.entity.EncodeReplaceDict; +import com.nanometer.smartlab.entity.SysUser; +import com.nanometer.smartlab.entity.enumtype.ReplaceDictType; +import com.nanometer.smartlab.service.EncodeReplaceDictService; +import com.nanometer.smartlab.util.FacesUtils; +import org.apache.log4j.Logger; +import org.primefaces.context.RequestContext; +import org.primefaces.model.LazyDataModel; +import org.primefaces.model.SortOrder; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; + +import javax.annotation.Resource; +import java.util.*; + +@Controller +@Scope("session") +public class EncodeReplaceDictController extends BaseController{ + + private static Logger logger = Logger.getLogger(EncodeReplaceDictController.class); + + @Resource + private EncodeReplaceDictService encodeReplaceDictService; + + private LazyDataModel<EncodeReplaceDict> dataModel; + + private boolean isSearch; + //加了以防 + private EncodeReplaceDict encodeReplaceDict = new EncodeReplaceDict(); + + private EncodeReplaceDict encodeReplaceDictFilter = new EncodeReplaceDict(); + + private EncodeReplaceDict selectOne; + + private List<ReplaceDictType> list; + + + public LazyDataModel<EncodeReplaceDict> getDataModel() { + if (this.dataModel == null) { + this.dataModel = new LazyDataModel<EncodeReplaceDict>() { + + public List<EncodeReplaceDict> load + (int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { + List<EncodeReplaceDict> list = null; + try { + int pageCount = encodeReplaceDictService.countAll(encodeReplaceDictFilter); + + this.setRowCount(pageCount); + if (pageCount > 0) + list = encodeReplaceDictService.selectAll(encodeReplaceDictFilter, isSearch ? 0 : first, pageSize); + //查询更换模式 + if (isSearch) { + isSearch = false; + } + + } catch (Exception e) { + logger.error("error occured.", e); + } + return list; + } + + @Override + public EncodeReplaceDict getRowData(String rowKey) { + Iterator<EncodeReplaceDict> iterator = this.iterator(); + EncodeReplaceDict su = null; + while (iterator.hasNext()) { + su = iterator.next(); + if ( su.getId().equals(Long.parseLong(rowKey))) { + return su; + } + } + return null; + } + }; + } + return dataModel; + } + + //新建 + public void onNewBtnClick() { + this.encodeReplaceDict = new EncodeReplaceDict(); + } + + //编辑 + public void onEditBtnClick() { + if (this.selectOne == null) { + FacesUtils.warn("请选择数据"); + } else { + this.encodeReplaceDict = selectOne; + RequestContext.getCurrentInstance().execute("PF('dialog').show()"); + } + } + + //删除 + public void onDeleteBtnClick() { + if (this.selectOne == null) { + FacesUtils.warn("请选择数据"); + } else { + encodeReplaceDictService.deleteOne(selectOne.getId()); + FacesUtils.info("删除成功"); + } + } + + //保存 + public void onSaveBtnClick(){ + + try { + if (encodeReplaceDict.getId() == null) { + //新增 + //校验实体 + encodeReplaceDictService.checkAddOne(encodeReplaceDict); + encodeReplaceDictService.addOne(encodeReplaceDict, getUser()); + + } else { + //更新 + //校验实体 + encodeReplaceDictService.checkUpdateOne(encodeReplaceDict); + encodeReplaceDictService.updateOne(encodeReplaceDict); + } + + + FacesUtils.info("操作成功"); + }catch (Exception e){ + e.printStackTrace(); + FacesUtils.warn(e.getMessage()); + }finally { + RequestContext.getCurrentInstance().execute("PF('dialog').hide()"); + } + + } + + //导入 + public void importByExcel() { + + } + + public void modelChange() { + this.isSearch = true; + } + + + public EncodeReplaceDict getEncodeReplaceDictFilter() { + return encodeReplaceDictFilter; + } + + public void setEncodeReplaceDictFilter(EncodeReplaceDict encodeReplaceDictFilter) { + this.encodeReplaceDictFilter = encodeReplaceDictFilter; + } + + public EncodeReplaceDict getSelectOne() { + return selectOne; + } + + public void setSelectOne(EncodeReplaceDict selectOne) { + this.selectOne = selectOne; + } + + public EncodeReplaceDict getEncodeReplaceDict() { + return encodeReplaceDict; + } + + public void setEncodeReplaceDict(EncodeReplaceDict encodeReplaceDict) { + this.encodeReplaceDict = encodeReplaceDict; + } + + public void setList(List<ReplaceDictType> list) { + this.list = list; + } + + public List<ReplaceDictType> getList() { + return new ArrayList<>(Arrays.asList(ReplaceDictType.values())); + } +} + diff --git a/src/main/java/com/nanometer/smartlab/dao/EncodeReplaceDictMapper.java b/src/main/java/com/nanometer/smartlab/dao/EncodeReplaceDictMapper.java new file mode 100644 index 0000000..079c366 --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/dao/EncodeReplaceDictMapper.java @@ -0,0 +1,25 @@ +package com.nanometer.smartlab.dao; + +import com.nanometer.smartlab.entity.EncodeReplaceDict; + +import java.util.*; + +public interface EncodeReplaceDictMapper { + int deleteByPrimaryKey(Long id); + + int insert(EncodeReplaceDict record); + + int insertSelective(EncodeReplaceDict record); + + EncodeReplaceDict selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(EncodeReplaceDict record); + + int updateByPrimaryKey(EncodeReplaceDict record); + + List<EncodeReplaceDict> selectAll(Map params); + + int countAll(Map params); + + int findByCondition(Map params); +} \ No newline at end of file diff --git a/src/main/java/com/nanometer/smartlab/dao/EncodeReplaceDictMapper.xml b/src/main/java/com/nanometer/smartlab/dao/EncodeReplaceDictMapper.xml new file mode 100644 index 0000000..56dc56b --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/dao/EncodeReplaceDictMapper.xml @@ -0,0 +1,195 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.nanometer.smartlab.dao.EncodeReplaceDictMapper" > + <resultMap id="BaseResultMap" type="com.nanometer.smartlab.entity.EncodeReplaceDict" > + <!-- --> + <id column="id" property="id" jdbcType="BIGINT" /> + <result column="type" property="type" typeHandler="com.nanometer.smartlab.entity.handler.ReplaceDictTypeHandler" /> + <result column="number" property="number" jdbcType="VARCHAR" /> + <result column="info" property="info" jdbcType="VARCHAR" /> + <result column="abbreviation" property="abbreviation" jdbcType="VARCHAR" /> + <result column="creator" property="creator" jdbcType="VARCHAR" /> + <result column="update_time" property="updateTime" jdbcType="TIMESTAMP" /> + <result column="valid_flag" property="validFlag" jdbcType="INTEGER" /> + </resultMap> + <sql id="Base_Column_List" > + <!-- --> + id, type, number, info, abbreviation, creator, update_time, valid_flag + </sql> + <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > + <!-- --> + select + <include refid="Base_Column_List" /> + from sys_encode_replace_dict + where id = #{id,jdbcType=BIGINT} + </select> + <select id="selectAll" resultMap="BaseResultMap"> + select + <include refid="Base_Column_List" /> + from sys_encode_replace_dict + <where> + valid_flag =1 + <if test="info != null and info != ''"> + and info like concat("%",#{info},"%") + </if> + <!-- 精确查询 --> + <if test="p_info != null and p_info != ''"> + and info = #{p_info} + </if> + <if test="number != null and number != ''"> + and number like concat("%",#{number},"%") + </if> + <!-- 精确查询 --> + <if test="p_number != null and p_number != ''"> + and number = #{p_number} + </if> + <if test="type != null"> + and type = #{type,} + </if> + </where> + order by update_time desc + </select> + <select id="countAll" resultType="java.lang.Integer"> + select count(1) + from sys_encode_replace_dict + <where> + valid_flag =1 + <if test="info != null and info != ''"> + and info like concat("%",#{info},"%") + </if> + <if test="number != null and number != ''"> + and number like concat("%",#{number},"%") + </if> + <if test="type != null"> + and type = #{type} + </if> + </where> + + </select> + <select id="findByCondition" resultType="java.lang.Integer" parameterType="java.util.Map"> + select count(1) + from sys_encode_replace_dict + <where> + valid_flag =1 + <if test="info != null and info != ''"> + and info like concat("%",#{info},"%") + </if> + <if test="number != null and number != ''"> + and number like concat("%",#{number},"%") + </if> + <if test="type != null"> + and type = #{type} + </if> + </where> + </select> + <update id="deleteByPrimaryKey" parameterType="java.lang.Long" > + <!-- --> + update sys_encode_replace_dict set valid_flag = 0 + where id = #{id,jdbcType=BIGINT} + </update> + <insert id="insert" parameterType="com.nanometer.smartlab.entity.EncodeReplaceDict" > + <!-- --> + insert into sys_encode_replace_dict (id, type, number, + info, abbreviation, creator, + update_time, valid_flag) + values (#{id,jdbcType=BIGINT}, #{type}, #{number,jdbcType=VARCHAR}, + #{info,jdbcType=VARCHAR}, #{abbreviation,jdbcType=VARCHAR}, #{creator,jdbcType=VARCHAR}, + #{updateTime,jdbcType=TIMESTAMP}, 1) + </insert> + <insert id="insertSelective" parameterType="com.nanometer.smartlab.entity.EncodeReplaceDict" > + <!-- --> + insert into sys_encode_replace_dict + <trim prefix="(" suffix=")" suffixOverrides="," > + <if test="id != null" > + id, + </if> + <if test="type != null" > + type, + </if> + <if test="number != null" > + number, + </if> + <if test="info != null" > + info, + </if> + <if test="abbreviation != null" > + abbreviation, + </if> + <if test="creator != null" > + creator, + </if> + <if test="updateTime != null" > + update_time, + </if> + <if test="validFlag != null" > + valid_flag, + </if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides="," > + <if test="id != null" > + #{id,jdbcType=BIGINT}, + </if> + <if test="type != null" > + #{type}, + </if> + <if test="number != null" > + #{number,jdbcType=VARCHAR}, + </if> + <if test="info != null" > + #{info,jdbcType=VARCHAR}, + </if> + <if test="abbreviation != null" > + #{abbreviation,jdbcType=VARCHAR}, + </if> + <if test="creator != null" > + #{creator,jdbcType=VARCHAR}, + </if> + <if test="updateTime != null" > + #{updateTime,jdbcType=TIMESTAMP}, + </if> + <if test="validFlag != null" > + #{validFlag,jdbcType=INTEGER}, + </if> + </trim> + </insert> + <update id="updateByPrimaryKeySelective" parameterType="com.nanometer.smartlab.entity.EncodeReplaceDict" > + <!-- --> + update sys_encode_replace_dict + <set > + <if test="type != null" > + type = #{type}, + </if> + <if test="number != null" > + number = #{number,jdbcType=VARCHAR}, + </if> + <if test="info != null" > + info = #{info,jdbcType=VARCHAR}, + </if> + <if test="abbreviation != null" > + abbreviation = #{abbreviation,jdbcType=VARCHAR}, + </if> + <if test="creator != null" > + creator = #{creator,jdbcType=VARCHAR}, + </if> + <if test="updateTime != null" > + update_time = #{updateTime,jdbcType=TIMESTAMP}, + </if> + <if test="validFlag != null" > + valid_flag = #{validFlag,jdbcType=INTEGER}, + </if> + </set> + where id = #{id,jdbcType=BIGINT} + </update> + <update id="updateByPrimaryKey" parameterType="com.nanometer.smartlab.entity.EncodeReplaceDict" > + <!-- --> + update sys_encode_replace_dict + set type = #{type}, + number = #{number,jdbcType=VARCHAR}, + info = #{info,jdbcType=VARCHAR}, + abbreviation = #{abbreviation,jdbcType=VARCHAR}, + creator = #{creator,jdbcType=VARCHAR}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + valid_flag = #{validFlag,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + </update> +</mapper> \ No newline at end of file diff --git a/src/main/java/com/nanometer/smartlab/entity/EncodeReplaceDict.java b/src/main/java/com/nanometer/smartlab/entity/EncodeReplaceDict.java new file mode 100644 index 0000000..50c37e9 --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/entity/EncodeReplaceDict.java @@ -0,0 +1,112 @@ +package com.nanometer.smartlab.entity; + +import com.nanometer.smartlab.entity.enumtype.ReplaceDictType; + +import java.io.Serializable; +import java.util.Date; + +public class EncodeReplaceDict implements Serializable { + /** id id **/ + private Long id; + + /** 三种类型:1.厂家,2.规格,3.包装 type **/ + private ReplaceDictType type; + + /** 编号 number **/ + private String number; + + /** 信息 info **/ + private String info; + + /** 信息简写 abbreviation **/ + private String abbreviation; + + /** 创建者 creator **/ + private String creator; + + /** 更新时间 update_time **/ + private Date updateTime; + + /** valid_flag **/ + private Integer validFlag; + + /** id id **/ + public Long getId() { + return id; + } + + /** id id **/ + public void setId(Long id) { + this.id = id; + } + + /** 三种类型:1.厂家,2.规格,3.包装 type **/ + public ReplaceDictType getType() { + return type; + } + + /** 三种类型:1.厂家,2.规格,3.包装 type **/ + public void setType(ReplaceDictType type) { + this.type = type; + } + + /** 编号 number **/ + public String getNumber() { + return number; + } + + /** 编号 number **/ + public void setNumber(String number) { + this.number = number == null ? null : number.trim(); + } + + /** 信息 info **/ + public String getInfo() { + return info; + } + + /** 信息 info **/ + public void setInfo(String info) { + this.info = info == null ? null : info.trim(); + } + + /** 信息简写 abbreviation **/ + public String getAbbreviation() { + return abbreviation; + } + + /** 信息简写 abbreviation **/ + public void setAbbreviation(String abbreviation) { + this.abbreviation = abbreviation == null ? null : abbreviation.trim(); + } + + /** 创建者 creator **/ + public String getCreator() { + return creator; + } + + /** 创建者 creator **/ + public void setCreator(String creator) { + this.creator = creator == null ? null : creator.trim(); + } + + /** 更新时间 update_time **/ + public Date getUpdateTime() { + return updateTime; + } + + /** 更新时间 update_time **/ + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + /** valid_flag **/ + public Integer getValidFlag() { + return validFlag; + } + + /** valid_flag **/ + public void setValidFlag(Integer validFlag) { + this.validFlag = validFlag; + } +} \ No newline at end of file diff --git a/src/main/java/com/nanometer/smartlab/entity/enumtype/ReplaceDictType.java b/src/main/java/com/nanometer/smartlab/entity/enumtype/ReplaceDictType.java new file mode 100644 index 0000000..8d16e37 --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/entity/enumtype/ReplaceDictType.java @@ -0,0 +1,50 @@ +package com.nanometer.smartlab.entity.enumtype; + + + +import java.util.*; + +public enum ReplaceDictType { + + factory (1, "厂家"), + specifications(2, "规格"), + packing(3, "包装"); + + + private int key; + + private String type; + + ReplaceDictType(int key, String type){ + this.key = key; + this.type = type; + } + + + public int getKey() { + return key; + } + + public String getType() { + return type; + } + + private static HashMap<Integer,ReplaceDictType> map = new HashMap<Integer,ReplaceDictType>(); + + static { + for(ReplaceDictType d : ReplaceDictType.values()){ + map.put(d.key, d); + } + + } + + public static ReplaceDictType parse(Integer index) { + if(map.containsKey(index)){ + return map.get(index); + } + return null; + } + + + +} diff --git a/src/main/java/com/nanometer/smartlab/entity/handler/ReplaceDictTypeHandler.java b/src/main/java/com/nanometer/smartlab/entity/handler/ReplaceDictTypeHandler.java new file mode 100644 index 0000000..c300b62 --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/entity/handler/ReplaceDictTypeHandler.java @@ -0,0 +1,33 @@ +package com.nanometer.smartlab.entity.handler; + +import com.nanometer.smartlab.entity.enumtype.ReplaceDictType; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +public class ReplaceDictTypeHandler extends BaseTypeHandler<ReplaceDictType> { + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, ReplaceDictType parameter, JdbcType jdbcType) throws SQLException { + ps.setInt(i, parameter.getKey()); + } + + @Override + public ReplaceDictType getNullableResult(ResultSet rs, String columnName) throws SQLException { + return ReplaceDictType.parse(rs.getInt(columnName)); + } + + @Override + public ReplaceDictType getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + return ReplaceDictType.parse(rs.getInt(columnIndex)); + } + + @Override + public ReplaceDictType getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + return ReplaceDictType.parse(cs.getInt(columnIndex)); + } +} diff --git a/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java b/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java new file mode 100644 index 0000000..2be7830 --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictService.java @@ -0,0 +1,23 @@ +package com.nanometer.smartlab.service; + +import com.nanometer.smartlab.entity.EncodeReplaceDict; +import com.nanometer.smartlab.entity.SysUser; + +import java.util.*; + +public interface EncodeReplaceDictService { + + List<EncodeReplaceDict> selectAll(EncodeReplaceDict encodeReplaceDictFilter,Integer offset,Integer pageSize); + + int countAll(EncodeReplaceDict encodeReplaceDictFilter); + + void deleteOne(Long id); + + void addOne(EncodeReplaceDict encodeReplaceDict, SysUser user); + + void updateOne(EncodeReplaceDict encodeReplaceDict); + + boolean checkAddOne(EncodeReplaceDict encodeReplaceDict) throws Exception; + + void checkUpdateOne(EncodeReplaceDict encodeReplaceDict) throws Exception; +} diff --git a/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java new file mode 100644 index 0000000..be4a4fc --- /dev/null +++ b/src/main/java/com/nanometer/smartlab/service/EncodeReplaceDictServiceImpl.java @@ -0,0 +1,107 @@ +package com.nanometer.smartlab.service; + +import com.nanometer.smartlab.dao.EncodeReplaceDictMapper; +import com.nanometer.smartlab.entity.EncodeReplaceDict; +import com.nanometer.smartlab.entity.SysUser; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.*; + +@Service +public class EncodeReplaceDictServiceImpl implements EncodeReplaceDictService{ + + @Resource + private EncodeReplaceDictMapper encodeReplaceDictMapper; + + @Override + public List<EncodeReplaceDict> selectAll(EncodeReplaceDict encodeReplaceDictFilter, Integer offset, Integer pageSize) { + Map<String, Object> params = new HashMap<>(); + if (encodeReplaceDictFilter != null){ + params.put("info", encodeReplaceDictFilter.getInfo()); + params.put("number", encodeReplaceDictFilter.getNumber()); + params.put("type", encodeReplaceDictFilter.getType()); + } + return encodeReplaceDictMapper.selectAll(params); + } + + @Override + public int countAll(EncodeReplaceDict encodeReplaceDictFilter) { + Map<String, Object> params = new HashMap<>(); + if (encodeReplaceDictFilter != null){ + params.put("info", encodeReplaceDictFilter.getInfo()); + params.put("number", encodeReplaceDictFilter.getNumber()); + params.put("type", encodeReplaceDictFilter.getType()); + } + return encodeReplaceDictMapper.countAll(params); + } + + @Override + @Transactional + public void deleteOne(Long id) { + encodeReplaceDictMapper.deleteByPrimaryKey(id); + } + + @Override + @Transactional + public void addOne(EncodeReplaceDict encodeReplaceDict, SysUser user) { + encodeReplaceDict.setUpdateTime(new Date()); + encodeReplaceDict.setCreator(user.getId()); + encodeReplaceDictMapper.insert(encodeReplaceDict); + } + + @Override + @Transactional + public void updateOne(EncodeReplaceDict encodeReplaceDict) { + encodeReplaceDictMapper.updateByPrimaryKey(encodeReplaceDict); + } + + @Override + public boolean checkAddOne(EncodeReplaceDict encodeReplaceDict) throws Exception { + Map<String, Object> params = null; + params = new HashMap<>(); + //同一个类型下的编号是否重复 + params.put("number", encodeReplaceDict.getNumber()); + params.put("type", encodeReplaceDict.getType()); + int check1 = encodeReplaceDictMapper.findByCondition(params); + if (check1 >0){ + throw new Exception("编号重复"); + } + //同一个类型下信息是否重复 + params = new HashMap<>(); + params.put("info", encodeReplaceDict.getInfo().trim()); + params.put("type", encodeReplaceDict.getType()); + int check2 = encodeReplaceDictMapper.findByCondition(params); + if (check2 >0){ + throw new Exception("信息重复"); + } + //同时不存在就合格 + return check1 == 0 && check2 == 0; + } + + @Override + public void checkUpdateOne(EncodeReplaceDict encodeReplaceDict) throws Exception { + Map<String, Object> params = null; + //同一个类型下编号除自己以外是否重复 + params = new HashMap<>(); + params.put("p_number", encodeReplaceDict.getNumber()); + params.put("type", encodeReplaceDict.getType()); + List<EncodeReplaceDict> checkList1 = encodeReplaceDictMapper.selectAll(params); + //结果如果不是自己就是重复 + if (checkList1.size()>0 && !checkList1.get(0).getId().equals(encodeReplaceDict.getId())) { + throw new Exception("编号重复"); + } + params = new HashMap<>(); + params.put("p_info", encodeReplaceDict.getInfo().trim()); + params.put("type", encodeReplaceDict.getType()); + List<EncodeReplaceDict> checkList2 = encodeReplaceDictMapper.selectAll(params); + //结果如果不是自己就是重复 + if (checkList2.size()>0 && !checkList2.get(0).getId().equals(encodeReplaceDict.getId())) { + throw new Exception("信息重复"); + } + } + + +} diff --git a/src/main/webapp/WEB-INF/config-mybatis.xml b/src/main/webapp/WEB-INF/config-mybatis.xml index a2b08d0..0635b1a 100644 --- a/src/main/webapp/WEB-INF/config-mybatis.xml +++ b/src/main/webapp/WEB-INF/config-mybatis.xml @@ -29,6 +29,7 @@ <typeHandler handler="com.nanometer.smartlab.entity.handler.EmailSendStatusHandler"/> <typeHandler handler="com.nanometer.smartlab.entity.handler.DangerousFlagHandler"/> <typeHandler handler="com.nanometer.smartlab.entity.handler.WarningLevelHandler"/> + <typeHandler handler="com.nanometer.smartlab.entity.handler.ReplaceDictTypeHandler"/> </typeHandlers> </configuration> diff --git a/src/main/webapp/WEB-INF/spring-menu.xml b/src/main/webapp/WEB-INF/spring-menu.xml index 143cdb8..460ae42 100644 --- a/src/main/webapp/WEB-INF/spring-menu.xml +++ b/src/main/webapp/WEB-INF/spring-menu.xml @@ -217,6 +217,12 @@ <property name="page" value="sys_dangerous_encode"></property> <property name="privilegeCode" value="sys_dangerous_encode"></property> </bean> + <bean class="com.nanometer.smartlab.model.MenuModel"> + <property name="id" value="sys_encode_replace_dict"></property> + <property name="title" value="编码替换字典"></property> + <property name="page" value="sys_encode_replace_dict"></property> + <property name="privilegeCode" value="sys_encode_replace_dict"></property> + </bean> </list> </property> </bean> diff --git a/src/main/webapp/sys_encode_replace_dict.xhtml b/src/main/webapp/sys_encode_replace_dict.xhtml new file mode 100644 index 0000000..7ae4286 --- /dev/null +++ b/src/main/webapp/sys_encode_replace_dict.xhtml @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns:ui="http://java.sun.com/jsf/facelets" + xmlns:p="http://primefaces.org/ui" + xmlns:h="http://java.sun.com/jsf/html" + xmlns:f="http://java.sun.com/jsf/core"> +<ui:composition> + <h:form id="encodeReplaceDictForm"> + <p:panel styleClass="center-header"> + <p:outputLabel styleClass="title" value="编码替换字典"/> + + <p:panelGrid styleClass="filter" columns="9"> + <p:outputLabel value="编号:"/> + <p:inputText value="#{encodeReplaceDictController.encodeReplaceDictFilter.number}"/> + + <p:outputLabel value="信息:"/> + <p:inputText value="#{encodeReplaceDictController.encodeReplaceDictFilter.info}"/> + + <p:outputLabel value="类型:"/> + <p:selectOneMenu value="#{encodeReplaceDictController.encodeReplaceDictFilter.type}"> + <f:selectItems value="#{encodeReplaceDictController.list}" + var="item" itemLabel="#{item.getType()}" itemValue="#{item}"/> + </p:selectOneMenu> + + <p:commandLink styleClass="search" process="@form" update="@form" actionListener="#{encodeReplaceDictController.modelChange}"/> + + </p:panelGrid> + </p:panel> + <p:panel styleClass="center-body"> + <p:panelGrid columns="6" styleClass="btn"> + <p:commandButton value="新建" styleClass="new-btn" + process="@this" + actionListener="#{encodeReplaceDictController.onNewBtnClick}" + oncomplete="PF('dialog').show();" + update=":dialog,:dialogForm"/> + + <p:commandButton value="修改" styleClass="edit-btn" + process="@form" + actionListener="#{encodeReplaceDictController.onEditBtnClick}" + update=":dialog,:dialogForm"/> + + <p:commandButton value="删除" styleClass="del-btn" + process="@form" + actionListener="#{encodeReplaceDictController.onDeleteBtnClick}" + update="@form"> + <p:confirm header="确认" + message="确认操作?"/> + </p:commandButton> + </p:panelGrid> + + <p:dataTable id="encodeReplaceDictInfoDataTable" + styleClass="data-table" + paginator="true" + paginatorAlwaysVisible="false" + paginatorPosition="bottom" + lazy="true" value="#{encodeReplaceDictController.dataModel}" + var="row" + rowKey="#{row.id}" + emptyMessage="无数据" + rows="20" + selection="#{encodeReplaceDictController.selectOne}" + selectionMode="single" + pageLinks="5"> + + <p:column headerText="类型"> + <h:outputText value="#{row.type.getType()}"/> + </p:column> + + <p:column headerText="编号"> + <h:outputText value="#{row.number}"/> + </p:column> + + <p:column headerText="信息"> + <h:outputText value="#{row.info}"/> + </p:column> + + <p:column headerText="简称"> + <h:outputText value="#{row.abbreviation}"/> + </p:column> + + </p:dataTable> + </p:panel> + </h:form> + + <p:dialog modal="true" + header="#{encodeReplaceDictController.encodeReplaceDict.id eq null?'新建':'修改'}" + appendTo="@(body)" + id="dialog" + widgetVar="dialog" + resizable="false" + width="800" > + <h:form id="dialogForm"> + <p:panelGrid columns="4" + styleClass="content2 grid-padding-bottom2"> + + <p:outputLabel value="编号"/> + <p:inputText value="#{encodeReplaceDictController.encodeReplaceDict.number}" + maxlength="1" + required="true" + onkeyup="this.value=this.value.replace(/[^0-9A-F]/g,'')" + requiredMessage="请输入编号"/> + + <p:outputLabel value="类型"/> + <p:selectOneMenu value="#{encodeReplaceDictController.encodeReplaceDict.type}"> + <f:selectItems value="#{encodeReplaceDictController.list}" + var="item" itemLabel="#{item.getType()}" itemValue="#{item}"/> + </p:selectOneMenu> + + <p:outputLabel value="简称"/> + <p:inputText value="#{encodeReplaceDictController.encodeReplaceDict.abbreviation}" + maxlength="100" /> + + <p:outputLabel value="信息"/> + <p:inputText value="#{encodeReplaceDictController.encodeReplaceDict.info}" + maxlength="100" + required="true" + requiredMessage="请填写信息"/> + + </p:panelGrid> + + <p:panel styleClass="btn"> + <p:commandButton value="保存" + process="@form" + actionListener="#{encodeReplaceDictController.onSaveBtnClick}" + update=":encodeReplaceDictForm:encodeReplaceDictInfoDataTable"> + <p:confirm header="确认" + message="确认操作?"/> + </p:commandButton> + </p:panel> + + </h:form> + </p:dialog> +</ui:composition> +</html> \ No newline at end of file -- Gitblit v1.9.2