构建状态图,为每一条状态转换事件设定方法名
构建单据类:在类路径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);
欢迎光临 临海小憇 (http://czidea.cn/) | Powered by Discuz! X3.3 |