/**
* 创建人:曾宪礼
* 时间:2022-03-28
* 需求描述:学费编辑时更新收款的顾问业绩拆分信息
**/
//String ID=context.data._id
String name=context.data.name
String id999=context.data._id
//顾问业绩拆分(学费),field_raU0m__c 学费/定金列表
def ret01= Fx.object.find("object_YX8uy__c",[["field_raU0m__c":id999]],10,0)
if(ret01[0]){
log.info("查询出错,原因:" + ret01[2])
}else{
//log.info(ret01[1])
}
//讲师业绩拆分(学费,field_4nr3I__c 学费/定金列表
def ret02= Fx.object.find("object_4Twn0__c",[["field_4nr3I__c":id999]],10,0)
if(ret02[0]){
log.info("查询出错,原因:" + ret02[2])
}else{
//log.info(ret02[1])
}
List orderProduct = ret01[1]["dataList"] as List;//顾问业绩
List orderProduct1 = ret02[1]["dataList"] as List;//顾问业绩
//List orderProduct = context.details["object_YX8uy__c"] as List;//顾问业绩
//List orderProduct1 = context.details["object_4Twn0__c"] as List;//讲师业绩
log.info("顾问业绩"+orderProduct)
log.info("讲师业绩"+orderProduct1)
//log.info(orderProduct1)
log.info(name)
String xname
//协议收款/收款列表 object_cmqv1__c,定金编号 定金编号
def ret= Fx.object.find("object_cmqv1__c",[["field_Mg5c7__c":name]],10,0)
if(ret[0]){
log.info("查询出错,原因:" + ret[2])
}else{
// log.info("收款信息:"+ret[1])
List A=ret[1]["dataList"] as List
A.each{
itemA ->
xname=itemA["_id"]
String GGG=itemA["name"]
BigDecimal skhj=itemA["field_523s1__c"] as BigDecimal //协议收款金额
log.info("收款ID"+xname+"收款编号"+GGG)
//顾问业绩
def ret2= Fx.object.find("object_25nje__c",[["field_2U2VA__c":xname]],10,0)
if(ret2[0]){
log.info("查询出错,原因:" + ret2[2])
}else{
//log.info("顾问业绩信息:"+ret2[1])
List B=ret2[1]["dataList"] as List
B.each{
itemB ->
String IDD=itemB["_id"]
String AAAAA=itemB["name"]
List C=[]
C.add(IDD)
log.info("顾问业绩编号"+AAAAA+"顾问业绩ID"+IDD)
ActionAttribute attribute = ActionAttribute.build{
triggerApprovalFlow = false
triggerWorkflow = false
skipFunctionAction = true
}
log.info(C)
def ret3 = Fx.object.bulkRemove("object_25nje__c",C,attribute) //协议顾问业绩明细
if(ret3[0]){
log.info("删除失败,原因:" + ret3[2])
}else{
log.info("顾问业绩删除成功")
}
}
}
//讲师 协议讲师业绩明细 object_M0lBx__c,收款列表 field_018zl__c
def ret2j= Fx.object.find("object_M0lBx__c",[["field_018zl__c":xname]],10,0)
if(ret2j[0]){
log.info("查询出错,原因:" + ret2j[2])
}else{
//log.info("顾问业绩信息:"+ret2[1])
List Bj=ret2j[1]["dataList"] as List
Bj.each{
itemBj ->
String IDD1=itemBj["_id"]
List Cj=[]
Cj.add(IDD1)
String AAAAAa=itemBj["name"]
log.info("讲师业绩编号"+AAAAAa)
ActionAttribute attributej = ActionAttribute.build{
triggerApprovalFlow = false
triggerWorkflow = false
skipFunctionAction = true
}
def ret3j = Fx.object.bulkRemove("object_M0lBx__c",Cj,attributej)
if(ret3j[0]){
log.info("讲师业绩删除失败,原因:" + ret3j[2])
}else{
log.info("讲师业绩删除成功")
}
}
}
orderProduct.each{
item ->
List field_7bPL0__c = item["field_7bPL0__c"] as List //业绩归属顾问
BigDecimal field_3e2l9__c = item["field_3e2l9__c"] as BigDecimal//分出比例
log.info(field_3e2l9__c)
String field_bt08o__c = item["field_bt08o__c"] //所属校区
String field_0rcZ2__c = item["field_0rcZ2__c"] //备注
String field_I3pp9__c = item["field_I3pp9__c"] //归属大区
String field_kvxys__c = item["field_kvxys__c"] //是否首次收款
DateTime field_bwtzE__c = item["field_bwtzE__c"] as DateTime//收款时间
String field_Tg1xx__c = item["field_Tg1xx__c"] //客户名称
String field_4bOuq__c = item["field_4bOuq__c"] //学员电话
String field_s719M__c = item["field_s719M__c"] //是否拆分业绩
String region = item ["field_tM687__c"] // 归属大区静
ActionAttribute attribute1 = ActionAttribute.build {
triggerApprovalFlow = false
triggerWorkflow = true
skipFunctionAction = true
specifyCreatedBy = true
specifyTime = true
duplicateSearch = false
}
//创建顾问业绩拆分
BigDecimal GWYJ=skhj*field_3e2l9__c/100
def(error,data,errorMessage) = Fx.object.create("object_25nje__c", ["field_2U2VA__c":xname,
"field_n4uoK__c":field_7bPL0__c,//业绩归属顾问
"field_2Homp__c":field_3e2l9__c,//分出比例
"field_1lyP1__c":GWYJ,//顾问业绩
"field_45Nxa__c":field_bt08o__c,//所属校区
"field_wpr8l__c":field_I3pp9__c,//归属大区
"field_Qok8v__c":field_kvxys__c,//是否首次收款
"field_Yp91k__c":field_bwtzE__c,//收款时间
"field_Spb1G__c":field_Tg1xx__c,//客户名称
"field_WmYmu__c":field_4bOuq__c,//学员电话
"field_HNck7__c":field_s719M__c,//是否拆分业绩
"belongingToRegion__c":region //归属大区静
],null,attribute1)
if( error ){
log.info("顾问业绩添加失败"+errorMessage)
}
else{
log.info("顾问业绩添加成功")
}
}
orderProduct1.each{
itemj ->
String field_1Aetu__c = itemj["field_1Aetu__c"] //讲师名称
String field_YbNd0__c = itemj["field_YbNd0__c"] //成交场景
BigDecimal field_w8Pp7__c = itemj["field_w8Pp7__c"] as BigDecimal//分出比例
String field_zwaBm__c = itemj["field_zwaBm__c"] //LTC类型
String field_PeZ8v__c = itemj["field_PeZ8v__c"] //成交课堂类型
String field_cxI2H__c = itemj["field_cxI2H__c"] //排课编号
DateTime field_KWjEw__c = itemj["field_KWjEw__c"] as DateTime//收款时间
String field_21LJw__c = itemj["field_21LJw__c"] //课程名称
String field_kma4M__c = itemj["field_kma4M__c"] //讲师所属区
String field_9aQ2e__c = itemj["field_9aQ2e__c"] //是否首次收款
BigDecimal field_aaw3m__c = itemj["field_aaw3m__c"] as BigDecimal
log.info(field_w8Pp7__c)
// log.info("<text>"+field_1Aetu__c+field_YbNd0__c+field_w8Pp7__c+field_zwaBm__c+field_PeZ8v__c+field_cxI2H__c+field_KWjEw__c+field_21LJw__c+field_kma4M__c+field_9aQ2e__c)
ActionAttribute attribute1j = ActionAttribute.build {
triggerApprovalFlow = false
triggerWorkflow = true
skipFunctionAction = true
specifyCreatedBy = true
specifyTime = true
duplicateSearch = false
}
//创建讲师业绩拆分
BigDecimal GWYJj=skhj*field_w8Pp7__c/100
log.info(GWYJj)
def(error,data,errorMessage) = Fx.object.create("object_M0lBx__c", ["field_018zl__c":xname,
"field_1Xy8U__c":field_1Aetu__c,//讲师名称
"field_pCzE0__c":field_YbNd0__c,//成交场景
"field_v7r43__c":field_w8Pp7__c,//分出比例
"field_sLp24__c":GWYJj,//讲师业绩
"field_Gt1Ql__c":field_zwaBm__c,//LTC类型
"field_mqek3__c":field_PeZ8v__c,//成交课堂类型
"field_1MVjw__c":field_cxI2H__c,//排课编号
"field_gna7a__c":field_KWjEw__c,//收款时间
"field_m1Lv4__c":field_21LJw__c,//课程名称
"field_sG1gF__c":field_kma4M__c,//讲师所属区
"field_8495e__c":field_9aQ2e__c//是否首次收款
],null,attribute1j)
if( error ){
log.info("讲师业绩添加失败"+errorMessage)
}
else{
log.info("讲师业绩添加成功")
}
}
}
}
/**
* 创建人:曾宪礼
* 时间:2022-04-24
* 需求描述 更新是否首次收款
**/
//符合条件的数据id
// log.info(field_Z2CIz__c)
String field_Aq1fR__c = context.data.field_Aq1fR__c;//学员姓名
//学费/定金列表 object_8yo7D__c,学员姓名 field_Aq1fR__c,收款时间 field_56BM8__c ,
def ret99 = Fx.object.find("object_8yo7D__c", [["field_Aq1fR__c":field_Aq1fR__c],["field_56BM8__c": Operator.EXISTS(true)]],["field_56BM8__c":1],100,0) //关联的学费按照收款时间升序查询
if(ret99[0]){
log.info("客户关联的学费数据查询失败,原因:"+ret99[2])
}else{
// log.info("查询到的客户关联的收款数据:"+ret[1])
}
def ret101 = Fx.object.findById("AccountObj",field_Aq1fR__c) //客户列表数据
if(ret101[0]){
log.info("客户关联的客户数据查询失败,原因:"+ret101[2])
}else{
//log.info("查询到的客户关联的收款数据:"+ret101[1])
}
DateTime firstCollectionTime102 = ret101[1]["field_uxq9p__c"] as DateTime //收款时间 客户
log.info(firstCollectionTime102)
List skId2 = ret99[1]["dataList"]["_id"] as List //学费id
log.info(skId2)
String skId3 = skId2[0]//首次收款ID
List firstCollectionTime9 = ret99[1]["dataList"]["field_56BM8__c"] as List //收款时间 学费
DateTime firstCollectionTime91 = firstCollectionTime9[0] as DateTime //首次收款时间
int nian
if(firstCollectionTime102==null||firstCollectionTime102==""){
nian=2022
}else{
nian=firstCollectionTime102.year
}
// DateTime scsksj=null;
// if(nian==2022 ){
// //if(firstCollectionTime102!=null && firstCollectionTime102>firstCollectionTime91){
// def retk = Fx.object.update("AccountObj",field_Aq1fR__c,["field_uxq9p__c":firstCollectionTime91],false)
// if(retk[0]){
// log.info("更新客户列表的首次收款时间失败"+retk[2])
// }else{
// log.info("更新客户列表的首次收款时间成功")
// }
//学费是首次收款
log.info("首次收款"+skId3+"收款时间"+firstCollectionTime91)
// def ret3 = Fx.object.update("object_8yo7D__c",skId3,["field_8KiD4__c":"是"],false)
// if(ret3[0]){
// log.info("更新学费的是否首次失败第一条"+ret3[2])
// }else{
// log.info("更新学费的是否首次成功第一条")
// }
/* }else if(firstCollectionTime102!=null && firstCollectionTime102==firstCollectionTime91 ){
def retk = Fx.object.update("AccountObj",field_Aq1fR__c,["field_uxq9p__c":firstCollectionTime91],false)
if(retk[0]){
log.info("更新客户列表的首次收款时间失败"+retk[2])
}else{
log.info("更新客户列表的首次收款时间成功")
}
//学费是首次收款
log.info("首次收款"+skId3+"收款时间"+firstCollectionTime91)
def ret3 = Fx.object.update("object_8yo7D__c",skId3,["field_8KiD4__c":"是"],false)
if(ret3[0]){
log.info("更新学费的是否首次失败第一条"+ret3[2])
}else{
log.info("更新学费的是否首次成功第一条")
}
}else{
def ret3 = Fx.object.update("object_8yo7D__c",skId3,["field_8KiD4__c":"否"],false)
if(ret3[0]){
log.info("更新学费的是否首次失败第一条"+ret3[2])
}else{
log.info("更新学费的是否首次成功第一条")
}
}*/
//学费是首次收款
log.info("首次收款"+skId3+"收款时间"+firstCollectionTime91)
// def ret3 = Fx.object.update("object_8yo7D__c",skId3,["field_8KiD4__c":"是"],false)
// if(ret3[0]){
// log.info("更新学费的是否首次失败第一条"+ret3[2])
// }else{
// log.info("更新学费的是否首次成功第一条 客户定金为空时候")
// }
// log.info("学费收款"+firstCollectionTime9)
// List firstCollectionTime20=firstCollectionTime9.subList(1,firstCollectionTime9.size());
// log.info("学费收款"+firstCollectionTime20)
// firstCollectionTime20.eachWithIndex{
// item1 ,int z->
// // log.info("数组集合"+firstCollectionTime2)
// String IDz=skId2[z+1];
// log.info("收款id"+IDz)
// def ret40 = Fx.object.update("object_8yo7D__c",IDz,["field_8KiD4__c":"否"],false)
// if(ret40[0]){
// log.info("更新n次学费时间失败"+ret40[2])
// }else{
// log.info("更新n次学费时间成功")
// }
// }
/**
* 修改人:杨鹏
* 1、检索学员下所有学费 如果为同一天则也判断为 “是”首次收款
*/
String khId = context.data.field_Aq1fR__c // 客户ID
DateTime collectionTime = context.data.field_56BM8__c as DateTime //收款时间
log.info("收款时间遍历:"+firstCollectionTime9)
DateTime dateTime = collectionTime
if( dateTime != null ){
Date date = dateTime.toDate()
//查询客户列表
def yp = Fx.object.find("AccountObj",[["_id":khId]],10, 0)
if(yp[0]){
log.info("查询失败,原因:"+ yp[2])
}else{
// log.info("查询到的客户列表数据:"+ yp[1])
}
List khsk = yp[1]["dataList"]["field_uxq9p__c"] as List //客户首次收款时间
DateTime khsk1 = khsk[0] as DateTime
DateTime dateTime1 = khsk1
Date date1 = dateTime1.toDate()
log.info("本次定金收款时间Date:"+date)
log.info("客户列表首次收款时间Date:"+date1)
def sk = Fx.object.find("object_cmqv1__c",[["field_w72Rv__c":khId],["field_pamB2__c":1]],10, 0)
if(sk[0]){
log.info("查询失败,原因:"+ sk[2])
}else{
// log.info("查询到的收款列表数据:"+ sk[1])
}
List sksj1 = yp[1]["dataList"]["field_pamB2__c"] as List //首次收款时间
DateTime sksj = sksj1[0] as DateTime
log.info("收款列表时间:"+sksj)
// if( date == date1 && sksj == null ){
// def yp2 = Fx.object.update("object_8yo7D__c",id999,["field_8KiD4__c":"是"])
// if(yp2[0]){
// log.info("更新失败,原因:"+yp2[2])
// }else{
// log.info("成功")
// }
// }
}
String ZFFS=context.data.field_WyeTl__c
String skzt=context.data.field_o5J62__c
if(ZFFS!="w63r7jdnW"&&skzt=="n4nnN832t"&&ZFFS!="rVS9U9e46"&&ZFFS!="6Nlfisges"&&ZFFS!="2o16V2F33"){
String ID=context.data._id
Map header,recordData = [:]
//String mainObj = context.data.field_25z1H__c as String //
Map data = [
"objectDataId":ID //要触发按钮点击事件的数据 id
]
Map param = [
"objectApiName": "object_8yo7D__c", //对象ApiName
"buttonApiName": "button_r6Dcu__c"
]
def ret589 = Fx.proxy.callAPI("obj.button.call", param, header, data) //调用api模拟点击映射按钮
//log.info(ret[1])
if(ret589[0]){
log.info("点击错误"+ret589[2])
}
}