From 6207311d7df3d47d27fdd78de33f49875550f52f Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: Wed, 23 Dec 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