package com.nanometer.smartlab.controller;
|
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
|
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 com.nanometer.smartlab.entity.SysController;
|
import com.nanometer.smartlab.entity.SysWarehouseContainer;
|
import com.nanometer.smartlab.service.BaseMetaService;
|
import com.nanometer.smartlab.service.SysControllerService;
|
import com.nanometer.smartlab.service.SysWarehouseContainerService;
|
import com.nanometer.smartlab.util.Constants;
|
import com.nanometer.smartlab.util.FacesUtils;
|
|
/**
|
* Created by cmower on 17/11/20.
|
*/
|
@Controller
|
@Scope("session")
|
public class WarehouseContainerMngController extends BaseController {
|
|
private static final long serialVersionUID = 101543880938627455L;
|
|
private static Logger logger = Logger.getLogger(WarehouseContainerMngController.class);
|
|
@Resource
|
private SysWarehouseContainerService sysWarehouseContainerService;
|
@Resource
|
private BaseMetaService baseMetaService;
|
@Resource
|
private SysControllerService sysControllerService;
|
|
/**
|
* 数据源
|
*/
|
private LazyDataModel<SysWarehouseContainer> dataModel;
|
/**
|
* 数据模型
|
*/
|
private SysWarehouseContainer sysWarehouseContainer;
|
/**
|
* 选中的list
|
*/
|
private List<SysWarehouseContainer> selectedList;
|
|
private List<SysController> controllers;
|
|
private String warehouseType;
|
private String warehouseName;
|
|
private int action;
|
|
/** 左右门危险性质显示Flag */
|
private int characterRenderedFlag;
|
|
public void onNewBtnClick() {
|
this.sysWarehouseContainer = new SysWarehouseContainer();
|
this.action = Constants.ACTION_ADD;
|
this.setCharacterRenderedFlag(0);
|
}
|
|
public void onEditBtnClick() {
|
if (this.selectedList == null || this.selectedList.size() == 0) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
if (this.selectedList.size() > 1) {
|
FacesUtils.warn("只能选择一个数据进行修改。");
|
return;
|
}
|
this.sysWarehouseContainer = this.sysWarehouseContainerService
|
.getSysWarehouseContainer(this.selectedList.get(0).getId());
|
this.action = Constants.ACTION_EDIT;
|
|
if(this.baseMetaService.getBaseMetaKey(this.sysWarehouseContainer.getType()).equals("200")) {
|
// 智能柜时,左右门危险性质可配置
|
this.setCharacterRenderedFlag(1);
|
}else {
|
this.setCharacterRenderedFlag(0);
|
this.sysWarehouseContainer.setCharacterLeft(null);
|
this.sysWarehouseContainer.setCharacterRight(null);
|
}
|
|
RequestContext.getCurrentInstance().execute("PF('dialog').show()");
|
}
|
|
public void onSaveBtnClick() {
|
try {
|
// 新建
|
if (this.action == Constants.ACTION_ADD) {
|
if (this.sysWarehouseContainer == null) {
|
FacesUtils.warn("新建对象为空。");
|
return;
|
}
|
|
boolean inputCheckFlag = false;
|
|
if(this.sysWarehouseContainer.getContainerCode()==null || this.sysWarehouseContainer.getContainerCode().equals("")) {
|
FacesUtils.error("请输入货柜条码", "请输入货柜条码");
|
inputCheckFlag = true;
|
}
|
|
if(this.sysWarehouseContainer.getInfoCode()==null || this.sysWarehouseContainer.getInfoCode().equals("")) {
|
FacesUtils.error("请输入货柜状态码", "请输入货柜状态码");
|
inputCheckFlag = true;
|
}
|
|
if(this.sysWarehouseContainer.getName()==null || this.sysWarehouseContainer.getName().equals("")) {
|
FacesUtils.error("请输入货柜名称", "请输入货柜名称");
|
inputCheckFlag = true;
|
}
|
|
if(inputCheckFlag) {
|
return;
|
}
|
|
if (this.sysWarehouseContainerService
|
.isSysWarehouseContainerExist(this.sysWarehouseContainer.getContainerCode(), null)) {
|
FacesUtils.warn("货柜条码已存在。");
|
return;
|
}
|
|
this.sysWarehouseContainerService.insertSysWarehouseContainer(sysWarehouseContainer);
|
|
FacesUtils.info("新建成功。");
|
RequestContext.getCurrentInstance().execute("PF('dialog').hide()");
|
// 修改
|
} else if (this.action == Constants.ACTION_EDIT) {
|
if (this.sysWarehouseContainer == null) {
|
FacesUtils.warn("修改对象为空。");
|
return;
|
}
|
|
boolean inputCheckFlag = false;
|
|
if(this.sysWarehouseContainer.getContainerCode()==null || this.sysWarehouseContainer.getContainerCode().equals("")) {
|
FacesUtils.error("请输入货柜条码", "请输入货柜条码");
|
inputCheckFlag = true;
|
}
|
|
if(this.sysWarehouseContainer.getInfoCode()==null || this.sysWarehouseContainer.getInfoCode().equals("")) {
|
FacesUtils.error("请输入货柜状态码", "请输入货柜状态码");
|
inputCheckFlag = true;
|
}
|
|
if(this.sysWarehouseContainer.getName()==null || this.sysWarehouseContainer.getName().equals("")) {
|
FacesUtils.error("请输入货柜名称", "请输入货柜名称");
|
inputCheckFlag = true;
|
}
|
|
if(inputCheckFlag) {
|
return;
|
}
|
|
if (this.sysWarehouseContainerService.isSysWarehouseContainerExist(
|
this.sysWarehouseContainer.getContainerCode(), this.sysWarehouseContainer.getId())) {
|
FacesUtils.warn("货柜条码已存在。");
|
return;
|
}
|
|
this.sysWarehouseContainerService.updateSysWarehouseContainer(sysWarehouseContainer);
|
|
FacesUtils.info("修改成功。");
|
RequestContext.getCurrentInstance().execute("PF('dialog').hide()");
|
}
|
} catch (Exception e) {
|
logger.error("操作失败。", e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
public void onDeleteBtnClick() {
|
try {
|
if (this.selectedList == null || this.selectedList.size() == 0) {
|
FacesUtils.warn("请选择数据。");
|
return;
|
}
|
|
this.sysWarehouseContainerService.deleteSysWarehouseContainer(this.selectedList);
|
|
FacesUtils.info("删除成功。");
|
} catch (Exception e) {
|
logger.error("操作失败。", e);
|
FacesUtils.warn("操作失败。");
|
}
|
}
|
|
public void containerTypeChanged() {
|
|
if(this.baseMetaService.getBaseMetaKey(this.sysWarehouseContainer.getType()).equals("200")) {
|
// 智能柜时,左右门危险性质可配置
|
this.setCharacterRenderedFlag(1);
|
}else {
|
this.setCharacterRenderedFlag(0);
|
this.sysWarehouseContainer.setCharacterLeft(null);
|
this.sysWarehouseContainer.setCharacterRight(null);
|
}
|
}
|
|
@SuppressWarnings("serial")
|
public LazyDataModel<SysWarehouseContainer> getDataModel() {
|
if (this.dataModel == null) {
|
this.dataModel = new LazyDataModel<SysWarehouseContainer>() {
|
@Override
|
public List<SysWarehouseContainer> load(int first, int pageSize, String sortField, SortOrder sortOrder,
|
Map<String, Object> filters) {
|
List<SysWarehouseContainer> list = null;
|
try {
|
int count = sysWarehouseContainerService.getSysWarehouseContainerTotalCount(warehouseType,
|
warehouseName);
|
this.setRowCount(count);
|
if (count > 0) {
|
list = sysWarehouseContainerService.getSysWarehouseContainerList(warehouseType,
|
warehouseName,null, first, pageSize);
|
}
|
} catch (Exception e) {
|
logger.error(e);
|
}
|
return list;
|
}
|
|
@Override
|
public SysWarehouseContainer getRowData(String rowKey) {
|
Iterator<SysWarehouseContainer> iterator = this.iterator();
|
if (iterator != null) {
|
SysWarehouseContainer su = null;
|
while (iterator.hasNext()) {
|
su = iterator.next();
|
if (rowKey.equals(su.getId())) {
|
return su;
|
}
|
}
|
}
|
return null;
|
}
|
};
|
}
|
return dataModel;
|
}
|
|
public SysWarehouseContainer getSysWarehouseContainer() {
|
return sysWarehouseContainer;
|
}
|
|
public void setSysWarehouseContainer(SysWarehouseContainer sysWarehouseContainer) {
|
this.sysWarehouseContainer = sysWarehouseContainer;
|
}
|
|
public List<SysWarehouseContainer> getSelectedList() {
|
return selectedList;
|
}
|
|
public void setSelectedList(List<SysWarehouseContainer> selectedList) {
|
this.selectedList = selectedList;
|
}
|
|
public List<SysController> getControllers() {
|
this.controllers = this.sysControllerService.getAllControllerList();
|
|
return controllers;
|
}
|
|
public void setControllers(List<SysController> controllers) {
|
this.controllers = controllers;
|
}
|
|
public int getAction() {
|
return action;
|
}
|
|
public String getWarehouseType() {
|
return warehouseType;
|
}
|
|
public void setWarehouseType(String warehouseType) {
|
this.warehouseType = warehouseType;
|
}
|
|
public String getWarehouseName() {
|
return warehouseName;
|
}
|
|
public void setWarehouseName(String warehouseName) {
|
this.warehouseName = warehouseName;
|
}
|
|
public int getCharacterRenderedFlag() {
|
return characterRenderedFlag;
|
}
|
|
public void setCharacterRenderedFlag(int characterRenderedFlag) {
|
this.characterRenderedFlag = characterRenderedFlag;
|
}
|
}
|