|
@@ -2,7 +2,9 @@ package controllers
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "fmt"
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "hongze/hongze_mobile_admin/models"
|
|
|
contractReq "hongze/hongze_mobile_admin/models/request/contract"
|
|
|
contractResp "hongze/hongze_mobile_admin/models/response/contract"
|
|
|
"hongze/hongze_mobile_admin/models/tables/contract"
|
|
@@ -16,7 +18,7 @@ import (
|
|
|
"strings"
|
|
|
)
|
|
|
|
|
|
-//合同模块
|
|
|
+// 合同模块
|
|
|
type ContractCommon struct {
|
|
|
BaseAuth
|
|
|
}
|
|
@@ -301,6 +303,25 @@ func (c *ContractCommon) CompanyListBySeal() {
|
|
|
companyNameList = append(companyNameList, v.CompanyName)
|
|
|
}
|
|
|
|
|
|
+ // 13.6正式共享客户的处理
|
|
|
+ {
|
|
|
+ // 通过关键词获取分配给当前销售的正式共享客户
|
|
|
+ kw := fmt.Sprint("%", keyword, "%")
|
|
|
+ cond := ` AND share_seller_id = ? AND is_share = 1 AND company_name LIKE ?`
|
|
|
+ pars := make([]interface{}, 0)
|
|
|
+ pars = append(pars, sysUser.AdminId, kw)
|
|
|
+ shares, e := models.GetCompanyListByCondition(cond, pars, []string{"company_id", "company_name"}, "")
|
|
|
+ if e != nil {
|
|
|
+ c.FailWithMessage("获取失败", "获取共享客户信息失败, Err: "+e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range shares {
|
|
|
+ if !utils.InArrayByStr(companyNameList, v.CompanyName) {
|
|
|
+ companyNameList = append(companyNameList, v.CompanyName)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//审批列表中(跟自己有关联的)
|
|
|
//childCondition := ""
|
|
|
//condition := ""
|
|
@@ -350,6 +371,7 @@ func (c *ContractCommon) CompanyListBySeal() {
|
|
|
// @Success 200 {object} contract.ContractListResp
|
|
|
// @router /listBySeal [get]
|
|
|
func (c *ContractCommon) ListBySeal() {
|
|
|
+ sysUser := c.AdminWx
|
|
|
//合同类型、产品类型、合同状态、更新时间、所选销售
|
|
|
//关键字:合同编号、客户名称,社会信用码
|
|
|
|
|
@@ -421,21 +443,42 @@ func (c *ContractCommon) ListBySeal() {
|
|
|
}
|
|
|
startSize = paging.StartIndex(currentIndex, pageSize)
|
|
|
|
|
|
- total, err := contract.GetContractListCount(condition, pars)
|
|
|
+ //total, err := contract.GetContractListCount(condition, pars)
|
|
|
+ //if err != nil {
|
|
|
+ // c.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //list, err := contract.GetContractList(condition, pars, startSize, pageSize)
|
|
|
+ //if err != nil {
|
|
|
+ // c.FailWithMessage("获取合同列表失败", "获取合同列表失败,Err:"+err.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 13.6正式共享客户
|
|
|
+ joinStr := ` LEFT JOIN company AS b ON a.company_name = b.company_name `
|
|
|
+ // 非合规角色可查看自己的合同或是自己的共享客户下的非自己创建的合同
|
|
|
+ if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_COMPLIANCE {
|
|
|
+ condition += ` AND (a.seller_id = ? OR (b.is_share = 1 AND b.share_seller_id = ?))`
|
|
|
+ pars = append(pars, sysUser.AdminId, sysUser.AdminId)
|
|
|
+ }
|
|
|
+
|
|
|
+ total, err := contract.GetJoinContractListCount(condition, joinStr, pars)
|
|
|
if err != nil {
|
|
|
c.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- list, err := contract.GetContractList(condition, pars, startSize, pageSize)
|
|
|
- if err != nil {
|
|
|
- c.FailWithMessage("获取合同列表失败", "获取合同列表失败,Err:"+err.Error())
|
|
|
+ list, e := contract.GetJoinContractList(condition, joinStr, pars, startSize, pageSize)
|
|
|
+ if e != nil {
|
|
|
+ c.FailWithMessage("获取失败", "获取合同列表失败,Err:"+err.Error())
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
if len(list) > 0 {
|
|
|
// 代付合同查询代付用户名称
|
|
|
contractIdSlice := make([]string, 0)
|
|
|
- for i := 0; i < len(list); i ++ {
|
|
|
+ for i := 0; i < len(list); i++ {
|
|
|
if list[i].ContractBusinessType == "代付合同" {
|
|
|
contractIdSlice = append(contractIdSlice, strconv.Itoa(list[i].ContractId))
|
|
|
}
|
|
@@ -448,7 +491,7 @@ func (c *ContractCommon) ListBySeal() {
|
|
|
return
|
|
|
}
|
|
|
userCompanyNameMap := make(map[int]string, 0)
|
|
|
- for i := 0; i < len(contractList); i ++ {
|
|
|
+ for i := 0; i < len(contractList); i++ {
|
|
|
userCompanyNameMap[contractList[i].PaymentOnBehalfContractId] = contractList[i].CompanyName
|
|
|
}
|
|
|
for _, item := range list {
|