package com.ld.igds.m.view;
import com.bstek.bdf2.core.business.IUser;
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 com.ld.igds.util.ContextUtil;
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;
/**
* 出入库流程配置
*
* @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() {
IUser u = ContextUtil.getLoginUser();
return inoutConfService.getSysConfData(u.getCompanyId(),ContextUtil.subDeptId(u));
}
/**
* inoutSysConfPR#saveSysConfData
*
* @throws Exception
* @returns
*/
@DataResolver
public String saveSysConfData(InoutSysConf data) {
if(null == data.getDeptId()){
data.setDeptId(ContextUtil.subDeptId(null));
}
if(null == data.getCompanyId()){
data.setCompanyId(ContextUtil.getCompanyId());
}
inoutConfService.saveSysConfData(data);
InoutSysConf newData = new InoutSysConf();
BeanUtils.copyProperties(data, newData);
inoutManagerService.flushInoutSysConfCache(newData);
return null;
}
}