一、背景:根据中间表单据状态,定时生成单据。
打开weaver环境,在WEB-INF找到schedule.xml
加载配置的包和时间表达式。编写对应定时任务执行的类。
二、读取单据内容
//主表内容
// mainInfo.getProperty();
// int propertyCount=mainInfo.getPropertyCount();
// for(int m=0;m<propertyCount;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<detailTabCount;i++){
// DetailTable tab=tabInfo.getDetailTable(i);
// int rowCount=tab.getRowCount();
// for(int j=0;j<rowCount;j++){
System.out.println("wlh"+tab.getRow(j).get;
tab.getRow(j).getCell().
// int cellCount=tab.getRow(j).getCellCount();
// for(int k=0;k<cellCount;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";
}
}
后来由于某些原因,被强制用中间表处理,所以暂时没用到接口。接口是备选方案。