编辑代码

/**
* 
* 自动分发2.0
* 创建人:曾宪礼
* 创建时间:2022/08/16
* 
* 
* */
 
 
/*625cf87dbe74190001170970	直营小组
6253daf5216b6a000158af0a	加盟小组
62470c4bb59f6f00018c939a	测试小组*/

 
String _id = context.data._id //线索id
String tel = context.data.tel//咨询电话
List created_by =context.data.created_by as List//创建人
String  zfzyqdxx   //主分资源渠道信息 
String  zfzycsxx  //主分资源城市信息
String zfzycsxxb 
String field_T5ocp__c = context.data.field_T5ocp__c //二级渠道
String field_HCtKY__c = context.data.field_HCtKY__c //城市信息
String field_6eh1m__c = context.data.field_6eh1m__c//一级渠道(中介“612cc86c13d2de000108dbcb”)
String field_3X6yP__c =context.data.field_3X6yP__c//渠道大类
String name = context.data.name//客户姓名



//def(boolean error, Map result, String errorMessage) = Fx.object.getOptionInfo("object_u0yep__c","field_J3mVf__c")


log.info("二级渠道"+field_T5ocp__c)

//field_T5ocp__c 二级渠道
//Fx.object.changeOwner 更换负责人
if( field_T5ocp__c == "64c34e8e2ebe920001cb75ed" || field_T5ocp__c=="651399df7f62310001dc1dbe"){
    def fpzy = Fx.object.changeOwner("LeadsObj",_id,"1476")
      if(fpzy[0]){
          log.info(" "+tel+"分配失败:"+fpzy[2])
        }else{
        log.info(" "+tel+"【分配资源成功】")
        }
}


