|
@@ -365,36 +365,38 @@ func getClueType(item string, data map[string]interface{}, sourceCode string, so
|
|
|
}
|
|
|
|
|
|
// 获取自动分配的人
|
|
|
-func autoDraw(mode, cluename string, isGroup, isCommerce int) (positionId int64, seatNumber, saleName string, saleData []map[string]interface{}, isOk bool) {
|
|
|
+func autoDraw(mode, cluename, phone string, isGroup, isCommerce int) (positionId int64, seatNumber, saleName string, saleData []map[string]interface{}, isOk bool) {
|
|
|
isOk = false
|
|
|
- if isGroup == 0 && isCommerce == 1 && cluename != "" {
|
|
|
- cdata := TiDb.FindOne("dwd_f_crm_clue_info", map[string]interface{}{"cluename": cluename, "is_assign": 1}, "", "")
|
|
|
- if cdata != nil && len(*cdata) > 0 {
|
|
|
- isOk = true
|
|
|
- positionId = common.Int64All((*cdata)["position_id"])
|
|
|
- seatNumber = common.ObjToString((*cdata)["seatNumber"])
|
|
|
- log.Println("positionId seatNumber ", positionId, seatNumber)
|
|
|
- if positionId > 0 {
|
|
|
- pdata := TiDb.SelectBySql(`select * from dwd_f_crm_personnel_management where seat_number is not null and seat_number != ""`)
|
|
|
- if pdata != nil {
|
|
|
- saleData = *pdata
|
|
|
- for _, v := range *pdata {
|
|
|
- resign := common.IntAll(v["resign"])
|
|
|
- if seatNumber == common.ObjToString(v["seat_number"]) {
|
|
|
- if resign == 1 { //离职分配
|
|
|
- sdata := TiDb.SelectBySql(`SELECT b.name,b.position_id,b.seat_number from dwd_d_crm_department_level_succbi a INNER JOIN dwd_f_crm_personnel_management b on a.position_id = b.position_id where a.bi_pcode = (SELECT bi_pcode from dwd_d_crm_department_level_succbi where position_id = ?) and b.role_id = 3`, positionId)
|
|
|
- if sdata != nil && len(*sdata) > 0 {
|
|
|
- positionId = common.Int64All((*sdata)[0]["position_id"])
|
|
|
- seatNumber = common.ObjToString((*sdata)[0]["seat_number"])
|
|
|
- saleName = common.ObjToString((*sdata)[0]["name"])
|
|
|
+ if TiDb.Count("dwd_f_crm_clue_info", map[string]interface{}{"phone": phone, "is_assign": 1}) == 0 {
|
|
|
+ if isGroup == 0 && isCommerce == 1 && cluename != "" {
|
|
|
+ cdata := TiDb.FindOne("dwd_f_crm_clue_info", map[string]interface{}{"cluename": cluename, "is_assign": 1}, "", "")
|
|
|
+ if cdata != nil && len(*cdata) > 0 {
|
|
|
+ isOk = true
|
|
|
+ positionId = common.Int64All((*cdata)["position_id"])
|
|
|
+ seatNumber = common.ObjToString((*cdata)["seatNumber"])
|
|
|
+ log.Println("positionId seatNumber ", positionId, seatNumber)
|
|
|
+ if positionId > 0 {
|
|
|
+ pdata := TiDb.SelectBySql(`select * from dwd_f_crm_personnel_management where seat_number is not null and seat_number != ""`)
|
|
|
+ if pdata != nil {
|
|
|
+ saleData = *pdata
|
|
|
+ for _, v := range *pdata {
|
|
|
+ resign := common.IntAll(v["resign"])
|
|
|
+ if seatNumber == common.ObjToString(v["seat_number"]) {
|
|
|
+ if resign == 1 { //离职分配
|
|
|
+ sdata := TiDb.SelectBySql(`SELECT b.name,b.position_id,b.seat_number from dwd_d_crm_department_level_succbi a INNER JOIN dwd_f_crm_personnel_management b on a.position_id = b.position_id where a.bi_pcode = (SELECT bi_pcode from dwd_d_crm_department_level_succbi where position_id = ?) and b.role_id = 3`, positionId)
|
|
|
+ if sdata != nil && len(*sdata) > 0 {
|
|
|
+ positionId = common.Int64All((*sdata)[0]["position_id"])
|
|
|
+ seatNumber = common.ObjToString((*sdata)[0]["seat_number"])
|
|
|
+ saleName = common.ObjToString((*sdata)[0]["name"])
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ saleName = common.ObjToString(v["name"])
|
|
|
}
|
|
|
- } else {
|
|
|
- saleName = common.ObjToString(v["name"])
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ return
|
|
|
}
|
|
|
- return
|
|
|
}
|
|
|
}
|
|
|
}
|