泛微OA 定时任务、bos接口调用

一、背景:根据中间表单据状态,定时生成单据。
打开weaver环境,在WEB-INF找到schedule.xml
加载配置的包和时间表达式。编写对应定时任务执行的类。
泛微OA 定时任务、bos接口调用_第1张图片
泛微OA 定时任务、bos接口调用_第2张图片
二、读取单据内容

//主表内容
//      mainInfo.getProperty();
//      int propertyCount=mainInfo.getPropertyCount();
//      for(int m=0;m
//          mainInfo.getProperty(m).getName();
//          mainInfo.getProperty(m).getValue().toString();
//          
//          System.out.println(m+"mainTableInfo---"+mainInfo.getProperty(m).getName()+"----"+mainInfo.getProperty(m).getValue().toString());
//      }
//      //读取明细表
//      DetailTableInfo tabInfo=req.getDetailTableInfo();
//      int detailTabCount=tabInfo.getDetailTableCount();
//      for(int i=0;i
//          DetailTable tab=tabInfo.getDetailTable(i);
//          int rowCount=tab.getRowCount();
//          for(int j=0;j
                System.out.println("wlh"+tab.getRow(j).get;
                tab.getRow(j).getCell().
//              int cellCount=tab.getRow(j).getCellCount();
//              for(int k=0;k
//                  System.out.println("k值 对应的cell值"+k+"--------------"+tab.getRow(j).getCell(k).getValue().toString()+"----");
//              }
//              
//          }
//      }

三、调用金碟接口
1、单据审核回转eas单据状态
2、先登录
3、调用接口方法

package com.kingdee.eas.weaver.app;

import java.rmi.RemoteException;

import javax.xml.rpc.ServiceException;

import oascrap.client.WSInvokeException;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;
import _1._0._0._127.ormrpc.services.WSOAScrap.WSOAScrapSrvProxy;
import _1._0._0._127.ormrpc.services.WSOAScrap.WSOAScrapSrvProxyProxy;
import _1._0._0._127.ormrpc.services.WSOAScrap.WSOAScrapSrvProxyServiceLocator;

public class StatusControl implements Action {

    public void updateStatus(String status) throws WSInvokeException, RemoteException, ServiceException{
//      EASLoginProxyServiceLocator loginLocator = new  EASLoginProxyServiceLocator();
//      EASLoginProxy loginProxy = loginLocator.getEASLogin();  
//      System.out.println("------ 开始登录服务器 .... ");  
//      WSContext context = loginProxy.login("user", "", "eas", "sunrise18", "L2", 2); 
//      System.out.println("------ 登陆成功,SessionID:" + context.getSessionId()); 
        WSOAScrapSrvProxyServiceLocator locator=new WSOAScrapSrvProxyServiceLocator();
        WSOAScrapSrvProxy oaProxy=locator.getWSOAScrap();
        String reslt=oaProxy.updateStatus("tEIAAACgrNC/vK1R", "4");
        System.out.println("测试结果"+reslt);
//      boolean b=false;
//      WSOAScrapSrvProxyProxy proxy=new WSOAScrapSrvProxyProxy();
//      try {
//          proxy.updateStatus("123", status);
//      } catch (WSInvokeException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
//      } catch (RemoteException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
//      }
//      System.out.println("执行更新eas废料申请单状态"+b);
    }

    @Override
    public String execute(RequestInfo req) {
        // TODO Auto-generated method stub
        String str=req.getRequestid();
        System.out.println("requestID"+str);
        return "1";
    }

}

泛微OA 定时任务、bos接口调用_第3张图片
后来由于某些原因,被强制用中间表处理,所以暂时没用到接口。接口是备选方案。

你可能感兴趣的:(java)