- 流程编号:ITGDSQ【2024-12-10】015 ➕ 2024-12-18 🛫 2024-12-18 📅 2024-12-21 ✅ 2025-01-09
需求内容: 深瑞 逻辑调整 数据操作 字段调整
24年费用账户结转为25年费用账户:
24年12月31日凌晨,24年有效的及非汇总类型的费用账户,创建并结转到25年费用账户;
取24年12月31日凌晨费用账户的金额,24年的本级账户余额=25年的账户期初结转金额,期初结转金额可以后期人工修改。
(CRM建议,先创建25年费用账户,24年的本级账户余额=25年的账户期初结转金额,24年12月31日凌晨再刷新一版数据)
需求附件:
24年费用账户结转.jpg
IT执行:复制逻辑
新建计划任务,编写函数,依次复制【组织】、【大区汇总】、【省区汇总】、【大区公共】、【个人】、【省区公共】的费用账户,复制时修改“24”为“25” ;将【账户期初结转金额】取值【本级账户余额】的值,【本级账户余额】置空解决方案:
-
复制所有费用账户 🆔 68aft1 ✅ 2024-12-19
新建【中转标识】字段,该字段存储源数据的id编写业务类型为【组织】的费用账户的逻辑代码(^97f149) 原来数据为23编写【汇总】、【公共】账户逻辑代码(^7c36f5),并执行完毕。 原数据量73【个人】账户复制。原数据量287
-
与需求人确认费用账户数据 🆔 y0x91i ⛔ 68aft1 🛫 2024-12-19 ✅ 2024-12-19问题: - 哪些组织的哪些账户需要新建25年费用账户 【深瑞】的有效账户需要复制新建
- 根据24年费用账户新建25年费用账户的逻辑,具体需要保留哪些字段
- 新建后费用账户是否需要同步到财务共享
沟通逻辑:
- 费用-省区、费用-大区复制新建25年数据。
账户负责人需要先设置为财务【林燕君】。- 新建24年账户场景和25年账户场景
IT执行: 复制逻辑
- 复制新建25年费用-大区、25年费用-省区。2025年费用-大区.pdf 2025费用-省区.pdf
- 逻辑代码(^37b3e5)
- 12-31 24年账户本级账户余额结转到25年账户的期初结转余额中
- 新建刷新数据逻辑计划任务 ➕ 2024-12-27 ✅ 2024-12-30
- 修改有关费用账户的对象名称和字段名称
- 24年合同费用额度更名为合同费用额度
- 历史合同费用额度更名为23年及以前合同费用额度
- 自定义菜单项 历史合同费用发放更改为23年及以前合同费用发放
- 修改账户名称,前加2025 √ 推送顺序:
- 大区:2025华东大区汇总
- 省区:2025上海汇总
- 个人:2025上海李红梅 24转25费用账户.png 2024-12-31-23 : 55 本级账户余额刷新到期初账户余额中 2025-01-01-00 : 30 刷新个人账户上级汇总余额
问题汇总
- 订阅的报表推送的数据和现在系统的数据不一致:推送报表数据为离线数据,是截止到昨天的数据 解决:可尝试修改为推送实时数据
- 汇总账户期初没有数据:期初余额为对应24年账户【本级账户余额】
- 24年的费用发放更新到了25年账户:【费用明细账户确认】的时候选到了25年的费用账户
操作: 删除测试费用账户 2024测试大区汇总、2024测试省区汇总、2024测试省区公共、2024测试省区欧阳
/**
* @author 王亚新
* @objectName object_gdJez__c
* @codeName 【合同费用发放及调整】更新费用账户
* @description 创建时间是25年,费用账户是24年。将24年费用账户更改为对应的25年费用账户
* @createTime 2025-02-08
* @函数需求编号
*/
String data_id = context.data._id as String; //数据id
String fee_account_id = context.data.field_8kMct__c as String; //费用账户的id
if (fee_account_id) {
//根据费用账户的id查询费用账户 获取其对应的25年费用账户id(字段【中转寄存】中的值)
def ret = Fx.object.findById(
"object_tlU1k__c", //查询费用账户对象
fee_account_id,
FQLAttribute.builder()
.columns(["_id", "name", "transfer_storage__c"])
.build(),
SelectAttribute.builder()
.build()
).result() as Map;
String fee_account_id_25 = ret["transfer_storage__c"] as String; //25年费用账户id
log.info("25年费用账户id:" + fee_account_id_25)
if (fee_account_id_25) {
//更新合同费用发放及调整的费用账户字段为25年费用账户id
def (Boolean error, Map data, String errorMessage) = Fx.object.update("object_gdJez__c", data_id, ["field_8kMct__c": fee_account_id_25], UpdateAttribute.builder().triggerWorkflow(true).build())
if (error) {
log.info("更新合同费用发放及调整的费用账户字段为25年费用账户id失败:" + errorMessage)
} else {
log.info("更新数据成功!")
}
} else {
log.info("费用账户对应的25年费用账户不存在: " + ret["name"])
}
} else {
log.info("费用账户为空: " + context.data.name)
}
/**
* @author 王亚新
* @objectName object_JNX5s__c
* @codeName 【23年及以前合同费用额度】刷新费用账户 费用账户 包含 24 ; 统计日期 晚于等于 2020-01-01 ; 未发放费用额度 不等于 0.0
* @description 25年新建数据取的是24年费用账户,需要刷到25年费用账户 计划任务函数
* @createTime 2025-01-03
* @函数需求编号
*/
//符合条件的数据id
List ids = context.objectIds as List
def (boolean error, List dataList, String errorMessage) = Fx.object.findByIds("object_JNX5s__c", ids, FQLAttribute.builder().columns(["_id", "name", "field_2sbZX__c"]).build())
dataList.each { item ->
Map map = item as Map
String data_id = map["_id"] as String //数据id
String moneyAccount = map["field_2sbZX__c"] as String //费用账户id
//处理业务逻辑
def (Boolean error_find, Map data, String errorMessage_find) = Fx.object.findById("object_tlU1k__c", //费用账户api
moneyAccount, //数据id
FQLAttribute.builder()
.columns(["_id", "name", "transfer_storage__c"]) //需要返回的字段
.build(),
SelectAttribute.builder()
.build())
String newMoneyAccount = data["transfer_storage__c"] as String//中转寄存
log.info("25年费用账户:" + newMoneyAccount)
//更新当前数据的费用账户
def (Boolean error_updata, Map data_updata, String errorMessage_updata) = Fx.object.update("object_JNX5s__c", data_id,
["field_2sbZX__c": newMoneyAccount], UpdateAttribute.builder().triggerWorkflow(false).build())
if (error_updata) {
log.error("获取对象异常" + errorMessage)
}
}
/**
* @author 王亚新
* @objectName object_tlU1k__c
* @codeName 金额字段置空
* @description 本级账户余额刷新到25年账户期初结转余额中
* @createTime 2024-12-19
* @函数需求编号
*/
//符合条件的数据id
List ids = context.objectIds as List
def (boolean error, List dataList, String errorMessage) = Fx.object.findByIds("object_tlU1k__c", ids,
FQLAttribute.builder().columns(["_id", "name", "transfer_storage__c", "field_7172F__c"]).build())
dataList.each { item ->
Map map = item as Map
//处理业务逻辑
String target_id = map["transfer_storage__c"] as String //中转寄存即目标数据ID
BigDecimal now_amount = map["field_7172F__c"] == null ? 0.000000 : map["field_7172F__c"] as BigDecimal //本级账户余额
BigDecimal target_amount = now_amount as BigDecimal //账户期初结转金额
log.info((map["name"] as String) + "本级账户余额:" + target_amount)
if (target_id) {
Map updateData = ["field_m8K7O__c": target_amount]
def (Boolean error_result, Map data_result, String errorMessage_result) = Fx.object.update("object_tlU1k__c", target_id,
updateData, UpdateAttribute.builder().triggerWorkflow(true).build())
if (error_result) {
log.error("获取对象异常" + errorMessage_result)
} else {
// dosomething,将示例逻辑细化至业务数据层
def map_result = data_result as Map
def id_result = map_result['_id']
def name_result = map_result['name'] as String
def amount_result = map_result['field_m8K7O__c']
log.info(name_result + "账户期初结转金额:" + amount_result)
}
} else {
log.info("中转寄存数据为空:" + map["name"])
}
}
/**
* @author 王亚新
* @objectName object_tlU1k__c
* @codeName 复制费用账户数据
* @description 根据24年费用账户生成125年费用账户
* @createTime 2024-12-18
* @函数需求编号
*/
Map map = context.data as Map
//处理业务逻辑
String id = map["_id"] as String //数据id
String name = map["name"] as String //账户编码
String before_name = name as String //账户编码
name = name.replace("24", "25") //账户编码:24转25
String accountName = map["field_A8a5g__c"] as String //账户名称
if (accountName) {
accountName = accountName.replace("24", "25")//账户名称中24替换为25
}
List sale_owner = map["field_yrCyI__c"] as List //销售代表
String organzation = "1" //组织:长园深瑞
String region_id = map["macro_region_text__c"] as String //大区文本
region_id = region_id.replace("24", "25")
//获取大区
def (Boolean error_1, Map data_1, String errorMessage_1) = Fx.object.findOne("object_G1rnx__c", //对象apiName
FQLAttribute.builder()
.columns(["_id", "name"]) //需要返回的字段
.queryTemplate(QueryTemplate.AND(["field_w2aCs__c": region_id])) //查询条件
.build(),
SelectAttribute.builder()
.needQuote(true) //是否实时处理引用字段,默认true
.build())
def map_1 = data_1 as Map
String region = map_1["_id"] as String //大区
String shengQu_id = map["province_area_text__c"] as String //省区
String shengQu = "" //省区
if (shengQu_id) {
shengQu_id = shengQu_id.replace("24", "25")//省区文本中24替换为25
def (Boolean error_2, Map data_2, String errorMessage_2) = Fx.object.findOne("object_M8s68__c", //对象apiName
FQLAttribute.builder()
.columns(["_id", "name"]) //需要返回的字段
.queryTemplate(QueryTemplate.AND(["name": shengQu_id])) //查询条件
.build(),
SelectAttribute.builder()
.needQuote(true) //是否实时处理引用字段,默认true
.build())
def map_2 = data_2 as Map
shengQu = map_2["_id"] as String //省区
}
List region_list = map["field_LR1l6__c"] as List //区域负责人
String is_total = map["field_Q2t6y__c"] as String //是否汇总账户
String is_public = map["field_0KgPb__c"] as String //是否公共费池
Date begin_date = "2025-01-01"//生效日期
Date end_date = "2025-12-31"//失效日期
String is_sync = "0" //是否同步默认为否
String parent_id = "" //上级账户id
String parentAccount = map["field_aBs7b__c"] as String //当前数据上级账户id
if (parentAccount) {
def (Boolean error_find, Map data_find, String errorMessage_find) = Fx.object.findById("object_tlU1k__c", //对象apiName
parentAccount, //数据id
FQLAttribute.builder()
.columns(["_id", "name", "transfer_storage__c"]) //需要返回的字段
.build(),
SelectAttribute.builder()
.build())
log.info("上级账户:" + data_find)
parent_id = data_find["transfer_storage__c"] as String
// map.put("field_aBs7b__c", data_find["transfer_storage__c"]) //上级账户id
} else {
// map.put("field_aBs7b__c", null) //上级账户id
log.info("没有上级账户!")
}
List data_owner = map["owner"] as List //负责人
String owner_department = map["owner_department"] as String //负责人主属部门
String ywlx = map["record_type"] as String //业务类型
//创建主表数据
Map masterData = [
"name" : name, //账户编码
"field_A8a5g__c" : accountName, //账户名称
"field_LR1l6__c" : region_list, //区域负责人
"field_0opVt__c" : region, //大区
"field_l1b1v__c" : organzation,
"field_Q2t6y__c" : is_total, //是否汇总账户
"field_0KgPb__c" : is_public, //是否公共费池
"field_28Wa2__c" : begin_date, //生效日期
"field_242ks__c" : end_date, //失效日期
"field_sync_or_not__c": is_sync, //是否同步
"owner" : data_owner, //负责人
"owner_department" : owner_department, //负责人主属部门
"record_type" : ywlx, //业务类型
"field_aBs7b__c" : parent_id,//上级账户
"transfer_storage__c" : before_name, //中转寄存
"field_cZ4Qe__c" : shengQu, //省区
"field_yrCyI__c" : sale_owner //销售代表
]
//创建费用账户
def (Boolean error_create, Map data_create, String errorMessage_create) = Fx.object.create("object_tlU1k__c", masterData, null, CreateAttribute.builder().build())
if (error_create) {
log.error("获取对象异常" + errorMessage_create)
} else {
Map item_1 = data_create["data"] as Map
String dataId = item_1["_id"] as String
log.info("创建成功:" + dataId)
def (Boolean error_update, Map data_update, String errorMessage_update) = Fx.object.update("object_tlU1k__c", id, ["transfer_storage__c": dataId], UpdateAttribute.builder().triggerWorkflow(false).build())
}
/**
* @author 王亚新
* @codeName 账户结转金额后修改汇总金额 业务类型 == 个人 组织 == 长园深瑞 账户编码 包含 2025
* @description 账户结转金额后修改汇总金额
* @createTime 2024-12-31
* @函数需求编号
*/
//符合条件的数据id
List ids = context.objectIds as List
List needFields = ["_id", //主键
"name", //账户编码
"record_type", //业务类型
"field_7705T__c", //本年累计出项(借款/费用)
"field_aBs7b__c", //上级账户
"field_Y4Ii1__c", //本年累计进项(费用额度)
"field_n0t4k__c", //下级账户本年累计进项
"field_hv321__c", //下级账户本年累计出项
"field_m8K7O__c", //账户期初结转金额
]
def (boolean error, List dataList, String errorMessage) = Fx.object.findByIds("object_tlU1k__c", ids, FQLAttribute.builder().columns(needFields).build())
dataList.each { item ->
Map map_data = item as Map
//处理业务逻辑
String leiXing = map_data["record_type"] as String //业务类型
if (!"record_type".equals(leiXing)) {
//获取上级账户的id
String sj_id = map_data["field_aBs7b__c"] as String
//本年累计进项
BigDecimal bnlj_into = map_data["field_Y4Ii1__c"] as BigDecimal
if (!bnlj_into) {
bnlj_into = 0.00
}
log.info("本年累计进项: " + bnlj_into)
//本年累计出项
BigDecimal bnlj_outto = map_data["field_7705T__c"] as BigDecimal
if (!bnlj_outto) {
bnlj_outto = 0.00
}
log.info("本年累计出项: " + bnlj_outto)
//下级账户累计出项
BigDecimal xjzh_into = map_data["field_n0t4k__c"] as BigDecimal
log.info("下级账户累计出项: " + xjzh_into)
//下级账户累计出项
BigDecimal xjzh_outto = map_data["field_hv321__c"] as BigDecimal
log.info("下级账户累计出项: " + xjzh_outto)
//账户期初结转
BigDecimal zhqcjz = map_data["field_m8K7O__c"] as BigDecimal
log.info("账户期初结转: " + zhqcjz)
if (!zhqcjz) {
zhqcjz = 0.00
}
BigDecimal sjzh_xjzh_into__sum = 0
BigDecimal sjzh_xjzh_outto__sum = 0
BigDecimal sjzh_qcjz__sum = 0
Date date = Date.now()
//查询费用账户
def ret = Fx.object.find("object_tlU1k__c", //查询上级费用账户对象下属 所有账户
FQLAttribute.builder()
.columns(["field_n0t4k__c", "field_hv321__c", "field_u0192__c", "field_Y4Ii1__c", "field_7705T__c", "field_m8K7O__c"]) //返回的下级累计进项、下级累计出项、下级账户期初结转
.queryTemplate(QueryTemplate.AND(["field_aBs7b__c": QueryOperator.EQ(sj_id)]))//,["field_242ks__c":Operator.GTE(date)]
.limit(100)
.build(),
SelectAttribute.builder().build()).result() as QueryResult
log.info(ret)
List fy_list = ret["dataList"] as List
log.info("fy_list: " + fy_list)
//取出费用账户的下级账户累计进项、累计出项
fy_list.each { fy_item -> //下级所有进项金额,出项金额累加
Map map = (Map) fy_item
if (true) {
map.get("field_n0t4k__c") ? 1 : map.put("field_n0t4k__c", 0.00)
if (!map["field_Y4Ii1__c"]) {
map.put("field_Y4Ii1__c", 0.00)
}
sjzh_xjzh_into__sum = sjzh_xjzh_into__sum + (BigDecimal) map["field_n0t4k__c"] + (BigDecimal) map["field_Y4Ii1__c"]
//进项
}
if (true) {
map.get("field_7705T__c") ? 1 : map.put("field_7705T__c", 0.00)
if (!map["field_hv321__c"]) {
map.put("field_hv321__c", 0.00)
}
sjzh_xjzh_outto__sum = sjzh_xjzh_outto__sum + (BigDecimal) map["field_hv321__c"] + (BigDecimal) map["field_7705T__c"]
//出项
}
if (true) {
map.get("field_m8K7O__c") ? 1 : map.put("field_m8K7O__c", 0.00)
if (!map["field_u0192__c"]) {
map.put("field_u0192__c", 0.00)
}
sjzh_qcjz__sum = sjzh_qcjz__sum + (BigDecimal) map["field_u0192__c"] + (BigDecimal) map["field_m8K7O__c"]
//下级账户期初结转
}
}
//更新下级累计进项和出项
def fy_Map = ["field_n0t4k__c": sjzh_xjzh_into__sum,
"field_hv321__c": sjzh_xjzh_outto__sum,
"field_u0192__c": sjzh_qcjz__sum]
log.info(fy_Map)
log.info("商机账户id:" + sj_id)
if (sj_id) {
def result = Fx.object.update("object_tlU1k__c", sj_id, fy_Map, null, ActionAttribute.create()).result() as Map
log.info(result["objectData"])
}
}
}
Map map = context.data as Map
//处理业务逻辑
String id = map["_id"] as String //数据id
String name = map["name"] as String //账户编码
String before_name = name as String //账户编码
name = name.replace("24", "25") //账户编码:24转25
String accountName = map["field_A8a5g__c"] as String //账户名称
if (accountName) {
accountName = accountName.replace("24", "25")//账户名称中24替换为25
}
List sale_owner = map["field_yrCyI__c"] as List //销售代表
String organzation = "1" //组织:长园深瑞
String region_id = map["macro_region_text__c"] as String //大区文本
region_id = region_id.replace("24", "25")
//获取大区
def (Boolean error_1, Map data_1, String errorMessage_1) = Fx.object.findOne("object_G1rnx__c", //对象apiName
FQLAttribute.builder()
.columns(["_id", "name"]) //需要返回的字段
.queryTemplate(QueryTemplate.AND(["field_w2aCs__c": region_id])) //查询条件
.build(),
SelectAttribute.builder()
.needQuote(true) //是否实时处理引用字段,默认true
.build())
def map_1 = data_1 as Map
String region = map_1["_id"] as String //大区
String shengQu_id = map["province_area_text__c"] as String //省区
String shengQu = "" //省区
if (shengQu_id) {
shengQu_id = shengQu_id.replace("24", "25")//省区文本中24替换为25
def (Boolean error_2, Map data_2, String errorMessage_2) = Fx.object.findOne("object_M8s68__c", //对象apiName
FQLAttribute.builder()
.columns(["_id", "name"]) //需要返回的字段
.queryTemplate(QueryTemplate.AND(["name": shengQu_id])) //查询条件
.build(),
SelectAttribute.builder()
.needQuote(true) //是否实时处理引用字段,默认true
.build())
def map_2 = data_2 as Map
shengQu = map_2["_id"] as String //省区
}
List region_list = map["field_LR1l6__c"] as List //区域负责人
String is_total = map["field_Q2t6y__c"] as String //是否汇总账户
String is_public = map["field_0KgPb__c"] as String //是否公共费池
Date begin_date = "2025-01-01"//生效日期
Date end_date = "2025-12-31"//失效日期
String is_sync = "0" //是否同步默认为否
String parent_id = "" //上级账户id
String parentAccount = map["field_aBs7b__c"] as String //当前数据上级账户id
if (parentAccount) {
def (Boolean error_find, Map data_find, String errorMessage_find) = Fx.object.findById("object_tlU1k__c", //对象apiName
parentAccount, //数据id
FQLAttribute.builder()
.columns(["_id", "name", "transfer_storage__c"]) //需要返回的字段
.build(),
SelectAttribute.builder()
.build())
log.info("上级账户:" + data_find)
parent_id = data_find["transfer_storage__c"] as String
// map.put("field_aBs7b__c", data_find["transfer_storage__c"]) //上级账户id
} else {
// map.put("field_aBs7b__c", null) //上级账户id
log.info("没有上级账户!")
}
List data_owner = map["owner"] as List //负责人
String owner_department = map["owner_department"] as String //负责人主属部门
String ywlx = map["record_type"] as String //业务类型
//创建主表数据
Map masterData = ["name" : name, //账户编码
"field_A8a5g__c" : accountName, //账户名称
"field_LR1l6__c" : region_list, //区域负责人
"field_0opVt__c" : region, //大区
"field_l1b1v__c" : organzation,
"field_Q2t6y__c" : is_total, //是否汇总账户
"field_0KgPb__c" : is_public, //是否公共费池
"field_28Wa2__c" : begin_date, //生效日期
"field_242ks__c" : end_date, //失效日期
"field_sync_or_not__c": is_sync, //是否同步
"owner" : data_owner, //负责人
"owner_department" : owner_department, //负责人主属部门
"record_type" : ywlx, //业务类型
"field_aBs7b__c" : parent_id,//上级账户
"transfer_storage__c" : before_name, //中转寄存
"field_cZ4Qe__c" : shengQu, //省区
"field_yrCyI__c" : sale_owner //销售代表
]
//创建费用账户
def (Boolean error_create, Map data_create, String errorMessage_create) = Fx.object.create("object_tlU1k__c", masterData, null, CreateAttribute.builder().build())
if (error_create) {
log.error("获取对象异常" + errorMessage_create)
} else {
Map item_1 = data_create["data"] as Map
String dataId = item_1["_id"] as String
log.info("创建成功:" + dataId)
def (Boolean error_update, Map data_update, String errorMessage_update) = Fx.object.update("object_tlU1k__c", id, ["transfer_storage__c": dataId], UpdateAttribute.builder().triggerWorkflow(false).build())
} Map _data = context.data as Map //获取数据
Map map = _data as Map
String id = map["_id"] as String
map.put("transfer_storage__c", id) //中转寄存:源数据id
map.put("_id", null) //id置为空
String name = map["name"] as String //账户编码
name = name.replace("24", "25") //账户编码中24替换为25
map.put("name", name)
String accountName = map["field_A8a5g__c"] as String //账户名称
accountName = accountName.replace("24", "25")//账户名称中24替换为25
map.put("field_A8a5g__c", accountName) //账户名称
BigDecimal localBalance = map["field_7172F__c"] as BigDecimal //本级账户余额
map.put("field_m8K7O__c", localBalance) //账户期初结转金额
map.put("field_sync_or_not__c", "0") //是否同步:否
def (Boolean error, Map data, String errorMessage) = Fx.object.create("object_tlU1k__c", map, null,
CreateAttribute.builder().build())
if (error) {
log.error("获取对象异常" + errorMessage)
} Map _data = context.data as Map
Map map = _data as Map
String id = map["_id"] as String
map.put("_id", null) //id置为空
String name = map["name"] as String //账户编码
map.put("transfer_storage__c", name) //中转寄存:源数据name
name = name.replace("24", "25")
map.put("name", name)//账户编码中24替换为25
String accountName = map["field_A8a5g__c"] as String //账户名称
if(accountName){
accountName = accountName.replace("24", "25")//账户名称中24替换为25
map.put("field_A8a5g__c", accountName) //账户名称
}
BigDecimal localBalance = map["field_7172F__c"] as BigDecimal //本级账户余额
map.put("field_m8K7O__c", localBalance) //账户期初结转金额
map.put("field_sync_or_not__c", "0") //是否同步:否
//链接上级费用账户
String parentAccount = map["field_aBs7b__c"] as String //当前数据上级账户id
if(parentAccount){
def (Boolean error_find,Map data_find,String errorMessage_find) = Fx.object.findById("object_tlU1k__c", //对象apiName
parentAccount, //数据id
FQLAttribute.builder()
.columns(["_id","name","transfer_storage__c"]) //需要返回的字段
.build(),
SelectAttribute.builder()
.build())
log.info("上级账户:" + data_find)
map.put("field_aBs7b__c", data_find["transfer_storage__c"]) //上级账户id
}else{
map.put("field_aBs7b__c", null) //上级账户id
}
//创建费用账户
def (Boolean error, Map data, String errorMessage) = Fx.object.create("object_tlU1k__c", map, null,
CreateAttribute.builder().build())
if (error) {
log.error("获取对象异常" + errorMessage)
}else{
Map item = data["data"] as Map //创建成功返回的数据
String dataId = item["_id"] as String //获取创建后数据的id
log.info("创建成功:" + dataId)
//创建后的数据id赋值给源数据中的【中转寄存】字段中
def (Boolean error_update, Map data_update, String errorMessage_update) = Fx.object.update("object_tlU1k__c", id,
["transfer_storage__c": dataId], UpdateAttribute.builder().triggerWorkflow(false).build())
}