|
@@ -3,6 +3,7 @@ package cygxService
|
|
|
import (
|
|
|
"fmt"
|
|
|
"errors"
|
|
|
+ "hongze/hongze_mobile_admin/models/tables/chart_permission"
|
|
|
"hongze/hongze_mobile_admin/models/tables/company_contract_permission"
|
|
|
"hongze/hongze_mobile_admin/models/tables/cygx_allocation_company_contract"
|
|
|
"hongze/hongze_mobile_admin/services/alarm_msg"
|
|
@@ -140,4 +141,86 @@ func HandleCompanyContractPackageDifference(companyContractId int) (err error) {
|
|
|
}
|
|
|
return
|
|
|
|
|
|
+}
|
|
|
+
|
|
|
+// HandleCompanyContractPermissionContractType 更新合同权限表中的权限名称,以及对应的行业权限类型(行业新签、行业续约)
|
|
|
+func HandleCompanyContractPermissionContractType(companyContractId int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ go alarm_msg.SendAlarmMsg(fmt.Sprint("更新合同权限表中的权限名称,以及对应的行业权限类型(行业新签、行业续约)失败,HandleCompanyContractPermissionContractType Err:", err.Error(), "companyContractId", companyContractId), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ condition = " AND company_contract_id = ? "
|
|
|
+ pars = append(pars, companyContractId)
|
|
|
+ detail, e := company_contract.GetCompanyContracDetail(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCompanyContracDetail,detail Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取权限ID与名称的map映射
|
|
|
+ permissionList, e := chart_permission.GetChartPermissionList()
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetChartPermissionList Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ mapChartPermission := make(map[int]string)
|
|
|
+ for _, v := range permissionList {
|
|
|
+ mapChartPermission[v.ChartPermissionId] = v.PermissionName
|
|
|
+ }
|
|
|
+
|
|
|
+ companyId := detail.CompanyId
|
|
|
+ //如果不是续约合同就不做对比处理
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = " AND company_contract_id != ? AND company_id = ? "
|
|
|
+ pars = append(pars, companyContractId, companyId)
|
|
|
+
|
|
|
+ //获取历史签约信息
|
|
|
+ companyContractPermissionListHistory, e := company_contract_permission.GetCompanyContractPermissionList(condition, pars)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("companyContractPermissionListHistory Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var mapHistoryPerssionName []string
|
|
|
+ for _, v := range companyContractPermissionListHistory {
|
|
|
+ mapHistoryPerssionName = append(mapHistoryPerssionName, mapChartPermission[v.ChartPermissionId])
|
|
|
+ }
|
|
|
+
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = " AND company_contract_id = ? "
|
|
|
+ pars = append(pars, companyContractId)
|
|
|
+ //获取当前签约的合同信息
|
|
|
+ companyContractPermissionLisThis, e := company_contract_permission.GetCompanyContractPermissionList(condition, pars)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("companyContractPermissionLisThis Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var items []*company_contract_permission.CompanyContractPermission
|
|
|
+ for _, v := range companyContractPermissionLisThis {
|
|
|
+ v.PermissionName = mapChartPermission[v.ChartPermissionId]
|
|
|
+ if v.PermissionName == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ //已经存在的属于行业续约、不存在的属于行业新签
|
|
|
+ if utils.InArrayByStr(mapHistoryPerssionName, v.PermissionName) {
|
|
|
+ v.ContractType = "行业续约"
|
|
|
+ } else {
|
|
|
+ v.ContractType = "行业新签"
|
|
|
+ }
|
|
|
+ items = append(items, v)
|
|
|
+ }
|
|
|
+ //批量更新合同权限表的权限行业名称,以及签约合同时,当前行业类型(行业续约、行业新签)
|
|
|
+ e = company_contract_permission.UpdateCompanyContractPermissionMulti(items)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("UpdateCompanyContractPermissionMulti Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
}
|