用友nc65 uap开发 nc.vo.bd.meta.BatchOperateVO(批量操作的包装VO)转aggvo

用友nc65 uap开发 nc.vo.bd.meta.BatchOperateVO(批量操作的包装VO)转aggvo
1.目标:调用BatchOperateVO进行增删改查操作,需要对该vo中的某几个字段进行操作。此案例就是要在增加和修改时进行code唯一性校验,此时我们就要取出vo。
2.源代码
public class H303110120MaintainImpl extends AceH303110120PubServiceImpl
		implements IH303110120Maintain {

	@Override
	public Extracttype[] query(IQueryScheme queryScheme) throws BusinessException {
		return super.pubquerybasedoc(queryScheme);
	}

	@Override
	public BatchOperateVO batchSave(BatchOperateVO batchVO) throws BusinessException {
		BatchSaveAction<Extracttype> saveAction = new BatchSaveAction<Extracttype>();
		BatchOperateVO retData = saveAction.batchSave(batchVO);
		return retData;
	}
3.我们要对BatchOperateVO转换为aggvo或者vo
//zl  唯一性校验
		IUnique service=NCLocator.getInstance().lookup(IUnique.class);
		Pactendc[] dvd = null;
		if(batchVO.getAddObjs()!=null&&batchVO.getAddObjs().length>0 ){
			if (batchVO.getAddObjs()[0] instanceof Pactendc) {
				Object[] aggDvd =	batchVO.getAddObjs();
				dvd = new Pactendc[aggDvd.length] ;
				for(int i=0;i<aggDvd.length;i++){
					dvd[i] = ((Pactendc)aggDvd[i]);
				}
			}
		}
		//修改
		if(batchVO.getUpdObjs()!=null&&batchVO.getUpdObjs().length>0 ){
			if (batchVO.getUpdObjs()[0] instanceof Pactendc) {
				Object[] aggDvd =	batchVO.getUpdObjs();
				dvd = new Pactendc[aggDvd.length] ;
				for(int i=0;i<aggDvd.length;i++){
					dvd[i] = ((Pactendc)aggDvd[i]);
				}
			}
		}
		if (dvd!=null) {
			boolean bool=service.checkUnique("fdc_pr_myzulx", dvd[0].getAttributeValue("code"),
					dvd[0].getAttributeValue("pk_group"),
					dvd[0].getAttributeValue("pk_org"));
			if (bool) {
				ExceptionUtils.wrappBusinessException("提示:违反唯一性约束,已存在该编码:"+dvd[0].getAttributeValue("code"));
			}
		}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值