编辑代码


/**
 * 创建人:曾宪礼
 * 时间: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])
}

  
}