package com.ld.igds.m.view;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.ld.igds.constant.Constant;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.m.service.HInoutConfService;
import com.ld.igds.m.service.InoutCommonService;
import com.ld.igds.models.DicTrigger;
import com.ld.igds.models.InoutSysConf;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 出入库流程配置
*
* @author
*/
@Component
public class InoutSysConfPR {
@Autowired
private HInoutConfService inoutConfService;
@Autowired
private InoutCommonService inoutManagerService;
/**
* 是否启用下拉
*
* ${dorado.getDataProvider("inoutSysConfPR#triggerYesOrNo").getResult()}
*
* @return
*/
@DataProvider
public List triggerYesOrNo() throws Exception {
List list = new ArrayList();
list.add(new DicTrigger(Constant.YN_Y, "是"));
list.add(new DicTrigger(Constant.YN_N, "否"));
return list;
}
/**
* 化验不合格后下拉框
* ${dorado.getDataProvider("inoutSysConfPR#triggerNoPassType").getResult()}
*
* @return
*/
@DataProvider
public List triggerNoPassType() throws Exception {
List list = new ArrayList();
list.add(new DicTrigger(InoutConstant.CHECK_NOPASS_NORMAL, "正常流转"));
list.add(new DicTrigger(InoutConstant.CHECK_NOPASS_BACK, "出库收卡"));
list.add(new DicTrigger(InoutConstant.CHECK_NOPASS_RECORD, "流程结束"));
return list;
}
/**
* inoutSysConfPR#getSysConfData 获取当前出入库流程配置
*
* @return
* @throws Exception
*/
@DataProvider
public InoutSysConf getSysConfData(Map param) {
List list = inoutConfService.getSysConfData(param);
InoutSysConf inoutSysConf;
if (list.isEmpty()) {
inoutSysConf = new InoutSysConf();
saveSysConfData(inoutSysConf);
} else {
inoutSysConf = list.get(0);
}
return inoutSysConf;
}
/**
* inoutSysConfPR#saveSysConfData
*
* @throws Exception
* @returns
*/
@DataResolver
public String saveSysConfData(InoutSysConf data) {
inoutConfService.saveSysConfData(data);
InoutSysConf newData = new InoutSysConf();
BeanUtils.copyProperties(data, newData);
inoutManagerService.flushInoutSysConfCache(newData);
return null;
}
}