0
点赞
收藏
分享

微信扫一扫

关于扩展标准单据controllerBean的方法

善解人意的娇娇 2023-02-28 阅读 35


 

关于扩展标准单据controllerBean的方法_ide

 

package com.kingdee.eas.fi.cas.app;
import com.kingdee.eas.util.app.DbUtil;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
import com.kingdee.bos.util.BOSUuid;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.fi.cas.PaymentBillEntryCollection;
import com.kingdee.eas.fi.cas.PaymentBillEntryInfo;
import com.kingdee.eas.fi.cas.PaymentBillFactory;
import com.kingdee.eas.fi.cas.PaymentBillInfo;
import com.kingdee.jdbc.rowset.IRowSet;
import com.kingdee.util.NumericExceptionSubItem;



public class PaymentBillControllerBeanEx extends PaymentBillControllerBean {

/**
*
*/
private static final long serialVersionUID = -8414589869728912088L;



@Override
protected void _audit(Context ctx, Set idSet) throws BOSException,
EASBizException {
// TODO Auto-generated method stub
super._audit(ctx, idSet);
//反写付款申请或报销单
Iterator iterator=idSet.iterator();
while(iterator.hasNext()){
String id=iterator.next().toString();
PaymentBillInfo info =PaymentBillFactory.getLocalInstance(ctx).getPaymentBillInfo(new ObjectUuidPK(id));
PaymentBillEntryCollection entries = info.getEntries();
for (int i = 0; i < entries.size(); i++) {
PaymentBillEntryInfo entryInfo = entries.get(i);
if(entryInfo.getSourceBillEntryId() != null && !"".equals(entryInfo.getSourceBillEntryId())){
String sourceBillEntryId = entryInfo.getSourceBillEntryId();
BOSUuid srcEntryUuid = BOSUuid.read(sourceBillEntryId);
String type = srcEntryUuid.getType().toString();
BigDecimal localAmt = entryInfo.getLocalAmt();
int seq = entryInfo.getSeq();
//根据来源分录id 反写返款申请单
//先根据返款申请单分录id查找已付款金额,如果有则加上本次的付款金额
String sqlcha=" select CFPayMoney, CFBIMUDF0017 from CT_CUS_ReturnapplicationE1 where FID='"+srcEntryUuid+"' ";
IRowSet rows = DbUtil.executeQuery(ctx, sqlcha);
BigDecimal CFPayMoney = BigDecimal.ZERO;
BigDecimal CFBIMUD0017 = BigDecimal.ZERO;
try {
while(rows.next()){
CFPayMoney= rows.getBigDecimal("CFPayMoney");
CFBIMUD0017=rows.getBigDecimal("CFBIMUDF0017");
}
} catch (SQLException e) {
e.printStackTrace();
}
CFPayMoney=CFPayMoney.add(localAmt);
//如果付款金额大于应返金额
if(CFPayMoney.compareTo(CFBIMUD0017)==1){
BigDecimal subtract = CFPayMoney.subtract(CFBIMUD0017);
throw new EASBizException(new NumericExceptionSubItem("999","付款单分录第"+seq+"行记录,付款金额超出返款申请单分录第"+seq+"行记录应返金额 "+subtract+"元!"));

}else{
String sql=" update CT_CUS_ReturnapplicationE1 set CFPayMoney='"+CFPayMoney+"' where FID='"+srcEntryUuid+"' ";
DbUtil.execute(ctx, sql.toString());
}


}
}
}

}









//反审核
@Override
protected void _antiAudit(Context ctx, Set idSet) throws BOSException,
EASBizException {
// TODO Auto-generated method stub
//反写付款申请或报销单
Iterator iterator=idSet.iterator();
while(iterator.hasNext()){
String id=iterator.next().toString();
PaymentBillInfo info =PaymentBillFactory.getLocalInstance(ctx).getPaymentBillInfo(new ObjectUuidPK(id));
PaymentBillEntryCollection entries = info.getEntries();
for (int i = 0; i < entries.size(); i++) {
PaymentBillEntryInfo entryInfo = entries.get(i);
if(entryInfo.getSourceBillEntryId() != null && !"".equals(entryInfo.getSourceBillEntryId())){
String sourceBillEntryId = entryInfo.getSourceBillEntryId();
BOSUuid srcEntryUuid = BOSUuid.read(sourceBillEntryId);
String type = srcEntryUuid.getType().toString();
BigDecimal localAmt = entryInfo.getLocalAmt();
//int seq = entryInfo.getSeq();
//根据来源分录id 反写返款申请单
//先根据返款申请单分录id查找已付款金额,如果有则加上本次的付款金额
String sqlcha=" select CFPayMoney from CT_CUS_ReturnapplicationE1 where fid='"+srcEntryUuid+"' ";
IRowSet rows = DbUtil.executeQuery(ctx, sqlcha);
BigDecimal CFPayMoney = BigDecimal.ZERO;
try {
while(rows.next()){
CFPayMoney= rows.getBigDecimal("CFPayMoney");
}
} catch (SQLException e) {
e.printStackTrace();
}
CFPayMoney=CFPayMoney.subtract(localAmt);
String sql=" update CT_CUS_ReturnapplicationE1 set CFPayMoney='"+CFPayMoney+"' where fid='"+srcEntryUuid+"' ";
DbUtil.execute(ctx, sql.toString());
}
}
}
super._antiAudit(ctx, idSet);

}







}

 

举报

相关推荐

0 条评论