- ITGDSQ【2025-02-07】047 ➕ 2025-02-08 ✅ 2025-02-17
需求描述
IT执行
- 费用账户新增统计字段,分别统计合同费用发放及调整中的不同业务类型的数据。
- 本年合同返回发放统计
- 本年合同变化调整统计
- 本年完全发货发放统计
- 本年回款发放统计
- 本年历史合同发放
- 合同费用发放及调整列表 根据条件 创建时间为本年度,账户编码不包含2025的数据, 组织为长园深瑞继保自动化有限公司
- 将费用账户改成对应的2025年账户 ✅
- 刷新24账户余额,刷新25期初 ✅
- 修改合同费用发放逻辑,费用发放时新增判断,统一发放到对应的25年账户
工作流:
- 【费用】ERP销售合同金额更新【合同费用申请】 未做更改
APL函数
增加逻辑:失效账户重新匹配费用账户并更新对应的合同费用明细
- 【费用】【完全发货】费用发放 CompleteShipmentGrant__c
- 【费用】非【完全发货】费用扣减 IncompleteShipmentReduce__c
- 【费用】【ERP销售合同】→【差额处理】 Recal_expense__c
- 【费用】【合同政策&费用申请】3.差额处理 ContractSplit_Margin__c
- 【费用】【回款比例更新】费用发放 PaymentGrant__c
- 【合同费用】合同费用发放.控制器 CstmCtrl_RHPsb__c
- 【费用历史合同】统计日期更新.控制器 Proc_WPAwr__c
- 重新匹配历史合同发放的费用账户
- 重新匹配费用账户及合同费用明细
- 【费用】费用账户更新 Proc_h2jds__c
- 更新合同费用发放的费用账户 Proc_4PkZ6__c 未做更改
- 该函数挂在业务流<费用明细账户确认>(合同费用明细)中,用户填写费用账户,该函数更新【合同费用明细】、【合同费用发放及调整】对应的数据费用账户
- 【费用】合同政策确认后费用发放&营销公共费&大区公共费 ContractSplit_Return_Grant__c
- 74行取省区逻辑可能有误 增加筛选本年份省区的条件
- 【审批流】1.费用扣减||合同费用生成 ExpenseSplit_reduce__c
- 【审批流】2.费用拆分申请【费用发放】 ExpenseSplit_grant__c
- 【费用历史合同】回款总额更新.控制器 CstmCtrl_px2ZR__c
- 只重新匹配费用账户
- 【费用历史合同】完全发货更新.控制器 CstmCtrl_GYdyJ__c
- 只重新匹配费用账户
//================判断失效账户,失效账户重新匹配账户并修改合同费用明细数据=====================
String data_name = item["name"] as String; //合同费用明细编码
//判断失效账户
def ret_expenseAccount = Fx.object.findById("object_tlU1k__c", //查询费用账户对象
expense_account,
FQLAttribute.builder()
.columns(["_id", "name", "field_0vl12__c"]) //返回的数据id
.build(),
SelectAttribute.builder()
.build()).result() as Map;
log.info("ret_expenseAccount:" + ret_expenseAccount)
if (ret_expenseAccount) {
String judge = ret_expenseAccount["field_0vl12__c"] as String;//
if (judge != "是") {
//匹配最新的费用账户
Map account_param = ["contract_id": contract_id]
Map ContractAccount = ["ContractAccount": account_param]
Map account_propertiesMap = [:]
def (account_propertiesError, account_propertiesResult, account_propertiesErrMsg) = Fx.function.executeFunc("CstmCtrl_FEx8a__c", ContractAccount)
if (account_propertiesError) {
Fx.message.throwErrorMessage("获取费用账户配置信息失败!" + account_propertiesErrMsg);
} else {
account_propertiesMap = account_propertiesResult as Map;
}
//account_propertiesMap 参数为 account_id 费用账户ID expense_province_id 费用账户对应的省份id
if (account_propertiesMap) {
expense_account = account_propertiesMap["account_id"] as String;// 费用账户ID
String expense_province_id = account_propertiesMap["expense_province_id"] as String;// 费用-省区ID
//调用CYGUtil的更新函数
Map updateRsult = CYGUtil.updateData("object_MeS38__c", [data_name], ["field_6Iw2g__c": expense_account, "field_652he__c": expense_province_id])
log.info("更新合同费用明细数据结果:" + updateRsult)
}
}
}
//======================================================================================