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())); } } 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); } 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> 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; } } 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; } } 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)); } } 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; } 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("信息重复"); } } } 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> 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> 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>