提示
原始需求:接收到的第一版需求 需求增补:后续对原始需求的变更 执行方案概述:初次给出的方案 时间队列:方案执行进度,快捷键 Alt + 2,插入时间行
任务列表
- 【深瑞】认款变更单权限处理 task @处理中 🔼 📅 2025-08-15 ✅ 2025-08-11
需求描述
原始需求
CRM报表,在认款单认款审批结束后,根据合同归属省区,分配权限给营销同事;对下认款变更单的,同样在认款变更单审批结束后,根据变更后的合同归属省区,分配权限给营销同事。最终,营销同事能够在财务-回款数据(营销)这一报表中看到相关回款数据。
需求增补(需求确认)
IT执行
执行方案概述
/**
* @author 王亚新
* @codeName 【深瑞】变更明细刷新认款明细
* @description 初始化
* @createTime 2025-08-11
* @bindingObjectLabel
* @bindingObjectApiName
* @函数需求编号
*/
//符合条件的数据id
List ids = context.objectIds as List
def (boolean error, List dataList, String errorMessage) = Fx.object.findByIds("object_RL19X__c", ids, FQLAttribute.builder().columns(["_id", "name","field_1p646__c"]).build())
dataList.each { item ->
Map map = item as Map
//处理业务逻辑
String id = map["_id"] as String
String renId = map["field_1p646__c"] as String
//根据ID查询出所有明细
def detailList = CYGUtil.queryDataList("object_87bl9__c",
["_id","name","field_0cTql__c"],
QueryTemplate.AND(["field_djT11__c": QueryOperator.EQ(id)])) as List
//遍历明细获得销售合同id列表
List<String> contractIds = []
detailList.each { detail ->
Map detailMap = detail as Map
String contractId = detailMap["field_0cTql__c"] as String
if (contractId) {
contractIds.add(contractId)
}
}
//查询销售合同的销售代表,放入列表
List<String> salesReps = []
if (contractIds) {
def contractList = Fx.object.findByIds("SaleContractObj", contractIds, FQLAttribute.builder().columns(["_id", "name","field_5vQgz__c"]).build()).result() as List
contractList.each { contract ->
Map contractMap = contract as Map
List salesRep = contractMap["field_5vQgz__c"] as List
if (salesRep) {
salesReps.addAll(salesRep)
}
}
}
//更新相关团队
CYGUtil.updateRelatedTeam("object_jlu93__c",renId,salesReps)
//更新原数据为 已更新
Fx.object.update("object_RL19X__c", id, ["it_update__c": "1"], UpdateAttribute.builder().triggerWorkflow(false).build())
}时间队列
- 2025-08-11 16:26
- 计划任务刷新历史数据