if( field_6eh1m__c != "612cc86c13d2de000108dbd4" ){


DateTime  timecj = context.data.create_time as DateTime//创建日期时间
DateTime  timesc = context.data.field_xvq31__c as DateTime//首次呼入时间

DateTime create_date_time //领取分配时间
Date create_date_data   //领取分配日期
//Time  time
Time  time1="03:00" 
Time  time0="00:00" 
Time  time6="06:00" 
Time  time12="12:00" 
Time  time9="09:00" 
Time  time18="18:00" 
Time  time20="20:00"
Time  time21="21:00"
Time  time2359="23:59"
Time  time0859="08:59"
Time  time1801="18:01"


int h=timesc.hour   //首次呼入时间-小时
int f=timesc.minute   //首次呼入时间-分钟

/*Time time2=time1.withHoue(h)
Time time=time2.withMinute(f)*/
 
 
//拼接成 10:25这样的时间格式
Time create_time1 =time1.withHour(h) 
Time create_time=create_time1.withMinute(f)
log.info("首次呼入时间TIME"+create_time)

Date dqrq1 = Date.now()  //当前日期

//DQSJ 取当天时间,拼接时分秒为2023-12-05 23:59:59
DateTime DQSJ2=DateTime.now()
DateTime DQSJ1=DQSJ2.withHour(23)
DateTime DQSJ=DQSJ1.withMinute(59) //获取当天最后一分钟

DateTime d = DateTime.now();//获取当前时间


//dateTimeZ3 2023-12-05 00:00:00
DateTime dateTimeZ2=d.withHour(00);
 
DateTime dateTimeZ3=dateTimeZ2.withMinute(00) 
 
//dateTimeW3 2023-12-05 23:59:59
DateTime dateTimeW1=d.withHour(23)
DateTime dateTimeW3=dateTimeW1.withMinute(59) 
  
log.info("早时间:"+dateTimeZ3) 
log.info("晚时间:"+dateTimeW3) 

DateTime LQFPSJ1=DateTime.now()
DateTime dateTimeW
DateTime dateTimeZ
//DateTime LQFPSJ=LQFPSJ1.withDay(32)
//拿到明天的时间 2023-12-06 10:25:00
DateTimeDuration daay = DateTimeDuration.Days(1)
Date tomorrow =  dqrq1.plus(daay)
int n=tomorrow.year
int y=tomorrow.month
int r=tomorrow.day


DateTimeDuration daay1 = DateTimeDuration.Days(1)
//算出来明天的时间
//tomorrow1: 2023-12-06 00:00:00
//tomorrow2:2023-12-06 23:59:59
DateTime tomorrow1 =  dateTimeZ3.plus(daay1)
DateTime tomorrow2 =  dateTimeW3.plus(daay1)


//明天的时间2023-12-06 10:25:00
DateTime dateTimeWe1=d.withYear(n)
DateTime dateTimeWe2=dateTimeWe1.withMonth(y)  
DateTime dateTimeWe3=dateTimeWe2.withDay(r)  //获取后一天的日期时间
 
BigDecimal zzys1 //客服实时资源数
String xz = "630da4a097614b00017292b8"//装小组名称,默认直营小组



//【取出排班管理列表数据】
def rid1 

//根据时间查询今天的排班数据 field_M3hK5__c:排班日期  field_Opa02__c:小组
rid1= Fx.object.find("object_u0yep__c", [["field_M3hK5__c":dqrq1],["field_Opa02__c":xz]],10,0) 
if(rid1[0]){
  log.info(" "+name+"查询失败,原因:"+rid1[2])
}else{
  //log.info("当天排班数据:"+rid1[1])
}

String pb=""
 

List MAXSB1=rid1[1]["dataList"]["field_JW9y1__c"]  as List
Time MAXSB=MAXSB1[0] as Time //最晚下班时间

List minSB1=rid1[1]["dataList"]["field_zl2qG__c"]  as List
Time minSB=minSB1[0] as Time //最早上班时间

String SFCWB=""   //是否优先查晚班数据
//判断是查当天的排班还是查明天的排班
Date dqrq
if(create_time>=minSB&&create_time<=MAXSB){
  //当天排班
  dqrq=dqrq1 //当前时间
  create_date_time=d //当前时间
  create_date_data=dqrq1 //当前时间
  dateTimeW=dateTimeW3 //结束时间 23:59:59
  dateTimeZ=dateTimeZ3 //开始时间 00:00:00
}else if(create_time>MAXSB&&create_time<time2359){
  //最晚下班时间-23:59 明天排班
  dqrq=tomorrow 
  create_date_time=dateTimeWe3
  create_date_data=tomorrow
  dateTimeW=tomorrow2
  dateTimeZ=tomorrow1
  pb="是"
}else if(create_time>=time0&&create_time<=time6){ //0-6点的资源优先分给晚班客服
  //0-6点的资源
  dqrq=dqrq1 
  create_date_time=d
  create_date_data=dqrq1
  SFCWB="是"
  dateTimeW=dateTimeW3
  dateTimeZ=dateTimeZ3
}else{
    dqrq=dqrq1
    create_date_time=d
    create_date_data=dqrq1
    dateTimeW=dateTimeW3
  dateTimeZ=dateTimeZ3
}


//pb:是否是第二天的数据
//SFCWB:是否优先分配给晚班客服

if(pb=="是"){//判定是否取第二天的排班数据
   
  rid1= Fx.object.find("object_u0yep__c", [["field_M3hK5__c":dqrq],["field_Opa02__c":xz]],10,0) 
if(rid1[0]){
  log.info(" "+name+"查询失败,原因:"+rid1[2])
}else{
  //log.info("当天排班数据:"+rid1[1])
}
}

// 日资源上限值 field_pdExI__c
List field_pdExI__c1=rid1[1]["dataList"]["field_pdExI__c"]  as List
BigDecimal field_pdExI__c=field_pdExI__c1[0] as BigDecimal //日上限值

//晚班资源领资上限(18点前) field_tow1p__c
List field_tow1p__c1=rid1[1]["dataList"]["field_tow1p__c"]  as List
BigDecimal field_tow1p__c=field_tow1p__c1[0] as BigDecimal //晚班资源领资上限18点前

// 晚班凌晨资源上限值(0-6)field_4oJa9__c
List field_4oJa9__c1=rid1[1]["dataList"]["field_4oJa9__c"]  as List
BigDecimal field_4oJa9__c=field_4oJa9__c1[0] as BigDecimal //晚班资源领资上限0-6


/*List field_oab82__c1=rid1[1]["dataList"]["field_oab82__c"]  as List
BigDecimal field_oab82__c=field_oab82__c1[0] as BigDecimal //一档排班人数

List field_mq977__c1=rid1[1]["dataList"]["field_mq977__c"]  as List
BigDecimal field_mq977__c=field_mq977__c1[0] as BigDecimal //二档排班人数

List field_s5XpD__c1=rid1[1]["dataList"]["field_s5XpD__c"]  as List
BigDecimal field_s5XpD__c=field_s5XpD__c1[0] as BigDecimal //三档排班人数*/

//外包总资源上限值(9点前)
List field_1VzI2__c1=rid1[1]["dataList"]["field_1VzI2__c"]  as List
BigDecimal field_1VzI2__c=field_1VzI2__c1[0] as BigDecimal //外包总资源上限值9点前

//外包总资源上限值(9点后)
List field_TRvvz__c1=rid1[1]["dataList"]["field_TRvvz__c"]  as List
BigDecimal field_TRvvz__c=field_TRvvz__c1[0] as BigDecimal //外包总资源上限值9点后

//外包分资源二级渠道信息
List field_J3mVf__c1=rid1[1]["dataList"]["field_J3mVf__c"]  as List
List field_J3mVf__c=field_J3mVf__c1[0] as List //外包分资源二级渠道
//wb 外包
Boolean  wb=false
field_J3mVf__c.eachWithIndex {
    ite, int zy-> 
  // log.info("外包分资源二级渠道"+ite)
    if(ite==field_T5ocp__c){
      wb=true
    }
}





//BigDecimal field_J3mVf__c=field_J3mVf__c1[0] as BigDecimal //外包分资源二级渠道

log.info("wb"+wb) 

def zpzy6r= Fx.object.aggregate("object_3YV80__c",Aggregate.COUNT() ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_7QFic__c":"option1"]]) //【["field_8c94B__c":"option1"]直营团队】

int zzyy7r
if(zpzy6r[1]==null){
  zzyy7r =0
}else{
  zzyy7r=zpzy6r[1]
}
log.info("一档人数:"+zzyy7r) 

def zpzy6r1= Fx.object.aggregate("object_3YV80__c",Aggregate.COUNT() ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_7QFic__c":"7zHbp6f09"]]) //【["field_8c94B__c":"option1"]直营团队】

int zzyy7r1
if(zpzy6r1[1]==null){
  zzyy7r1 =0
}else{
  zzyy7r1=zpzy6r1[1]
}
log.info("二档人数:"+zzyy7r1) 

def zpzy6r2= Fx.object.aggregate("object_3YV80__c",Aggregate.COUNT() ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_7QFic__c":"pR31cc72e"]]) //【["field_8c94B__c":"option1"]直营团队】

int zzyy7r2
if(zpzy6r2[1]==null){
  zzyy7r2 =0
}else{
  zzyy7r2=zpzy6r2[1]
}
log.info("三档人数:"+zzyy7r2) 




//log.info("创建人:"+created_by)
log.info("渠道大类:"+field_3X6yP__c)
log.info("一级渠道:"+field_6eh1m__c)
log.info("当前日期:"+dqrq1)
log.info("城市信息:"+field_HCtKY__c)
log.info("当前时间:"+DQSJ)
log.info("查询排班时间:"+dqrq)
log.info("日上限值:"+field_pdExI__c)
log.info("外包总资源上限值:"+field_1VzI2__c)
log.info("晚班领资资源上限18点前:"+field_tow1p__c)
log.info("晚班领资资源上限0-6点:"+field_4oJa9__c)
log.info("最早上班时间:"+minSB)
log.info("最晚下班时间:"+MAXSB)
/*log.info("一档排班人数1:"+field_oab82__c)
log.info("二档排班人数1:"+field_mq977__c)
log.info("三档排班人数1:"+field_s5XpD__c)
log.info("一档排班人数:"+zzyy7r)
log.info("二档排班人数:"+zzyy7r1)
log.info("三档排班人数:"+zzyy7r2)
*/

def rid

//取晚班上限值
//客服排班明细 object_3YV80__c 实时已获资源数 field_ox2d1__c
def zzz = Fx.object.aggregate("object_3YV80__c",Aggregate.MIN("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.GTE(time12)]]) //【["field_8c94B__c":"option1"]直营团队】
int zzzy
if(zzz[1]==null){
  zzzy =0
}else{
  zzzy=zzz[1]
}

//晚班人数
def zpzywb = Fx.object.aggregate("object_3YV80__c",Aggregate.COUNT() ,2,[["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.GTE(time12)]])
int zzywb
if(zpzywb[1]==null){
  zzywb =1
}else{
  zzywb=zpzywb[1]
}



//int zzy1=zpzy[1]
log.info("晚班人数:"+zzywb) 
List YY=[]
String YYY=""
if(SFCWB=="是"&&zzzy<field_4oJa9__c&&zzywb>0){  
  
  rid = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.GTE(time12)]],100,0) //查询上班时间大于等于12点的数据
if(rid[0]){
  log.info(" "+name+"查询失败,原因:"+rid[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
YYY="是"

//YY.addAll( <List list>)
}else if(SFCWB=="是"&&zzzy>=field_tow1p__c&&zzywb>0){
  
  rid = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.LT(time12)]],100,0) //查询上班时间小于等于12点的数据
if(rid[0]){
  log.info(" "+name+"查询失败,原因:"+rid[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
YYY="是"
//YY.addAll( <List list>)
}else if(create_time>MAXSB&&create_time<time2359){  //最晚下班时间到2359不分资源给晚班的客服
//【找出排班明细中该小组客服所有人的ID】
rid = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.LT(time12)]],100,0) 
if(rid[0]){
  log.info(" "+name+"查询失败,原因:"+rid[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
}else if(create_time>time6&&create_time<time18&&zzzy>=field_tow1p__c&&zzywb>0){  //最晚下班时间到2359不分资源给晚班的客服
//【找出排班明细中该小组客服所有人的ID】
rid = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.LT(time12)]],100,0) 
if(rid[0]){
  log.info(" "+name+"查询失败,原因:"+rid[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
}else{
//【找出排班明细中该小组客服所有人的ID】
rid = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz]],100,0) 
if(rid[0]){
  log.info(" "+name+"查询失败,原因:"+rid[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
}

//rid是具体要分配给哪些客服
//sykfid 分配的客服的id
List sykfid=[]
List sykfid1 = rid[1]["dataList"]["field_C1D3T__c"] as List//该小组所有客服id
sykfid1.eachWithIndex {
    item1, int i01-> 
      List CCCC=item1 as List
      String C=CCCC[0]
  // log.info("CCCCC"+C)
    sykfid.add(C)
}



//总排班客服数据
def  zpb = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz]],100,0) 
if(zpb[0]){
  log.info(" "+name+"查询失败,原因:"+zpb[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}

//sykfidzpb 总排班客服id
List sykfidzpb=[]  //总排班数据集合 不管排除条件
List sykfid1zpb = zpb[1]["dataList"]["field_C1D3T__c"] as List//该小组所有客服id
sykfid1zpb.eachWithIndex {
    item1zpb, int i01zpb-> 
      List CCCC1=item1zpb as List
      String C1=CCCC1[0]
  // log.info("CCCCC"+C)
    sykfidzpb.add(C1)
}

log.info("总排班数据集合"+sykfidzpb)

List qvvvv=[]
//log.info("KFBPJH的值"+KFBPJH)
List sykfID98 =[]
List tckfjh =[]   //剔除客服集合
List CS=[]//要分城市资源集合
List ccc=[]
List KFBPJH=rid[1]["dataList"] as List //客服排班明细表集合
String  PDSFWB=""  //判断是否外包并且符合渠道数据直接分给外包客服
//线索时间内的排班客服遍历
KFBPJH.eachWithIndex {
    item, int i0-> 
    String CSXX=item["field_bsx8o__c"] as String //不分城市信息 
    List CSXXB=item["field_s22zl__c"] as List //分城市信息 
    List QDXX1=item["field_4a7xV__c"] as List //渠道信息
    String sstd=item["field_8c94B__c"] as String //所属团队
     
     
     
    //log.info("渠道集合"+QDXX1) 
    String QDXX 
    String QDXX11
    List QDXX2 
    List kfid1=item["field_C1D3T__c"] as List 
    String kfid=kfid1[0] as String
    String field_1gbW5__c=item["field_1gbW5__c"] as String //是否分加盟数据
    //String field_1gbW5__c=field_1gbW5__c1[0] as String
    //log.info("是否只分加盟"+field_1gbW5__c)
    //field_6eh1m__c 一级渠道
    //option1是
    //j2M1BVprl 其他
    if(field_1gbW5__c=="option1"){//只分加盟数据
    //6136eb62db65520001cf7c60:加盟
      if(field_6eh1m__c!="6136eb62db65520001cf7c60"){//分加盟的话,客服不是加盟剔除
        tckfjh.add(kfid)
      }
    }else if(field_1gbW5__c=="j2M1BVprl"){ //不分加盟的话,客服是加盟的话剔除
      if(field_6eh1m__c=="6136eb62db65520001cf7c60"){
        tckfjh.add(kfid)
      }
    }
    if(QDXX1==null){
      qvvvv.add(kfid)
    }
    
    //城市不符合规则排除
    if(CSXX!=null) {
        //城市信息不为空开始不分发当前资源给该客服 
        boolean fx=CSXX.contains(";") 
        if(fx) {
            List CCC=CSXX.split(";") as List //单个客服城市信息集合 
            //log.info("CCC的值"+CCC) 
            CCC.eachWithIndex { 
                item1, int i-> 
                zfzycsxx=CCC[i] 
                boolean fx01=field_HCtKY__c.contains(zfzycsxx)//判断是否包含规则的城市信息 
                if(fx01) {//如果包含资源排除分给他 
                tckfjh.add(kfid)
                }
                zfzycsxx=null
            }
        }
        else {
            zfzycsxx=CSXX 
            boolean fx01=field_HCtKY__c.contains(zfzycsxx)//判断是否包含规则的城市信息 
            if(fx01){  //如果包含资源排除分给他 
                tckfjh.add(kfid) 
                zfzycsxx=null
            }
        }
    }
  
  //QDXX1 渠道信息
  if(QDXX1!=null) {
      if(QDXX1.size()>1) {
          //log.info(QDXX1) 
          QDXX1.eachWithIndex {
              item2, int i2-> 
              zfzyqdxx=QDXX1[i2] 
              if(zfzyqdxx!=null) {
                  if(zfzyqdxx=="option1") {
                      zfzyqdxx="自媒体"
                  }
                  else if(zfzyqdxx=="3182Nbowf") {
                      zfzyqdxx="电商"
                  }
                  else if(zfzyqdxx=="35P13K7Iw") {
                      zfzyqdxx="竞价"
                  }
                  else if(zfzyqdxx=="1sS4qjEb2") {
                      zfzyqdxx="团购"
                  }
                  else if(zfzyqdxx=="fqga4v7S5") {
                      zfzyqdxx="校区"
                  }
                  else if(zfzyqdxx=="8Tbymic90") {
                      zfzyqdxx="信息流"
                  }
                  else if(zfzyqdxx=="other") {
                      zfzyqdxx="其他"
                  }
                  //log.info("排班渠道信息1"+zfzyqdxx) 
                  boolean fx0=field_3X6yP__c.contains(zfzyqdxx)//判断是否包含规则的渠道信息 
                // log.info("渠道匹配"+fx0) 
                  if(fx0) {
                      //如果包含资源排除分给他 
                      tckfjh.add(kfid) 
                    // log.info("渠道匹配剔除客服"+kfid) 
                    // log.info("剔除客服集合:"+tckfjh)
                  }
                  zfzyqdxx=null
              }
          }
      }
      else {
          QDXX=QDXX1[0] as String 
          if(QDXX=="option1") {
              QDXX="自媒体"
          }
          else if(QDXX=="3182Nbowf") {
              QDXX="电商"
          }
          else if(QDXX=="35P13K7Iw") {
              QDXX="竞价"
          }
          else if(QDXX=="1sS4qjEb2") {
              QDXX="团购"
          }
          else if(QDXX=="fqga4v7S5") {
              QDXX="校区"
          }
          else if(QDXX=="8Tbymic90") {
              QDXX="信息流"
          }
          else if(QDXX=="other") {
              QDXX="其他"
          }
          zfzyqdxx=QDXX 
          boolean fx01=field_3X6yP__c.contains(zfzyqdxx)//判断是否包含规则的渠道信息 
          if(fx01) {//如果包含资源排除分给他 
              tckfjh.add(kfid) 
              zfzyqdxx=null
          }
      }
  }
  else {
      QDXX=null
  }
  
  
  
  //城市信息
  if(CSXXB!=null) {
    ccc.add(kfid)
      if(CSXXB.size()>1) {
          //log.info(QDXX1) 
          CSXXB.eachWithIndex {
              item3, int i3-> 
              zfzycsxxb=CSXXB[i3] 
              if(zfzycsxxb!=null) {
                log.info("chengs11"+zfzycsxxb)
                  if(zfzycsxxb=="5CEuz3bh2") {
                      zfzycsxxb="柳州"
                  }
                  else if(zfzycsxxb=="gR8Zo1987") {
                      zfzycsxxb="太仓"
                  }
                  else if(zfzycsxxb=="NOv2xp2Rt") {
                      zfzycsxxb="衡阳"
                  }
                  else if(zfzycsxxb=="9YpLov8Dq") {
                      zfzycsxxb="黔东"
                  }
                  else if(zfzycsxxb=="B80mW7nw2") {
                      zfzycsxxb="昆山"
                  }
                  else if(zfzycsxxb=="0vZBeiWq0") {
                      zfzycsxxb="镇江"
                  }
                  else if(zfzycsxxb=="krN68r2mo") {
                      zfzycsxxb="乌鲁木齐"
                  }
                  else if(zfzycsxxb=="1m59Ee6HP") {
                      zfzycsxxb="临沂"
                  }
                  else if(zfzycsxxb=="smkG2vw89") {
                      zfzycsxxb="西安"
                  }
                  else if(zfzycsxxb=="S7bjvQ2kZ") {
                      zfzycsxxb="西宁"
                  }
                  else if(zfzycsxxb=="rFkcc91ew") {
                      zfzycsxxb="拉萨"
                  }
                  else if(zfzycsxxb=="45m20ln3E") {
                      zfzycsxxb="淮安"
                  }
                  else if(zfzycsxxb=="BgEboE9O5") {
                      zfzycsxxb="福州"
                  }
                  else if(zfzycsxxb=="k2s9Q0wGv") {
                      zfzycsxxb="广州"
                  }
                  else if(zfzycsxxb=="a71pQGOmV") {
                      zfzycsxxb="泉州"
                  }
                  else if(zfzycsxxb=="xLN02Ilzw") {
                      zfzycsxxb="芜湖"
                  }
                  else if(zfzycsxxb=="zm7wxJ7uy") {
                      zfzycsxxb="重庆"
                  }
                  
                  else if(zfzycsxxb=="Avk75zCk7") {
                      zfzycsxxb="银川"
                  }
                  else if(zfzycsxxb=="larT61c0k") {
                      zfzycsxxb="烟台"
                  }
                  else if(zfzycsxxb=="N101BlAai") {
                      zfzycsxxb="遵义"
                  }
                  else if(zfzycsxxb=="YWjaHyd2m") {
                      zfzycsxxb="兰州"
                  }
                  else if(zfzycsxxb=="11u3mo563") {
                      zfzycsxxb="呼和浩特"
                  }
                  else if(zfzycsxxb=="gTNby2zLh") {
                      zfzycsxxb="赣州"
                  }else if(zfzycsxxb=="pCe26W2h1") {
                      zfzycsxxb="潍坊"
                  }else if(zfzycsxxb=="u1umJol1W") {
                      zfzycsxxb="昆明"
                  }
                  else if(zfzycsxxb=="4xxdyfaP8") {
                      zfzycsxxb="湛江"
                  }
                  else if(zfzycsxxb=="dKg0wG1pv") {
                      zfzycsxxb="金华"
                  }else if(zfzycsxxb=="32b1Ununo") {
                      zfzycsxxb="嘉兴"
                  }else if(zfzycsxxb=="2i1xD626W") {
                      zfzycsxxb="厦门"
                  }else if(zfzycsxxb=="qCt01xq0D") {
                      zfzycsxxb="清远"
                  }else if(zfzycsxxb=="2z4d7Zouw") {
                      zfzycsxxb="肇庆"
                  }else if(zfzycsxxb=="UCa9Ew8KB") {
                      zfzycsxxb="扬州"
                  }else if(zfzycsxxb=="Svcf5cH1G") {
                      zfzycsxxb="哈尔斌"
                  }else if(zfzycsxxb=="vDwcrfcY4") {
                      zfzycsxxb="海口"
                  }else if(zfzycsxxb=="7l529OAq2") {
                      zfzycsxxb="保定"
                  }else if(zfzycsxxb=="LimNx23wg") {
                      zfzycsxxb="荆门"
                  }else if(zfzycsxxb=="f9Z75bVOo") {
                      zfzycsxxb="长春"
                  }else if(zfzycsxxb=="4d5R2mPeY") {
                      zfzycsxxb="南宁"
                  }else if(zfzycsxxb=="FDXyW7mcz") {
                      zfzycsxxb="太原"
                  }else if(zfzycsxxb=="EvHzhM12i") {
                      zfzycsxxb="郑州"
                  }else if(zfzycsxxb=="Aa2HG8wGc") {
                      zfzycsxxb="大连沙"
                  }else if(zfzycsxxb=="ciolnc1G7") {
                      zfzycsxxb="沈阳"
                  }else if(zfzycsxxb=="Dc0it1IIS") {
                      zfzycsxxb="江门"
                  }else if(zfzycsxxb=="smxkpAm7c") {
                      zfzycsxxb="晋中"
                  }else if(zfzycsxxb=="fF5ep41To") {
                      zfzycsxxb="贵阳"
                  }else if(zfzycsxxb=="s048cb2kb") {
                      zfzycsxxb="绍兴"
                  }else if(zfzycsxxb=="4e7xkJwGP") {
                      zfzycsxxb="三亚"
                  }else if(zfzycsxxb=="7tmgx8977") {
                      zfzycsxxb="淄博"
                  }else if(zfzycsxxb=="97vlSd8Wk") {
                      zfzycsxxb="徐州"
                  }else if(zfzycsxxb=="dspnPr6Ts") {
                      zfzycsxxb="台州"
                  }else if(zfzycsxxb=="9fnwCka4F") {
                      zfzycsxxb="济宁"
                  }else if(zfzycsxxb=="5hi231i4G") {
                      zfzycsxxb="温州"
                  }else if(zfzycsxxb=="7bXR2t0BW") {
                      zfzycsxxb="洛阳"
                  }else if(zfzycsxxb=="LpnnB0ygn") {
                      zfzycsxxb="汕头"
                  }else if(zfzycsxxb=="EZpEmc38z") {
                      zfzycsxxb="邯郸"
                  }else if(zfzycsxxb=="FOdccC0lq") {
                      zfzycsxxb="佛山"
                  }else if(zfzycsxxb=="7KfVNd5f7") {
                      zfzycsxxb="苏州"
                  }else if(zfzycsxxb=="0Sz4yg21R") {
                      zfzycsxxb="北京"
                  }else if(zfzycsxxb=="g6f2eRR03") {
                      zfzycsxxb="天津"
                  }else if(zfzycsxxb=="A2MKij783") {
                      zfzycsxxb="石家庄"
                  }else if(zfzycsxxb=="cEc12T6no") {
                      zfzycsxxb="唐山"
                  }else if(zfzycsxxb=="1dtDiy15D") {
                      zfzycsxxb="济南"
                  }else if(zfzycsxxb=="f1uXkokE5") {
                      zfzycsxxb="青岛"
                  }else if(zfzycsxxb=="0V4Ucd524") {
                      zfzycsxxb="深圳"
                  }else if(zfzycsxxb=="jnSjr13e7") {
                      zfzycsxxb="中山"
                  }else if(zfzycsxxb=="GeVqsX0sr") {
                      zfzycsxxb="惠州"
                  }else if(zfzycsxxb=="8ZU867f9g") {
                      zfzycsxxb="东莞"
                  }else if(zfzycsxxb=="A1gzf5Ix7") {
                      zfzycsxxb="珠海"
                  }else if(zfzycsxxb=="TaJ600KRB") {
                      zfzycsxxb="南京"
                  }else if(zfzycsxxb=="Qv6bd2YGg") {
                      zfzycsxxb="南通"
                  }else if(zfzycsxxb=="cE5o5sVxH") {
                      zfzycsxxb="常州"
                  }else if(zfzycsxxb=="wrnZK9ize") {
                      zfzycsxxb="无锡"
                  }else if(zfzycsxxb=="C9w51msT9") {
                      zfzycsxxb="合肥"
                  }else if(zfzycsxxb=="t1QzQg72l") {
                      zfzycsxxb="上海"
                  }else if(zfzycsxxb=="mz7pSY3fr") {
                      zfzycsxxb="武汉"
                  }else if(zfzycsxxb=="jT1CC4pyi") {
                      zfzycsxxb="南昌"
                  }else if(zfzycsxxb=="98aw894u6") {
                      zfzycsxxb="长沙"
                  }else if(zfzycsxxb=="p66Y89fvc") {
                      zfzycsxxb="杭州"
                  }else if(zfzycsxxb=="tpiWF2GV4") {
                      zfzycsxxb="宁波"
                  }else if(zfzycsxxb=="BSn6hvvC0") {
                      zfzycsxxb="成都"
                  }else if(zfzycsxxb=="gcp6yc8Dd") {
                      zfzycsxxb="九江"
                  }
                  
                  
                  //log.info("排班渠道信息1"+zfzyqdxx) 
                  boolean fx0=field_HCtKY__c.contains(zfzycsxxb)//判断是否包含规则的cs信息 
                // log.info("渠道匹配"+fx0) 
                  if(fx0) {
                      //如果包含资源排除分给他 
                      CS.add(kfid) 
                    // log.info("渠道匹配剔除客服"+kfid) 
                    // log.info("剔除客服集合:"+tckfjh)
                  }
                  zfzycsxxb=null
              }
          }
      }
      else {
          QDXX11=CSXXB[0] as String 
          log.info("chengs"+QDXX11)
          if(QDXX11=="5CEuz3bh2") {
                    QDXX11="柳州"
                  }
                  else if(QDXX11=="gR8Zo1987") {
                    QDXX11="太仓"
                  }
                  else if(QDXX11=="NOv2xp2Rt") {
                    QDXX11="衡阳"
                  }
                  else if(QDXX11=="9YpLov8Dq") {
                    QDXX11="黔东"
                  }
                  else if(QDXX11=="B80mW7nw2") {
                    QDXX11="昆山"
                  }
                  else if(QDXX11=="0vZBeiWq0") {
                    QDXX11="镇江"
                  }
                  else if(QDXX11=="krN68r2mo") {
                    QDXX11="乌鲁木齐"
                  }
                  else if(QDXX11=="1m59Ee6HP") {
                    QDXX11="临沂"
                  }
                  else if(QDXX11=="smkG2vw89") {
                    QDXX11="西安"
                  }
                  else if(QDXX11=="S7bjvQ2kZ") {
                    QDXX11="西宁"
                  }
                  else if(QDXX11=="rFkcc91ew") {
                    QDXX11="拉萨"
                  }
                  else if(QDXX11=="45m20ln3E") {
                    QDXX11="淮安"
                  }
                  else if(QDXX11=="BgEboE9O5") {
                    QDXX11="福州"
                  }
                  else if(QDXX11=="k2s9Q0wGv") {
                    QDXX11="广州"
                  }
                  else if(QDXX11=="a71pQGOmV") {
                    QDXX11="泉州"
                  }
                  else if(QDXX11=="xLN02Ilzw") {
                    QDXX11="芜湖"
                  }
                  else if(QDXX11=="zm7wxJ7uy") {
                    QDXX11="重庆"
                  }
                  
                  else if(QDXX11=="Avk75zCk7") {
                    QDXX11="银川"
                  }
                  else if(QDXX11=="larT61c0k") {
                    QDXX11="烟台"
                  }
                  else if(QDXX11=="N101BlAai") {
                    QDXX11="遵义"
                  }
                  else if(QDXX11=="YWjaHyd2m") {
                    QDXX11="兰州"
                  }
                  else if(QDXX11=="11u3mo563") {
                    QDXX11="呼和浩特"
                  }
                  else if(QDXX11=="gTNby2zLh") {
                    QDXX11="赣州"
                  }else if(QDXX11=="pCe26W2h1") {
                    QDXX11="潍坊"
                  }else if(QDXX11=="u1umJol1W") {
                    QDXX11="昆明"
                  }
                  else if(QDXX11=="4xxdyfaP8") {
                    QDXX11="湛江"
                  }
                  else if(QDXX11=="dKg0wG1pv") {
                    QDXX11="金华"
                  }else if(QDXX11=="32b1Ununo") {
                    QDXX11="嘉兴"
                  }else if(QDXX11=="2i1xD626W") {
                    QDXX11="厦门"
                  }else if(QDXX11=="qCt01xq0D") {
                    QDXX11="清远"
                  }else if(QDXX11=="2z4d7Zouw") {
                    QDXX11="肇庆"
                  }else if(QDXX11=="UCa9Ew8KB") {
                    QDXX11="扬州"
                  }else if(QDXX11=="Svcf5cH1G") {
                    QDXX11="哈尔斌"
                  }else if(QDXX11=="vDwcrfcY4") {
                    QDXX11="海口"
                  }else if(QDXX11=="7l529OAq2") {
                    QDXX11="保定"
                  }else if(QDXX11=="LimNx23wg") {
                    QDXX11="荆门"
                  }else if(QDXX11=="f9Z75bVOo") {
                    QDXX11="长春"
                  }else if(QDXX11=="4d5R2mPeY") {
                    QDXX11="南宁"
                  }else if(QDXX11=="FDXyW7mcz") {
                    QDXX11="太原"
                  }else if(QDXX11=="EvHzhM12i") {
                    QDXX11="郑州"
                  }else if(QDXX11=="Aa2HG8wGc") {
                    QDXX11="大连沙"
                  }else if(QDXX11=="ciolnc1G7") {
                    QDXX11="沈阳"
                  }else if(QDXX11=="Dc0it1IIS") {
                    QDXX11="江门"
                  }else if(QDXX11=="smxkpAm7c") {
                    QDXX11="晋中"
                  }else if(QDXX11=="fF5ep41To") {
                    QDXX11="贵阳"
                  }else if(QDXX11=="s048cb2kb") {
                    QDXX11="绍兴"
                  }else if(QDXX11=="4e7xkJwGP") {
                    QDXX11="三亚"
                  }else if(QDXX11=="7tmgx8977") {
                    QDXX11="淄博"
                  }else if(QDXX11=="97vlSd8Wk") {
                    QDXX11="徐州"
                  }else if(QDXX11=="dspnPr6Ts") {
                    QDXX11="台州"
                  }else if(QDXX11=="9fnwCka4F") {
                    QDXX11="济宁"
                  }else if(QDXX11=="5hi231i4G") {
                    QDXX11="温州"
                  }else if(QDXX11=="7bXR2t0BW") {
                    QDXX11="洛阳"
                  }else if(QDXX11=="LpnnB0ygn") {
                    QDXX11="汕头"
                  }else if(QDXX11=="EZpEmc38z") {
                    QDXX11="邯郸"
                  }else if(QDXX11=="FOdccC0lq") {
                    QDXX11="佛山"
                  }else if(QDXX11=="7KfVNd5f7") {
                    QDXX11="苏州"
                  }else if(QDXX11=="0Sz4yg21R") {
                    QDXX11="北京"
                  }else if(QDXX11=="g6f2eRR03") {
                    QDXX11="天津"
                  }else if(QDXX11=="A2MKij783") {
                    QDXX11="石家庄"
                  }else if(QDXX11=="cEc12T6no") {
                    QDXX11="唐山"
                  }else if(QDXX11=="1dtDiy15D") {
                    QDXX11="济南"
                  }else if(QDXX11=="f1uXkokE5") {
                    QDXX11="青岛"
                  }else if(QDXX11=="0V4Ucd524") {
                    QDXX11="深圳"
                  }else if(QDXX11=="jnSjr13e7") {
                    QDXX11="中山"
                  }else if(QDXX11=="GeVqsX0sr") {
                    QDXX11="惠州"
                  }else if(QDXX11=="8ZU867f9g") {
                    QDXX11="东莞"
                  }else if(QDXX11=="A1gzf5Ix7") {
                    QDXX11="珠海"
                  }else if(QDXX11=="TaJ600KRB") {
                    QDXX11="南京"
                  }else if(QDXX11=="Qv6bd2YGg") {
                    QDXX11="南通"
                  }else if(QDXX11=="cE5o5sVxH") {
                    QDXX11="常州"
                  }else if(QDXX11=="wrnZK9ize") {
                    QDXX11="无锡"
                  }else if(QDXX11=="C9w51msT9") {
                    QDXX11="合肥"
                  }else if(QDXX11=="t1QzQg72l") {
                    QDXX11="上海"
                  }else if(QDXX11=="mz7pSY3fr") {
                    QDXX11="武汉"
                  }else if(QDXX11=="jT1CC4pyi") {
                    QDXX11="南昌"
                  }else if(QDXX11=="98aw894u6") {
                    QDXX11="长沙"
                  }else if(QDXX11=="p66Y89fvc") {
                    QDXX11="杭州"
                  }else if(QDXX11=="tpiWF2GV4") {
                    QDXX11="宁波"
                  }else if(QDXX11=="BSn6hvvC0") {
                    QDXX11="成都"
                  }else if(QDXX11=="gcp6yc8Dd") {
                    QDXX11="九江"
                  }
          zfzycsxxb=QDXX11 
          log.info("chengsjh"+zfzycsxxb)
          // boolean fx03=field_HCtKY__c.contains(zfzycsxxb)//判断是否包含规则的渠道信息 
          // log.info("是否为true:"+fx03)
          // if(fx03) {//如果包含资源排除分给他 
          //     CS.add(kfid) 
          //     zfzycsxxb=null
          // }
      }
  }
  else {
      QDXX11=null
  }
/* log.info("排班城市信息"+i0+CSXX) 
  log.info("排班渠道信息"+i0+QDXX) 
  log.info("当前客服id"+kfid)*/
}



String KFNZ123
if(field_3X6yP__c=="团购"){
  //渠道大类是团购

  /*if(field_T5ocp__c=="61384a9160545e000137a85a"){//二级渠道为美团大众
    //List vvvv=["2187","3368","2099","1330","1462"]
      log.info("美团大众"+qvvvv)
  def yyyz= Fx.object.aggregate("object_3YV80__c",Aggregate.MIN("field_e9542__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(qvvvv)]]) //【["field_8c94B__c":"option1"]直营团队】
      
      int yyyz1
      if(yyyz[1]==null){
        yyyz1 =0
      }else{
        yyyz1=yyyz[1]
      }
  log.info("美团大众档客服的最小资源数为"+yyyz1)
  def yyyz4 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(qvvvv)],["field_e9542__c":yyyz1]],100,0)
  List KFID=yyyz4[1]["dataList"]["field_C1D3T__c"] as List
  log.info("美团大众档客服的最小资源数数据为"+KFID)
  
  if(KFID.size()>0){
  int cv=Fx.random.nextInt(KFID.size())
  KFNZ123=KFID[cv]
  log.info("随机数c"+cv)
}else{
  KFNZ123=KFID[0]
}

  log.info("美团大众档客服的最小资源客服id为"+KFNZ123)
  
  log.info("【开始分配资源】:")
  def fp1 = Fx.object.changeOwner("LeadsObj",_id,KFNZ123)
if(fp1[0]){
    log.info(" "+tel+"分配失败:"+fp1[2])
  }else{
  log.info(" "+tel+"【分配资源成功】:"+KFNZ123)
  }
  log.info("【开始更新领取分配时间】:")
  def fp =  Fx.object.update("LeadsObj",_id,["assigned_time":create_date_time,"field_ml9B1__c":create_date_data,"biz_status":"un_processed"],false)
if(fp[0]){
    log.info(" "+tel+"分配失败错误:"+fp[2])
  }
  log.info("【更新领取分配时间成功】"+create_date_time)
  BigDecimal zzys157=0
  qvvvv.eachWithIndex{
  id111,int ra->
    //更新实时获取资源数
    
    def zzy1 = Fx.object.find("LeadsObj", [["assigned_time": Operator.BETWEEN([dateTimeZ, dateTimeW])],["owner":id111],["field_BCdih__c":"option1"],["field_T5ocp__c":"61384a9160545e000137a85a"],["fied_6eh1m__c": Operator.IN(["612cc86c13d2de000108dbd0", "612cc86c13d2de000108dbcb","6136eb62db65520001cf7c60"])]],100,0) //该客服拥有的资源
  if(zzy1[1]==null){
    zzys157=0
  }else{
      zzys157 = zzy1[1]["size"] as BigDecimal//该客服实时已获资源数
  }
  log.info(id111)
if(id111==KFNZ123){
      zzys157=zzys157+1
    }
  log.info("美团时尚资源数"+zzys157)
  def sssjb3 = Fx.object.find("object_3YV80__c",[["field_C1D3T__c":id111],["field_jI59Y__c":dqrq]],1,0) 
  if(sssjb3[0]){
    log.info("查询失败,原因:"+sssjb3[2])
  }
  List zid133 = sssjb3[1]["dataList"]["_id"] as List
    String zid =zid133[0] as String
    log.info("id"+zid)
    if(zid!=null){
    
  def sssjb533 =  Fx.object.update("object_3YV80__c",zid,["field_e9542__c":zzys157],false)//更新为不在上班中、已获资源数、已获渠道资源数
            if(sssjb533[0]){
              log.info("更新上班状态失败:"+sssjb533[2])
            }
  }
  }
  }*/



}else{
log.info("buweikong"+ccc)

tckfjh=Fx.utils.listUnique(tckfjh)
CS=Fx.utils.listUnique(CS)
log.info("剔除客服集合:"+tckfjh)
log.info("剔除客服集合000:"+CS)
if(tckfjh==[]){
  tckfjh.add(1001)
}

List CSS=[]
CS.eachWithIndex { 
  itemccc, int icc ->

  log.info(itemccc)
  BigDecimal AV=tckfjh.lastIndexOf(itemccc)
  log.info(AV)
  if(AV<0){
   
  CSS.add(itemccc)
  }
  }
tckfjh.addAll(ccc)
tckfjh=Fx.utils.listUnique(tckfjh)
log.info("剔除客服集合1:"+tckfjh)
log.info("剔除客服集合2:"+CSS)


//【找出剔除不符合条件的客服排班明细中该小组客服所有人的ID】

List WBKF=[]
List ZBKF=[]
List TBKF=[]
List PCSJKF=[]   //排除时间之后的客服集合
Boolean GXKFZT=false
List sykfid2
if(dqrq!=null){ //查询符合条件的客服
 
 
 
def rid01
//SFCWB 是否优先分配给晚班
//zzzy 
if(SFCWB=="是"&&zzzy<field_4oJa9__c&&zzywb>0){  
  
  rid01 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.GTE(time12)],["field_C1D3T__c":Operator.NIN(tckfjh)]],100,0) //查询上班时间大于等于12点的数据
if(rid01[0]){
  log.info(" "+name+"查询失败1111,原因:"+rid01[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
YYY="是"
//YY.addAll( <List list>)
}else if(SFCWB=="是"&&zzzy>=field_tow1p__c&&zzywb>0){
  
  rid01 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.LT(time12)],["field_C1D3T__c":Operator.NIN(tckfjh)]],100,0) //查询上班时间小于等于12点的数据
if(rid01){
  log.info(" "+name+"查询失败2,原因:"+rid01[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
YYY="是"
//YY.addAll( <List list>)
}else if(create_time>MAXSB&&create_time<time2359){
  
  rid01 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.LT(time12)],["field_C1D3T__c":Operator.NIN(tckfjh)]],100,0) //查询上班时间小于等于12点的数据
if(rid01){
  log.info(" "+name+"查询失败3,原因:"+rid01[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
YYY="是"
//YY.addAll( <List list>)
}else if(create_time>time6&&create_time<time18&&zzzy>=field_tow1p__c&&zzywb>0){
  
  rid01 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_BLT4t__c":Operator.LT(time12)],["field_C1D3T__c":Operator.NIN(tckfjh)]],100,0) //查询上班时间小于等于12点的数据
if(rid01){
  log.info(" "+name+"查询失败4,原因:"+rid01[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
YYY="是"
//YY.addAll( <List list>)
}else{
//【找出排班明细中该小组客服所有人的ID】
rid01 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.NIN(tckfjh)]],100,0) 
if(rid01[0]){
  log.info(" "+name+"查询失败5,原因:"+rid01[2])
}else{
  //log.info("所有排班明细该小组的数据:"+rid[1])
}
}
 
/* rid01 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.NIN(tckfjh)]],100,0) 
              if(rid[0]){
                log.info(" "+name+"查询失败,原因:"+rid01[2])
              }else{
                //log.info("剔除之后排班明细该小组的数据:"+rid01[1])
              }*/
              log.info("【排班明细中该小组客服所有人的ID】:"+sykfid)
                sykfid2 = rid01[1]["dataList"]["field_C1D3T__c"] as List//该小组所有客服id
              log.info("符合要求的客服id"+sykfid2)
              List KFBPJH1=rid01[1]["dataList"] as List //符合要求客服排班明细表集合
                    KFBPJH1.eachWithIndex {
                        itemz, int iz0-> 
                          Time MXsbsj=itemz["field_BLT4t__c"] as Time
                          Time MXxbsj=itemz["field_Tfw4u__c"] as Time
                          String kfids1=itemz["field_C1D3T__c"] as String 
                          //String kfids=kfids1[0] as String
                          if(create_time>=MXsbsj&&create_time<MXxbsj){ //资源呼入时间在客服的上班时间区间的
                          PCSJKF.add(kfids1)
                          GXKFZT=true
                          }else if(create_time>=MAXSB&&create_time<time2359){
                            PCSJKF.add(kfids1)
                          GXKFZT=true
                          }else if(create_time>=time0&&create_time<time9){
                            PCSJKF.add(kfids1)
                          GXKFZT=true
                          }
                    }
 
} 
 
log.info("符合要求的客服id2"+PCSJKF)




//获取外包客服的资源数及其当前资源占比
def zpzy6= Fx.object.aggregate("object_3YV80__c",Aggregate.SUM("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(sykfidzpb)],["field_7QFic__c":"Vi7M8rBq5"]]) //【["field_8c94B__c":"option1"]直营团队】

int zzyy7
if(zpzy6[1]==null){
  zzyy7 =0
}else{
  zzyy7=zpzy6[1]
}
log.info("外包客服总资源数:"+zzyy7) 


//查询当日总资源数 ,["field_6eh1m__c": Operator.IN(["612cc86c13d2de000108dbd0", "612cc86c13d2de000108dbcb"])]
def zpzy = Fx.object.aggregate("LeadsObj",Aggregate.COUNT() ,2,[["assigned_time": Operator.BETWEEN([dateTimeZ, dateTimeW])],["field_BCdih__c":"option1"],["field_6eh1m__c": Operator.IN(["612cc86c13d2de000108dbd0", "612cc86c13d2de000108dbcb","6136eb62db65520001cf7c60"])]])
int zzy
if(zpzy[1]==null){
  zzy =1
}else{
  zzy=zpzy[1]
}
if(zzy==0){
  zzy=1
}
if(zzy>zzyy7){
  zzy=zzy-zzyy7
}

//int zzy1=zpzy[1]
log.info("总资源数:"+zzy) 

//取渠道表的权重
/*63086b0eaae01f00018fe0a4	自动分发2.0直营权重配比
625e5e6abe74190001831ae6	加盟-信息流+团购
625cfa948086790001cb2188	直营-信息流+竞价
6247b9f0f6f6630001ba20f9	A类渠道
6228442cfaa8760001a957cf	加盟客服(巨网三、百度信息流、美团)*/

def QZGZB = Fx.object.findById("object_SgcL6__c", "63086b0eaae01f00018fe0a4") //根据渠道权重取出设定权重
      if(QZGZB[0]){
        log.info("二级渠道类型数据查询失败,原因:"+QZGZB[2])
      }else{
      // log.info("权重表的内容:"+QZGZB[1])
      }
BigDecimal qdqz1 = QZGZB[1]["field_1N3tc__c"] as BigDecimal //权重表中一档客服接入权重占比
BigDecimal qdqz2 = QZGZB[1]["field_Cc8q1__c"] as BigDecimal //权重表中二档客服接入权重占比
BigDecimal qdqz3 = QZGZB[1]["field_1v5wC__c"] as BigDecimal //权重表中三档客服接入权重占比
 
log.info("一档权重:"+qdqz1)
log.info("二档权重:"+qdqz2)
log.info("三档权重:"+qdqz3)
 
 
 
 
//获取一档客服的资源数及其当前资源占比
  def zpzy1 = Fx.object.aggregate("object_3YV80__c",Aggregate.SUM("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(sykfidzpb)],["field_7QFic__c":"option1"]]) //【["field_8c94B__c":"option1"]直营团队】
int zzyy
if(zpzy1[1]==null){
  zzyy =0
}else{
  zzyy=zpzy1[1]
}
log.info("一档客服总资源数:"+zzyy) 
//获取二档客服的资源数及其当前资源占比
def zpzy2 = Fx.object.aggregate("object_3YV80__c",Aggregate.SUM("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(sykfidzpb)],["field_7QFic__c":"7zHbp6f09"]]) //【["field_8c94B__c":"option1"]直营团队】

int zpzy3
if(zpzy2[1]==null){
  zpzy3 =0
}else{
  zpzy3=zpzy2[1]
}
log.info("二档客服总资源数:"+zpzy3) 
//获取三档客服的资源数及其当前资源占比
def zpzy4 = Fx.object.aggregate("object_3YV80__c",Aggregate.SUM("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(sykfidzpb)],["field_7QFic__c":"pR31cc72e"]]) //【["field_8c94B__c":"option1"]直营团队】
int zzyy5
if(zpzy4[1]==null){
  zzyy5 =0
}else{
  zzyy5=zpzy4[1]
}
 
log.info("三档客服总资源数:"+zzyy5) 

//一档资源数占比
BigDecimal YDZB2=zzyy/zzy*100  
//二档资源数占比
BigDecimal EDZB2=zpzy3/zzy*100
//三档资源数占比
BigDecimal SDZB2=zzyy5/zzy*100
//BigDecimal WBZB=zzyy7/zzy*100

//一档人数*资源比 49 * 8 *
//ZZB = (10 * 44 + 32 * 8 + 24 *8 ) * 100
BigDecimal YDZB1=qdqz1*zzyy7r*100 
//二档人数*资源比
BigDecimal EDZB1=qdqz2*zzyy7r1*100 
//三档人数*资源比
BigDecimal SDZB1=qdqz3*zzyy7r2*100 
//总比例
BigDecimal ZZB=YDZB1+EDZB1+SDZB1


//log.info("测试:"+YDZB1)
log.info("总人数比:"+ZZB)

//YDZB = 0.4954 * 100
BigDecimal YDZB=YDZB1/ZZB*100
//EDZB = 0.2882 * 100
BigDecimal EDZB=EDZB1/ZZB*100
//SDZB = 0.2163 * 100
BigDecimal SDZB=SDZB1/ZZB*100
 
//log.info("测试:"+SDZB)
BigDecimal YDZB3
BigDecimal EDZB3
BigDecimal SDZB3

if(zzyy7r==0||YDZB==0){
  YDZB3=0
}else {
    //总资源 * YDZB / 100 / 人数10
  YDZB3=zzy*(YDZB*0.01)/zzyy7r
}
log.info("一档客服平均资源值:"+YDZB3)
if(zzyy7r==0||EDZB==0){
  EDZB3=0
}else {
  EDZB3=zzy*(EDZB*0.01)/zzyy7r1
}

if(zzyy7r==0||SDZB==0){
  SDZB3=0
}else {
  SDZB3=zzy*(SDZB*0.01)/zzyy7r2
}





log.info("一档客服平均资源值:"+YDZB3)
log.info("二档客服平均资源值:"+EDZB3)
log.info("三档客服平均资源值:"+SDZB3)

log.info("一档权重:"+YDZB)
log.info("二档权重:"+EDZB)
log.info("三档权重:"+SDZB)
 
/* log.info("一档占比:"+YDZB2)
log.info("二档占比:"+EDZB2)
log.info("三档占比:"+SDZB2)*/
 
 
 
  def yyyzz1= Fx.object.aggregate("object_3YV80__c",Aggregate.MIN("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":"option1"]]) //【["field_8c94B__c":"option1"]直营团队】
        
        int yyyz1z1
        if(yyyzz1[1]==null){
          yyyz1z1 =0
        }else{
          yyyz1z1=yyyzz1[1]
        }
    log.info("一档客服的最小资源数为"+yyyz1z1)
   
    def yyyzz2= Fx.object.aggregate("object_3YV80__c",Aggregate.MIN("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":"7zHbp6f09"]]) //【["field_8c94B__c":"option1"]直营团队】
      
      int yyyz1z2
      if(yyyzz2[1]==null){
        yyyz1z2 =0
      }else{
        yyyz1z2=yyyzz2[1]
      }
  log.info("二档客服的最小资源数为"+yyyz1z2)
   
    def yyyzz3= Fx.object.aggregate("object_3YV80__c",Aggregate.MIN("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":"pR31cc72e"]]) //【["field_8c94B__c":"option1"]直营团队】
      
      int yyyz1z3
      if(yyyzz3[1]==null){
        yyyz1z3 =0
      }else{
        yyyz1z3=yyyzz3[1]
      }
  log.info("三档客服的最小资源数为"+yyyz1z3)
 
String KFNZ
String dw
String CC
if(yyyz1z1<=YDZB3){  //一档客服占比不满足优先分给一档
dw="option1"
CC="一"
}else{
  if(yyyz1z2<=EDZB3){
    dw="7zHbp6f09"
    CC="二"
  }else{
    if(yyyz1z3<=SDZB3){
    dw="pR31cc72e"
    CC="三"
  }else{
    dw="option1"
    CC="一"
  }
  
  }
  
}

/*if(YYY=="是"){
  YY.addAll(sykfid)
}else{
  YY.addAll(PCSJKF)
}*/
//假如外包资源值zzyy7<外包资源上限值field_1VzI2__c
if(wb&&zzyy7<field_1VzI2__c&&create_time>time0&&create_time<time9){
  def yyyz5 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_8c94B__c":"Ijc5hP61Q"]],100,0)
  List KFID1=yyyz5[1]["dataList"]["field_C1D3T__c"] as List
  log.info("外包客服的最小资源数数据为"+KFID1)
  if(KFID1==[]){
    if(PCSJKF==[]){
    PCSJKF.addAll(sykfid2)
  }
  def yyyz= Fx.object.aggregate("object_3YV80__c",Aggregate.MIN("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":dw]]) //【["field_8c94B__c":"option1"]直营团队】
      
      int yyyz1
      if(yyyz[1]==null){
        yyyz1 =0
      }else{
        yyyz1=yyyz[1]
      }
  log.info(CC+"档客服的最小资源数为"+yyyz1)
  def yyyz4 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":dw],["field_ox2d1__c":yyyz1]],100,0)
  List KFID=yyyz4[1]["dataList"]["field_C1D3T__c"] as List
  log.info(CC+"档客服的最小资源数数据为"+KFID)
  KFNZ=KFID[0]
  log.info(CC+"档客服的最小资源客服id为"+KFNZ)
  
 

log.info("当前时间在上班的客服id:"+PCSJKF)
  }else{
  List KFID2=KFID1[0] as List
  KFNZ=KFID2[0]
  log.info("外包客服的最小资源客服id为"+KFNZ)
  }
}else if(wb&&zzyy7<field_TRvvz__c&&create_time>time9&&create_time<time18){
  def yyyz5 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_8c94B__c":"Ijc5hP61Q"]],100,0)
  List KFID1=yyyz5[1]["dataList"]["field_C1D3T__c"] as List
  log.info("外包客服的最小资源数数据为"+KFID1)
if(KFID1==[]){
    if(PCSJKF==[]){
    PCSJKF.addAll(sykfid2)
  }
  def yyyz= Fx.object.aggregate("object_3YV80__c",Aggregate.MIN("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":dw]]) //【["field_8c94B__c":"option1"]直营团队】
      
      int yyyz1
      if(yyyz[1]==null){
        yyyz1 =0
      }else{
        yyyz1=yyyz[1]
      }
  log.info(CC+"档客服的最小资源数为"+yyyz1)
  def yyyz4 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":dw],["field_ox2d1__c":yyyz1]],100,0)
  List KFID=yyyz4[1]["dataList"]["field_C1D3T__c"] as List
  log.info(CC+"档客服的最小资源数数据为"+KFID)
  KFNZ=KFID[0]
  log.info(CC+"档客服的最小资源客服id为"+KFNZ)
  
 

log.info("当前时间在上班的客服id:"+PCSJKF)
  }else{
  List KFID2=KFID1[0] as List
  KFNZ=KFID2[0]
  log.info("外包客服的最小资源客服id为"+KFNZ)
  }
}else{
  if(PCSJKF==[]){
    PCSJKF.addAll(sykfid2)
  }
  def yyyz= Fx.object.aggregate("object_3YV80__c",Aggregate.MIN("field_ox2d1__c") ,2, [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":dw]]) //【["field_8c94B__c":"option1"]直营团队】
      
      int yyyz1
      if(yyyz[1]==null){
        yyyz1 =0
      }else{
        yyyz1=yyyz[1]
      }
  log.info(CC+"档客服的最小资源数为"+yyyz1)
  def yyyz4 = Fx.object.find("object_3YV80__c", [["field_jI59Y__c":dqrq],["field_uyzu4__c":xz],["field_C1D3T__c":Operator.IN(PCSJKF)],["field_7QFic__c":dw],["field_ox2d1__c":yyyz1]],100,0)
if( yyyz4[1]==null ){
  KFNZ='00000'
}else{
  List KFID=yyyz4[1]["dataList"]["field_C1D3T__c"] as List
  log.info(CC+"档客服的最小资源数数据为"+KFID)
  KFNZ=KFID[0]
  log.info(CC+"档客服的最小资源客服id为"+KFNZ)
}
 

log.info("当前时间在上班的客服id:"+PCSJKF)
}
if(KFNZ!='00000'){

if(KFNZ==null){
  int u=Fx.random.nextInt(PCSJKF.size())
  KFNZ=PCSJKF[u]
  log.info("随机数u"+u)
}
if(CSS.size()>0){
  int c=Fx.random.nextInt(CSS.size())
  KFNZ=CSS[c]
  log.info("随机数c"+c)
}

if(field_6eh1m__c=="612cc86c13d2de000108dbd4"&&field_T5ocp__c=="63744a47f4fbfb000126dc54"){
  List vvvv=["2219","2457"]
  int s=Fx.random.nextInt(vvvv.size())
  KFNZ=vvvv[s]
  log.info("随机数s"+s)
}

log.info("CS:"+CSS)
  log.info("【开始分配资源】:")
  def fp1 = Fx.object.changeOwner("LeadsObj",_id,KFNZ)
if(fp1[0]){
    log.info(" "+tel+"分配失败:"+fp1[2])
  }else{
  log.info(" "+tel+"【分配资源成功】:"+KFNZ)
  }
  log.info("【开始更新领取分配时间】:")
  def fp =  Fx.object.update("LeadsObj",_id,["assigned_time":create_date_time,"field_ml9B1__c":create_date_data,"biz_status":"un_processed"],false)
if(fp[0]){
    log.info(" "+tel+"分配失败错误:"+fp[2])
  }
  log.info("【更新领取分配时间成功】"+create_date_time)
  
  log.info("【开始更新已获资源数】:")
sykfid.eachWithIndex{
  id1,int c->
  def zzy1 = Fx.object.find("LeadsObj", [["assigned_time": Operator.BETWEEN([dateTimeZ, dateTimeW])],["owner":id1],["field_BCdih__c":"option1"],["field_6eh1m__c": Operator.IN(["612cc86c13d2de000108dbd0", "612cc86c13d2de000108dbcb","6136eb62db65520001cf7c60"])]],100,0) //该客服拥有的资源
  zzys1 = zzy1[1]["size"] as BigDecimal//该客服实时已获资源数
  def sssjb3 = Fx.object.find("object_3YV80__c",[["field_C1D3T__c":id1],["field_jI59Y__c":dqrq]],1,0) 
  if(sssjb3[0]){
    log.info("查询失败,原因:"+sssjb3[2])
  }
  List zid1 = sssjb3[1]["dataList"]["_id"] as List
    String zid =zid1[0] as String
      def sssjb5 =  Fx.object.update("object_3YV80__c",zid,["field_ox2d1__c":zzys1],false)//更新为不在上班中、已获资源数、已获渠道资源数
            if(sssjb5[0]){
              log.info("更新上班状态失败:"+sssjb5[2])
            }
      }
}
}
  /*    def sssjb4 = Fx.object.find("object_3YV80__c",[["field_C1D3T__c":Operator.NIN(PCSJKF)],["field_jI59Y__c":dqrq],["field_uyzu4__c":xz]],100,0)  //获取不在班的客服
            if(sssjb4[0]){
              log.info("查询失败,原因:"+sssjb4[2])
            }else{
            //log.info("本次循环客服排班明细ID:"+sssjb4[1])
            }
            List zidbuz1 = sssjb4[1]["dataList"] as List
            //log.info("不在上班的客服id"+zidbuz1.size())
            zidbuz1.eachWithIndex{
              id2,int z->
              String ziduz =id2["_id"] as String
              
              def sssjb5 =  Fx.object.update("object_3YV80__c",ziduz,["field_tQ1oq__c":"due1kOZNy"],false)//更新为不在上班中、已获资源数、已获渠道资源数
            if(sssjb5[0]){
              log.info("更新上班状态失败:"+sssjb5[2])
            }
            }
*/
}