临海小憇

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4560|回复: 0

单据状态转换通用方法

[复制链接]

100

主题

121

帖子

8552

积分

论坛元老

Rank: 8Rank: 8

积分
8552
发表于 2017-9-15 20:08:50 | 显示全部楼层 |阅读模式
本帖最后由 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);

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|临海小憇 ( 鲁ICP备16010828号-2

GMT+8, 2024-3-29 14:27 , Processed in 0.047165 second(s), 7 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表