Browse Source

Merge branch 'master' of http://8.136.199.33:3000/hongze/hz_crm_api into crm/crm_16.7

zhangchuanxing 2 weeks ago
parent
commit
0226f4b1fc

+ 31 - 27
controllers/statistic/rai_data_summary.go

@@ -83,12 +83,15 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 	}
 	var condition string
 	var pars []interface{}
+	var conditionEnSeller string // 手动禁用的销售
 
+	conditionEnSeller = " AND  real_name  NOT  IN  ('余晔', '于卓铭', '张怡', '王芳6') "
 	mapsellerDevelop := make(map[int]bool) // 开拓组销售Map
 	mapsellerService := make(map[int]bool) // 服务组销售Map
 	var sellerIds []string
 	var sellerServiceIds []string
-	condition = " AND role_type_code IN ('rai_seller','rai_group')  AND  admin_id NOT IN(100,194,533,707) "
+	condition = " AND role_type_code IN ('rai_seller','rai_group')    " + conditionEnSeller
+
 	sellerListAll, err := system.GetSysUserItemsOrderByCreated(condition, pars)
 	if err != nil {
 		br.Msg = "获取管理账号失败"
@@ -106,7 +109,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		}
 	}
 
-	condition = " AND role_type_code IN ('rai_seller','rai_group') AND enabled = 1 AND  rai_enabled = 1 AND  admin_id NOT IN(100,194,533,707)  "
+	condition = " AND role_type_code IN ('rai_seller','rai_group') AND enabled = 1 AND  rai_enabled = 1  " + conditionEnSeller
 
 	if adminId != "" {
 		serviceAdminId = ""
@@ -156,6 +159,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		isCustomizeDate = true
 		startYear = 1
 		endYear = 1
+		dataTypeArr = []string{""}
 	}
 
 	//新签部分的数据
@@ -190,7 +194,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 	//确认不续约、到期合同部分的数据
 	var conditionEnd string
 	var parsEnd []interface{}
