本帖最后由 csq39 于 2017-9-15 20:14 编辑
构建状态图,为每一条状态转换事件设定方法名 构建单据类:在类路径io.raycom.business.support.documents中编写单据状态转换类,命名规则:单据名称+“Doc”,例如:ImportApplyDoc 单据类编写规则 //填写单据相关属性
{
rdata.set("docTypeCode", "rksq");//单据类型编码
rdata.set("transactionTypeCode", "biz");//事物处理类型
rdata.set("codeType", "importApplyStatus");//状态分类编码
}
//填写单据相关属性
private static final String FINISH_STATES="ywc";
private static final String PROCESSING_STATES="clz";
private static final String FAIL_CONFIRM_STATES="wtg";
private static final String WAITING_HANDLE_STATES="dcl";
private static final String WAITING_CONFIRM_STATES="dqr";
//填写单据相关状态变化事件备注,对应状态图中每一步操作的说明
private static final String FINISH_REMARKS="入库申请单处理完成,生成通知单: ${importAdviceMstId}";
private static final String PROCESSING_REMARKS="入库申请处理中,生成通知单: ${importAdviceMstId}"; 编写构造方法 /**
* 调用的update方法
*/public void updateDocStatusDo(RData rdata){
utplDocDao.updateImportApplyStatus(rdata);
}public ImportApplyDoc(String importApplyMstId) { super(importApplyMstId);
} 编写事件处理方法 根据情况决定是否需要参数 public void finished(String importAdviceMstId) {
rdata.set("importAdviceMstId", importAdviceMstId);//content使用
rdata.set("status", FINISH_STATES);
rdata.set("remarks", FreeMarkers.renderString(FINISH_REMARKS, rdata));
updateDocStatus(rdata);
} 设置基本属性
编写dao方法,在UtplDocDao.java和UtplDocDao.xml中编写对应状态更新sql 在类DocHelperon中编写获取方法,例如:
public static ImportApplyDoc getImportApplyDocById(String importApplyMstId){
return new ImportApplyDoc(importApplyMstId);
} 附:使用方法 DocHelper.getImportApplyDocById(importApplyMstId).finished(importAdviceMstId);
|