编辑界面审核代码
var easNames = JavaImporter();
easNames.importPackage(Packages.com.kingdee.bos.dao.query);
with(easNames){
// 付款单审核之后 反写合同上上的已付款金额及未付款金额
var table = pluginCtx.getKDTable("kdtEntries");
var rowCount = table.getRowCount();
for(var i=0;i<rowCount;i++){
var contractNumber=table.getCell(i,"number").getValue(); //合同号
var amount=table.getCell(i,"amount").getValue();//这个分录付款金额
//根据合同号查找合同上的已付款金额, 总的本位币金额
var sql=" select CFPaidAmt , CFAmtDom from CT_CON_Contract where FNumber='"+contractNumber+"' ";
var aaaa=SQLExecutorFactory.getRemoteInstance(sql).executeSQL( );
var CFPaidAmt="0.0";
var CFAmtDom="0.0";
while(aaaa.next()){
CFPaidAmt=aaaa.getDouble("CFPaidAmt");
CFAmtDom=aaaa.getDouble("CFAmtDom");
}
//合同上的已有金额+本次付款金额
// com.kingdee.eas.util.client.MsgBox.showInfo("本次付款金额"+amount);
// com.kingdee.eas.util.client.MsgBox.showInfo("已付款金额"+CFPaidAmt);
amount1=new java.math.BigDecimal(amount.toString());
CFPaidAmt1=new java.math.BigDecimal(CFPaidAmt.toString());
var sumPayMoney=amount1.add(CFPaidAmt1);
//合同上的未付款金额=合同上总的本位币金额-系统已付款金额-本次付款金额
CFAmtDom1=new java.math.BigDecimal(CFAmtDom.toString());
CFPaidAmt1=new java.math.BigDecimal(CFPaidAmt.toString());
var lostMoney=CFAmtDom1.subtract(CFPaidAmt1).subtract(amount1);
var sql2=" update CT_CON_Contract set CFPaidAmt='"+sumPayMoney+"' ,CFUnPaidAmt='"+lostMoney+"' where FNumber='"+contractNumber+"' ";
// com.kingdee.eas.util.client.MsgBox.showInfo(sql2);
com.kingdee.eas.csinterface.syncdatabase.SQLFacadeFactory.getRemoteInstance().exeSQL(sql2);
}
}
序时簿界面的审核代码
var easNames = JavaImporter();
easNames.importPackage(Packages.com.kingdee.bos.dao.query);
with(easNames){
//
var tblMain=pluginCtx.getKDTable("tblMain");
var selectRows=com.kingdee.bos.ctrl.kdf.table.util.KDTableUtil.getSelectedRows(tblMain);
for( var i=0; i<selectRows.length; i++) {
var id= tblMain.getCell(selectRows[i],"id").getValue();
// com.kingdee.eas.util.client.MsgBox.showInfo(id);
var sqlcha=" select CFNumber , FAmount from T_CAS_PaymentBillEntry where FPAYMENTBILLID ='"+id+"' ";
var aaaa=SQLExecutorFactory.getRemoteInstance(sqlcha).executeSQL( );
var contractNumber="";
var amount="";
if(aaaa.next()){
contractNumber=aaaa.getString("CFNumber");
amount=aaaa.getDouble("FAmount");
// com.kingdee.eas.util.client.MsgBox.showInfo( CFKDTEXTFIELD);
//根据合同号查找合同上的已付款金额, 总的本位币金额
var sql=" select CFPaidAmt , CFAmtDom from CT_CON_Contract where FNumber='"+contractNumber+"' ";
var aaaa=SQLExecutorFactory.getRemoteInstance(sql).executeSQL( );
var CFPaidAmt="0.0";
var CFAmtDom="0.0";
while(aaaa.next()){
CFPaidAmt=aaaa.getDouble("CFPaidAmt");
CFAmtDom=aaaa.getDouble("CFAmtDom");
}
//合同上的已有金额+本次付款金额
// com.kingdee.eas.util.client.MsgBox.showInfo("本次付款金额"+amount);
// com.kingdee.eas.util.client.MsgBox.showInfo("已付款金额"+CFPaidAmt);
amount1=new java.math.BigDecimal(amount.toString());
CFPaidAmt1=new java.math.BigDecimal(CFPaidAmt.toString());
var sumPayMoney=amount1.add(CFPaidAmt1);
//合同上的未付款金额=合同上总的本位币金额-系统已付款金额-本次付款金额
CFAmtDom1=new java.math.BigDecimal(CFAmtDom.toString());
CFPaidAmt1=new java.math.BigDecimal(CFPaidAmt.toString());
var lostMoney=CFAmtDom1.subtract(CFPaidAmt1).subtract(amount1);
var sql2=" update CT_CON_Contract set CFPaidAmt='"+sumPayMoney+"' ,CFUnPaidAmt='"+lostMoney+"' where FNumber='"+contractNumber+"' ";
// com.kingdee.eas.util.client.MsgBox.showInfo(sql2);
com.kingdee.eas.csinterface.syncdatabase.SQLFacadeFactory.getRemoteInstance().exeSQL(sql2);
// com.kingdee.eas.util.client.MsgBox.showInfo(sql2);
}
}
pluginCtx.getKDTable("tblMain").refresh();
}