package com.nanometer.smartlab.controller;
|
|
import com.nanometer.smartlab.entity.BaseMeta;
|
import com.nanometer.smartlab.entity.EncodeReplaceDict;
|
import com.nanometer.smartlab.entity.SysUser;
|
import com.nanometer.smartlab.entity.enumtype.ReplaceDictType;
|
import com.nanometer.smartlab.entity.enumtype.ValidFlag;
|
import com.nanometer.smartlab.service.BaseMetaService;
|
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;
|
@Resource
|
private BaseMetaService baseMetaService;
|
|
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;
|
}
|
selectOne = null;
|
} 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 encodeReplaceDictService.getOne(Long.parseLong(rowKey));
|
}
|
};
|
}
|
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());
|
ReplaceDictType type = selectOne.getType();
|
String groupId = "encode_replace_" + type.getKey();
|
BaseMeta baseMeta = baseMetaService.getBaseMeta(groupId, selectOne.getNumber(),null);
|
baseMetaService.deleteBaseMeta(Collections.singletonList(baseMeta.getId()));
|
FacesUtils.info("删除成功");
|
}
|
}
|
|
//保存
|
public void onSaveBtnClick(){
|
|
try {
|
if (encodeReplaceDict.getId() == null) {
|
//新增
|
//校验实体
|
encodeReplaceDictService.checkAddOne(encodeReplaceDict);
|
encodeReplaceDictService.addOne(encodeReplaceDict, getUser());
|
|
BaseMeta baseMeta = new BaseMeta();
|
baseMeta.setMetaKey(encodeReplaceDict.getNumber());
|
baseMeta.setMetaValue(encodeReplaceDict.getInfo());
|
ReplaceDictType type = encodeReplaceDict.getType();
|
String groupCode = "encode_replace_" + type.getKey();
|
baseMeta.setGroupCode(groupCode);
|
baseMetaService.insertBaseMeta(baseMeta);
|
|
} else {
|
//更新
|
//校验实体
|
encodeReplaceDictService.checkUpdateOne(encodeReplaceDict);
|
//更新前拿出baseMeta
|
EncodeReplaceDict originData = encodeReplaceDictService.getOne(encodeReplaceDict.getId());
|
ReplaceDictType type = originData.getType();
|
String groupCode = "encode_replace_" + type.getKey();
|
BaseMeta baseMeta = baseMetaService.getBaseMeta(groupCode, originData.getNumber(),null);
|
baseMeta.setMetaKey(encodeReplaceDict.getNumber());
|
baseMeta.setMetaValue(encodeReplaceDict.getInfo());
|
baseMeta.setGroupCode("encode_replace_" + encodeReplaceDict.getType().getKey());
|
baseMeta.setValidFlag(ValidFlag.VALID);
|
baseMetaService.updateBaseMeta(baseMeta);
|
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()));
|
}
|
}
|