NCV6X-信息交换平台技术红皮书(5)

1970-01-01 08:00

/** * 在此处简要描述此类的功能 * *

* 在此处添加此类的描述信息 *

* * Create on 2006-4-6 16:00:51 * * @author ufsoft * @version Your Project Ver5.0 @since V5 */ public class QueryPlugin extends nc.bs.pfxx.plugin.AbstractPfxxPlugin { // 2.查询此单据是否已经被导入过,有三个方法,具体使用哪一个请参考方法说明javadoc // 1.得到转换后的VO数据,取决于向导第一步注册的VO信息 CommonQueryVO resvo = (CommonQueryVO) vo; KeyValueVO[] keyValueVOs = resvo.getConditions(); int n = keyValueVOs.length; String[] keys = new String[n]; for (int i = 0; i < n; i++) { } keys[i] = keyValueVOs[i].getValue(); /** * 将由XML转换过来的VO导入NC系统。业务插件实现此方法即可。
* 请注意,业务方法的校验一定要充分 * * @param vo * 转换后的vo数据,在NC系统中可能为 * 。 * @param swapContext * 各种交换参数,公司,帐簿,接受方,发送方,主体帐簿等等 * @param aggvo * 辅助信息vo * @return * @throws BusinessException * @date 2006-1-11 */ protected Object processBill(Object vo, ISwapContext swapContext, ValueObject,SuperVO,AggregatedValueObject,IExAggVO等 AggxsysregisterVO aggvo) throws BusinessException { 第 18 页

// 1) String vopk = PfxxPluginUtils.queryBillPKBeforeSaveOrUpdate(ufvo); // 2) String vopk = // // 3) String vopk = // PfxxPluginUtils.queryBillPKBeforeSaveOrUpdate(ufvo,resvo // .getPk_corp(),resvo.getPk_glogBook()); PfxxPluginUtils.queryBillPKBeforeSaveOrUpdate(ufvo,resvo.getPk_corp); // 3. 如果单据设置有辅助信息,xsysvo为用户配置的具体辅助信息 // 4.如果此单据没有导入过,那么准备保存新单据,保存单据前请进行必要的数据检查,并// TODO Logger.info(\如果此单据没有导入过,保存新单据...\ // 5.如果此单据已经导入过,请调用// ufvo)检查单据是否允许更新 // 如果不允许更新,此方法会抛出业务异常 // TODO Logger.info(\如果单据已经导入过则进行单据更新...\ // !!!!测试转换后的单据数据,正式代码里请删除 // Document doc = XMLUtil.getNewDocument(); // new com.thoughtworks.xstream.XStream().toXML(resvo,doc); // try // { // FileUtils.writeDocToXMLFile(doc, // PfxxServerSidePathVocabulary.EXPORTBILLS_PATH+ // \ // } catch (java.io.IOException e) // { // e.printStackTrace(); // } // !!!!测试代码结束 // !!!!查询NC数据,通过回执返回到外系统示例代码开始 Document resdoc = null; /* 获取导出服务 */ IPFxxEJBService runner = PfxxUtils.lookUpPFxxEJBService(); try { 给出明确的业务异常... // PfxxPluginUtils.checkBillCanBeUpdate(UfinterfaceVO // /* 查询需要导出的VO,这里查全部,实际应用应该通过XML传递条件过来进行查询 */ IAccsubjDataQuery queryService = 第 19 页

NCLocator.getInstance().lookup(IAccsubjDataQuery.class); // Collection col = (new // AccsubjVO[] vos = queryService.queryAccsubjVosByPks(keys); nc.bs.dao.BaseDAO()).retrieveByClause(CommonQueryVO.class,\ /* 实例代码仅演示ValueObject,如果是AGGVO请修改 */ resdoc = runner.exportBills(vos, swapContext.getAccount(), //get ids from document and insert to db String[] docids = new String[vos.length]; NodeList int total=basdocList.getLength(); for(int i=0;i

} } // 7.准备返回值,此函数的返回值,最终会以字符串的形式返回给外系统, // 对于普通单据可以返回NC系统生成的PK值,对于凭证可能返回凭证号,具体视单据而定 // 对于查询插件要求返回org.w3c.dom.Node[]数组 或者org.w3c.dom.Node return resdoc; 回执结果

CORPe40702bkjkmquery kjkm1e9a8164U860.xml 1 单据CORPe40702bkjkmquery开始处理...单据CORPe40702bkjkmquery处理完毕! N True 01 2007 Y 0 01 2007 0001 N N 人民币 应收利息 第 21 页

N N N 000111100000000009RI 0001 资产 false 第 22 页


NCV6X-信息交换平台技术红皮书(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:部编版语文二年级上册期中测试题(3套-附答案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: