ccb批次getJob()方法四种实现方式

本文详细介绍了如何通过查询服务协议ID并创建工作单元列表,进而为每个服务协议ID分配相应的线程工作单元,并最终生成工作作业。重点在于实现自动化处理流程,提高工作效率。

1)通过threadWorkUnit.setPrimaryId(saId);  

 public JobWork getJobWork() {
  Query adjustmentUploadSAQuery = createQuery("from AdjustmentUpload au where au.serviceAgreementId != ' ' and au.adjustmentUploadStatus = 'P'  ");
  adjustmentUploadSAQuery.addResult("saId", "au.serviceAgreementId");
  adjustmentUploadSAQuery.orderBy("saId");
  adjustmentUploadSAQuery.groupBy("saId");

  List threadWorkUnitList = new ArrayList();
  for (Iterator iter = adjustmentUploadSAQuery.list().iterator(); iter.hasNext();) {
   ServiceAgreement_Id saId = (ServiceAgreement_Id) iter.next();
   ThreadWorkUnit threadWorkUnit = new ThreadWorkUnit();
   logger.debug("Service Agreement Id " + saId.getIdValue() + " will be processed.");
   threadWorkUnit.setPrimaryId(saId);
   threadWorkUnitList.add(threadWorkUnit);
  }
  return createJobWorkForThreadWorkUnitList(threadWorkUnitList);
 }

                    
2)                 
 public JobWork getJobWork() {                         
  List workUnits = new ArrayList();                   
  ThreadWorkUnit workUnit = new ThreadWorkUnit();     
  workUnits.add(workUnit);                            
  return createJobWorkForThreadWorkUnitList(workUnits);
 }  
3)                                     

 public JobWork getJobWork() {
  try {
   validateSoftParameters();
   validateAdjustmentStagingControls();
  } catch (RunAbortedException e) {
   parameterMessage = e.getServerMessage();
  } catch (ApplicationError exception) {
   parameterMessage = exception.getServerMessage();
  }

  String queryString = "FROM AdjustmentUpload as ap where ap.adjustmentUploadStatus = :adjStgUplStatus AND ap.adjustmentStagingControlID.adjustmentStagingControlStatus = :adjStgCtlStatus";

  Query uploadQuery = createQuery(queryString);
  uploadQuery.bindLookup("adjStgUplStatus", AdjustmentUploadStatusLookup.constants.PENDING);
  uploadQuery.bindLookup("adjStgCtlStatus", AdjustmentStagingControlStatusLookup.constants.IN_PROGRESS);

  return createJobWorkForEntityQuery(uploadQuery);
 }

 public boolean executeWorkUnit(ThreadWorkUnit unit) throws ThreadAbortedException, RunAbortedException         
       {                                                                                                                                                                                                                                                                                            
         try                                                                                                         
         {                                                                                                           
           AdjustmentUpload_Id id = (AdjustmentUpload_Id)unit.getPrimaryId();                                        
           ......
        }

4)
    public JobWork getJobWork() {
  DefaultJobWork work = new DefaultJobWork();
  DefaultThreadWork tw = new DefaultThreadWork();
  tw.addThreadWorkUnit(new ThreadWorkUnit());
  work.add(tw);
  return work;
 }   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值