-	conditionEnd = " AND  a.product_id = 2  AND  a.status = 1  AND  a.due_end_date >= ?  AND  a.due_end_date <= ? AND  a.due_end_date < ? "
+	conditionEnd = " AND  a.product_id = 2  AND  a.status = 1  AND  a.due_end_date >= ?  AND  a.due_end_date <= ? AND  a.end_date < ? "
 	parsEnd = append(parsEnd, startDate, endDate, time.Now().Format(utils.FormatDate))
 	listEndData, err := statistic_report.GetRaiDataSummaryList(conditionEnd, parsEnd)
 	if err != nil {
@@ -354,17 +358,17 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 
 	//续约部分的数据(服务组)
 	for _, v := range listInheritData {
-		if len(serviceAdminIdArr) > 0 && !utils.InArrayByStr(serviceAdminIdArr, strconv.Itoa(v.ShareSellerIdLast)) {
+		if len(serviceAdminIdArr) > 0 && !utils.InArrayByStr(serviceAdminIdArr, strconv.Itoa(v.ShareSellerIdInit)) {
 			continue
 		}
-		if !mapsellerService[v.ShareSellerIdLast] {
+		if !mapsellerService[v.ShareSellerIdInit] {
 			continue
 		}
 		yearStr := getYearStar(utils.StrDateToDate(v.InheritEndDate), dataType, isCustomizeDate)
 
-		keyMap = fmt.Sprint(yearStr, "_Server_", v.ShareSellerIdLast)
-		keyMapCompany = fmt.Sprint(yearStr, "_Server_", v.ShareSellerIdLast, "_CID_", v.CompanyId)
-		keySigned = fmt.Sprint(yearStr, "_Server_", v.CompanyId, "_SID_", v.ShareSellerIdLast)
+		keyMap = fmt.Sprint(yearStr, "_Server_", v.ShareSellerIdInit)
+		keyMapCompany = fmt.Sprint(yearStr, "_Server_", v.ShareSellerIdInit, "_CID_", v.CompanyId)
+		keySigned = fmt.Sprint(yearStr, "_Server_", v.CompanyId, "_SID_", v.ShareSellerIdInit)
 		keyMapTtoal = fmt.Sprint(yearStr, "_Server_")
 
 		//续约合同 数据
@@ -560,7 +564,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryList() {
 		}
 	}
 
-	conditionTry := ` AND a.create_time >= ? AND a.create_time <= ? AND a.operation in ( "add","receive","apply_receive" )  AND a.sys_user_id IN ( SELECT  admin_id FROM admin  WHERE  role_type_code IN ( 'rai_seller', 'rai_group' , 'rai_admin') ) `
+	conditionTry := ` AND a.create_time >= ? AND a.create_time <= ? AND a.operation in ( "add","receive","apply_receive" )  AND a.sys_user_id IN ( SELECT  admin_id FROM admin  WHERE  role_type_code IN ( 'rai_seller', 'rai_group' , 'rai_admin') ` + conditionEnSeller + ` ) `
 	var parsTry []interface{}
 	parsTry = append(parsTry, startDate, endDate)
 	//列表页数据
@@ -1091,7 +1095,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 
 		}
 
-		condition += ` 	AND a.product_id = 2  AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.due_end_date < ? `
+		condition += ` 	AND a.product_id = 2  AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ? `
 		pars = append(pars, startDate, endDate, time.Now().Format(utils.FormatDate))
 
 		total, err := company.GetIncrementalNewCompanyProductMergeCount(condition, pars)
@@ -1147,9 +1151,9 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 	case "续约合同":
 		if sellerId != "" {
 			if isServerSeller {
-				condition += ` AND a.share_seller_id_last  IN (` + sellerId + `) `
+				condition += ` AND a.share_seller_id_init  IN (` + sellerId + `) `
 			} else {
-				condition += ` AND a.seller_id_last  IN (` + sellerId + `) `
+				condition += ` AND a.seller_id_init  IN (` + sellerId + `) `
 			}
 		}
 		condition += ` AND  a.status = 1  AND a.inherit_end_date >= ?  AND a.inherit_end_date <= ?  AND  a.inherit_company_contract_id > 0  AND a.rai_contract_type = '续约合同'  AND a.company_contract_id NOT  IN (` + utils.GetOrmInReplace(lenArrCompany) + `)  `
@@ -1210,10 +1214,10 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 		var parsEnd []interface{}
 		if sellerId != "" {
 			if isServerSeller {
-				condition += ` AND a.share_seller_id_last IN (` + sellerId + `) `
+				condition += ` AND a.share_seller_id_init IN (` + sellerId + `) `
 				conditionEnd += ` AND a.share_seller_id_last  IN (` + sellerId + `) `
 			} else {
-				condition += ` AND a.seller_id_last IN (` + sellerId + `) `
+				condition += ` AND a.seller_id_init IN (` + sellerId + `) `
 				conditionEnd += ` AND a.seller_id_last  IN (` + sellerId + `) `
 			}
 		}
@@ -1228,7 +1232,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 		}
 
 		//到期合同数据
-		conditionEnd += ` AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.due_end_date < ? `
+		conditionEnd += ` AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ? `
 		parsEnd = append(parsEnd, startDate, endDate, time.Now().Format(utils.FormatDate))
 		listEndData, err := statistic_report.GetRaiDataSummaryList(conditionEnd, parsEnd)
 		if err != nil {
@@ -1366,10 +1370,10 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 		var parsEnd []interface{}
 		if sellerId != "" {
 			if isServerSeller {
-				condition += ` AND a.share_seller_id_last  IN (` + sellerId + `) `
+				condition += ` AND a.share_seller_id_init  IN (` + sellerId + `) `
 				conditionEnd += ` AND a.share_seller_id_last  IN (` + sellerId + `) `
 			} else {
-				condition += ` AND a.seller_id_last  IN (` + sellerId + `) `
+				condition += ` AND a.seller_id_init  IN (` + sellerId + `) `
 				conditionEnd += ` AND a.seller_id_last  IN (` + sellerId + `) `
 			}
 
@@ -1384,7 +1388,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 
-		conditionEnd += `  AND  a.product_id = 2  AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.due_end_date < ? `
+		conditionEnd += `  AND  a.product_id = 2  AND  a.status = 1  AND a.due_end_date >= ?  AND a.due_end_date <= ?   AND a.end_date < ? `
 		parsEnd = append(parsEnd, startDate, endDate, time.Now().Format(utils.FormatDate))
 
 		listEndData, err := statistic_report.GetRaiDataSummaryList(conditionEnd, parsEnd)
@@ -1585,7 +1589,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 		trialTotal = total
-		condition += " GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC "
+		condition += " GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC ,a.contract_register_id DESC  "
 		listFmsData, err := fms.GetContractRegisterList(condition, pars, startSize, pageSize)
 		if err != nil {
 			br.Msg = "获取数据信息失败"
@@ -1596,7 +1600,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			for _, v := range listFmsData {
 				item := new(statistic_report.RaiDataSummaryDetailResp)
 				item.CompanyName = v.CompanyName
-				item.SellerName = v.RaiSellerName
+				item.SellerName = v.SellerName
 				item.ContractCode = v.ContractCode
 				item.InvoicedAmount = v.Amount
 				item.CreateTime = v.InvoiceTime
@@ -1617,7 +1621,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 		trialTotal = total
-		condition += " GROUP BY a.contract_invoice_id   ORDER BY invoice_time  DESC "
+		condition += " GROUP BY a.contract_invoice_id   ORDER BY invoice_time  DESC ,a.contract_register_id DESC "
 		listFmsData, err := fms.GetContractRegisterList(condition, pars, startSize, pageSize)
 		if err != nil {
 			br.Msg = "获取数据信息失败"
@@ -1628,7 +1632,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			for _, v := range listFmsData {
 				item := new(statistic_report.RaiDataSummaryDetailResp)
 				item.CompanyName = v.CompanyName
-				item.SellerName = v.RaiSellerName
+				item.SellerName = v.SellerName
 				item.ContractCode = v.ContractCode
 				item.PaymentAmount = v.Amount
 				item.CreateTime = v.InvoiceTime
@@ -1680,7 +1684,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 		trialTotal = total
-		condition += " GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC "
+		condition += " GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC  ,a.contract_register_id DESC "
 		listFmsData, err := fms.GetContractRegisterList(condition, pars, startSize, pageSize)
 
 		if err != nil {
@@ -1692,7 +1696,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			for _, v := range listFmsData {
 				item := new(statistic_report.RaiDataSummaryDetailResp)
 				item.CompanyName = v.CompanyName
-				item.SellerName = v.RaiSellerName
+				item.SellerName = v.SellerName
 				item.ContractCode = v.ContractCode
 				item.InvoicedAmount = v.Amount
 				item.CreateTime = v.InvoiceTime
@@ -1708,7 +1712,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 		if sellerId != "" {
 			condition += ` AND a.seller_id  IN (` + sellerId + `) `
 		}
-		condition += ` AND  b.is_deleted = 0   AND  b.contract_type = 1  AND a.invoice_type IN  (2,4)   AND  a.invoice_time >= ?  AND  a.invoice_time <= ?  `
+		condition += ` AND  b.is_deleted = 0   AND  b.contract_type = 1  AND a.invoice_type IN  (2,4)   AND  a.invoice_time >= ?  AND  a.invoice_time <= ?   `
 		pars = append(pars, startDate, endDate)
 		total, err := fms.GetContractInvoiceCount(condition, pars)
 		if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1717,7 +1721,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			return
 		}
 		trialTotal = total
-		condition += ` GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC `
+		condition += ` GROUP BY a.contract_invoice_id   ORDER BY a.invoice_time  DESC  ,a.contract_register_id DESC `
 		listFmsData, err := fms.GetContractRegisterList(condition, pars, startSize, pageSize)
 		if err != nil {
 			br.Msg = "获取数据信息失败"
@@ -1728,7 +1732,7 @@ func (this *StatisticRaiDataSummaryController) RaiDataSummaryDetail() {
 			for _, v := range listFmsData {
 				item := new(statistic_report.RaiDataSummaryDetailResp)
 				item.CompanyName = v.CompanyName
-				item.SellerName = v.RaiSellerName
+				item.SellerName = v.SellerName
 				item.ContractCode = v.ContractCode
 				item.PaymentAmount = v.Amount
 				item.CreateTime = v.InvoiceTime

+ 2 - 0
models/fms/invoice_payment_summary.go

@@ -163,6 +163,7 @@ type InvoiceSummary struct {
 type ContractRegisterRaiData struct {
 	CompanyName   string  `gorm:"column:company_name" json:"company_name" description:"客户名称"`
 	ContractCode  string  `gorm:"column:contract_code" json:"contract_code" description:"合同编号"`
+	SellerName    string  `gorm:"column:seller_name" json:"seller_name" description:"CRM系统-权益销售名称"`
 	RaiSellerName string  `gorm:"column:rai_seller_name" json:"rai_seller_name" description:"CRM系统-权益销售名称"`
 	RaiSellerId   int     `gorm:"column:rai_seller_id" json:"rai_seller_id"  description:"CRM系统-权益销售ID"`
 	Amount        float64 `json:"amount" description:"分配金额"`
@@ -177,6 +178,7 @@ func GetContractRegisterList(condition string, pars []interface{}, startSize, pa
 	sql := `SELECT 
 			a.amount,
 			a.invoice_time ,
+			a.seller_name ,
 			b.company_name,
 			b.rai_seller_name,
 			b.contract_code

+ 5 - 4
models/seal/seal.go

@@ -257,9 +257,10 @@ func GetList(condition string, pars []interface{}, startSize, pageSize int) (lis
 //}
 
 type SealApprovalItem struct {
-	ContractApprovalId       int `description:"审批单ID"`
-	ContractId               int `description:"合同ID"`
-	ContractApprovalRecordId int `description:"审批流ID"`
+	ContractApprovalId       int    `description:"审批单ID"`
+	ContractId               int    `description:"合同ID"`
+	ContractApprovalRecordId int    `description:"审批流ID"`
+	Code                     string `description:"合同编号"`
 	//ContractCode             string                  `description:"合同编号"`
 	Use            string                  `description:"用印用途,枚举值:'销售合同','渠道合同','付款通知函','招投标','战略合作协议'"`
 	ContractType   string                  `description:"合同类型,枚举值:'新签合同','续约合同','补充协议','代付合同'"`
@@ -323,7 +324,7 @@ func GetSealApprovalListByWhere(condition, joinCondition string, pars []interfac
 	//git
 	o := orm.NewOrm()
 	fields := `a.contract_approval_id,c.contract_id,a.apply_content,a.approve_remark,a.apply_user_id,a.apply_user_name,a.curr_node_id,a.start_node_id,c.create_time,a.modify_time,a.status approval_status,
-			   c.status,c.seal_id,c.seal_type,c.service_type contract_type,c.use,c.company_name,c.file_url,c.approve_time,c.invalid_time,c.code,c.credit_code,c.check_back_file_time,c.check_back_file_url,c.affiliated_company `
+			   c.status,c.seal_id,c.seal_type,c.service_type contract_type,c.use,c.company_name,c.file_url,c.approve_time,c.invalid_time,c.code,c.credit_code,c.check_back_file_time,c.check_back_file_url,c.affiliated_company,c.product_id `
 	sql := `SELECT ` + fields + ` from contract_approval a JOIN ( SELECT max( contract_approval_id ) max_id,contract_id FROM contract_approval where 1=1 and approval_type = "seal" `
 	sql += ` GROUP BY contract_id ) b on a.contract_approval_id=b.max_id
 	JOIN seal c ON c.seal_id = a.contract_id 

+ 1 - 1
services/company_contract.go

@@ -712,7 +712,7 @@ func UpdateCompanyContractDueEndDate(companyContractId int) {
 
 	var condition string
 	var pars []interface{}
-	condition = `  AND  product_id = 2 AND status =1  AND  merge_company_contract_id = 0   AND company_contract_id < ? AND company_id = ? 
+	condition = `  AND  product_id = 2 AND status =1  AND  merge_company_contract_id = 0  AND rai_contract_type  = '续约合同'   AND company_contract_id < ? AND company_id = ? 
 				AND DATE_ADD( end_date, INTERVAL - 1 YEAR ) < ? AND DATE_ADD( end_date, INTERVAL 1 YEAR ) > ? 
 				AND DATE_ADD( start_date, INTERVAL - 1 YEAR ) < ? AND DATE_ADD( start_date, INTERVAL 1 YEAR ) > ?
 				ORDER BY company_contract_id DESC,  end_date  DESC LIMIT	 1  `

+ 7 - 8
services/seal/seal.go

@@ -616,14 +616,13 @@ func GetSealApprovalPageList(condition, joinCondition string, pars []interface{}
 			}
 
 			// 合同编码
-
-			//if selfContract, has := selfContractMap[item.ContractId]; has {
-			//	list[i].ContractCode = selfContract.ContractCode
-			//} else {
-			//	if item.ProductId == utils.COMPANY_PRODUCT_RAI_ID {
-			//		list[i].ContractCode = item.Code
-			//	}
-			//}
+			if selfContract, has := selfContractMap[item.ContractId]; has {
+				list[i].ContractCode = selfContract.ContractCode
+			} else {
+				if item.ProductId == utils.COMPANY_PRODUCT_RAI_ID {
+					list[i].ContractCode = item.Code
+				}
+			}
 
 			if selfContract, has := selfContractMap[item.ContractId]; has {
 				list[i].ContractCode = selfContract.ContractCode

+ 5 - 0
utils/config.go

@@ -427,6 +427,11 @@ func WxDebug() {
 		WxMsgTemplateIdCompanyApprovalMessageRai = "RcV2uM5nFSiUtOHsq4SdYz2Fhk-OVfg5rutWz2IsSJQ" //权益销售签约成功通知查研观向小助手模版消息-模板ID
 	}
 
+	//内部员测试公众号(弘则科技)
+	{
+		AdminWxAppId = "wxe0d0a4d892da28a3"
+    	AdminWxAppSecret = "b88ac96aef1852fa0b8902c321ed4bf8"
+	}
 }
 
 // 生产环境模板消息