支出/收入合同结算作废功能开发

This commit is contained in:
zhangzhiguo 2025-06-06 15:06:09 +08:00
parent a01328a5c6
commit 8fc5d49a18
1 changed files with 50 additions and 44 deletions

View File

@ -22,54 +22,60 @@ public class InContractSettleFiConfirmWorkFlowPlugin implements IWorkflowPlugin
String businessKey = execution.getBusinessKey(); String businessKey = execution.getBusinessKey();
String entityNumber = execution.getEntityNumber(); String entityNumber = execution.getEntityNumber();
DynamicObject inContractSettle = BusinessDataServiceHelper.loadSingle(businessKey, entityNumber); DynamicObject inContractSettle = BusinessDataServiceHelper.loadSingle(businessKey, entityNumber);
DynamicObject inFinaceconfirm =BusinessDataServiceHelper.newDynamicObject("zcgj_ec_in_finaceconfirm");
inFinaceconfirm.set("zcgj_ec_in_contract_sett",inContractSettle.getLong("id")); boolean isReversabillid = inContractSettle.getBoolean("zcgj_is_reversabillid");
inFinaceconfirm.set("zcgj_ec_in_contract_name",inContractSettle.getString("billname")); boolean isInvalid = inContractSettle.getBoolean("zcgj_is_invalid");
inFinaceconfirm.set("zcgj_ec_in_contractid", inContractSettle.getLong("id")); //id文本冗余 if(!isReversabillid && !isInvalid) {
inFinaceconfirm.set("zcgj_billname",inContractSettle.getString("billname")); //生成支出财务确认单 start
inFinaceconfirm.set("zcgj_contract",inContractSettle.getDynamicObject("contract")); DynamicObject inFinaceconfirm =BusinessDataServiceHelper.newDynamicObject("zcgj_ec_in_finaceconfirm");
inFinaceconfirm.set("zcgj_contattr",inContractSettle.getDynamicObject("contattr"));
inFinaceconfirm.set("zcgj_project",inContractSettle.getDynamicObject("project"));
inFinaceconfirm.set("zcgj_period",inContractSettle.getDynamicObject("period"));
inFinaceconfirm.set("zcgj_begindate",inContractSettle.getDate("begindate"));
inFinaceconfirm.set("zcgj_enddate",inContractSettle.getDate("enddate"));
inFinaceconfirm.set("zcgj_conttotaloftaxamount",inContractSettle.getBigDecimal("conttotaloftaxamount"));
inFinaceconfirm.set("zcgj_description",inContractSettle.getString("description"));
inFinaceconfirm.set("zcgj_currency",inContractSettle.getDynamicObject("currency"));
inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg"));
// getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer"));
inFinaceconfirm.set("billstatus","A");
DynamicObjectCollection itementry = inContractSettle.getDynamicObjectCollection("itementry"); inFinaceconfirm.set("zcgj_ec_in_contract_sett",inContractSettle.getLong("id"));
inFinaceconfirm.set("zcgj_ec_in_contract_name",inContractSettle.getString("billname"));
inFinaceconfirm.set("zcgj_ec_in_contractid", inContractSettle.getLong("id")); //id文本冗余
inFinaceconfirm.set("zcgj_billname",inContractSettle.getString("billname"));
inFinaceconfirm.set("zcgj_contract",inContractSettle.getDynamicObject("contract"));
inFinaceconfirm.set("zcgj_contattr",inContractSettle.getDynamicObject("contattr"));
inFinaceconfirm.set("zcgj_project",inContractSettle.getDynamicObject("project"));
inFinaceconfirm.set("zcgj_period",inContractSettle.getDynamicObject("period"));
inFinaceconfirm.set("zcgj_begindate",inContractSettle.getDate("begindate"));
inFinaceconfirm.set("zcgj_enddate",inContractSettle.getDate("enddate"));
inFinaceconfirm.set("zcgj_conttotaloftaxamount",inContractSettle.getBigDecimal("conttotaloftaxamount"));
inFinaceconfirm.set("zcgj_description",inContractSettle.getString("description"));
inFinaceconfirm.set("zcgj_currency",inContractSettle.getDynamicObject("currency"));
inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg"));
// getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer"));
inFinaceconfirm.set("billstatus","A");
DynamicObjectCollection entryEntity1 = inFinaceconfirm.getDynamicObjectCollection("zcgj_itementry"); DynamicObjectCollection itementry = inContractSettle.getDynamicObjectCollection("itementry");
entryEntity1.clear();
BigDecimal oftaxamountAll = BigDecimal.ZERO; DynamicObjectCollection entryEntity1 = inFinaceconfirm.getDynamicObjectCollection("zcgj_itementry");
BigDecimal amountAll = BigDecimal.ZERO; entryEntity1.clear();
BigDecimal taxamtAll = BigDecimal.ZERO; BigDecimal oftaxamountAll = BigDecimal.ZERO;
for (DynamicObject dynamicObject : itementry) { BigDecimal amountAll = BigDecimal.ZERO;
DynamicObject item = entryEntity1.addNew(); BigDecimal taxamtAll = BigDecimal.ZERO;
item.set("zcgj_payitem",dynamicObject.getDynamicObject("payitem")); for (DynamicObject dynamicObject : itementry) {
BigDecimal oftaxamount = dynamicObject.getBigDecimal("oftaxamount"); DynamicObject item = entryEntity1.addNew();
item.set("zcgj_oftaxamount",oftaxamount); item.set("zcgj_payitem",dynamicObject.getDynamicObject("payitem"));
oftaxamountAll = oftaxamountAll.add(oftaxamount); BigDecimal oftaxamount = dynamicObject.getBigDecimal("oftaxamount");
BigDecimal amount = dynamicObject.getBigDecimal("amount"); item.set("zcgj_oftaxamount",oftaxamount);
item.set("zcgj_amount",amount); oftaxamountAll = oftaxamountAll.add(oftaxamount);
amountAll = amountAll.add(amount); BigDecimal amount = dynamicObject.getBigDecimal("amount");
item.set("zcgj_rate",dynamicObject.getBigDecimal("rate")); item.set("zcgj_amount",amount);
BigDecimal taxamt = dynamicObject.getBigDecimal("taxamt"); amountAll = amountAll.add(amount);
item.set("zcgj_taxamt",taxamt); item.set("zcgj_rate",dynamicObject.getBigDecimal("rate"));
taxamtAll = taxamtAll.add(taxamt); BigDecimal taxamt = dynamicObject.getBigDecimal("taxamt");
item.set("zcgj_remark",dynamicObject.getString("remark")); item.set("zcgj_taxamt",taxamt);
taxamtAll = taxamtAll.add(taxamt);
item.set("zcgj_remark",dynamicObject.getString("remark"));
}
inFinaceconfirm.set("zcgj_oftaxamount_all",oftaxamountAll);
inFinaceconfirm.set("zcgj_amount_all",amountAll);
inFinaceconfirm.set("zcgj_taxamt_all",taxamtAll);
SaveServiceHelper.saveOperate("zcgj_ec_in_finaceconfirm", new DynamicObject[]{inFinaceconfirm}, null);//支出合同实体
//生成支出财务确认单 end
} }
inFinaceconfirm.set("zcgj_oftaxamount_all",oftaxamountAll);
inFinaceconfirm.set("zcgj_amount_all",amountAll);
inFinaceconfirm.set("zcgj_taxamt_all",taxamtAll);
SaveServiceHelper.saveOperate("zcgj_ec_in_finaceconfirm", new DynamicObject[]{inFinaceconfirm}, null);//支出合同实体
//生成支出财务确认单 end
IWorkflowPlugin.super.notify(execution); IWorkflowPlugin.super.notify(execution);
} }