|
@@ -162,7 +162,7 @@ func (this *ContractAllocationController) CompanyContractList() {
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
|
|
|
- condition += ` AND a.create_time >= ? AND a.create_time <= ? `
|
|
|
+ condition += ` AND a.start_date >= ? AND a.end_date <= ? `
|
|
|
pars = append(pars, startDate+" 00:00:01", endDate+" 23:59:59")
|
|
|
|
|
|
//条件
|
|
@@ -508,10 +508,6 @@ func (this *ContractAllocationController) CompanyContracDetail() {
|
|
|
|
|
|
//var contractPermissionList []*company.ContractPermissionList
|
|
|
expMap := map[int]string{0: "(3w)", 1: "(5w)"} // 买方研选价格
|
|
|
-
|
|
|
- //classifyName := "权益"
|
|
|
-
|
|
|
- //plist := new(company.ContractPermissionList)
|
|
|
hasPermissions, e := company.GetCompanyContractPermissionByCompanyContractId(companyContractId)
|
|
|
if e != nil {
|
|
|
br.Msg = "获取失败"
|
|
@@ -522,7 +518,7 @@ func (this *ContractAllocationController) CompanyContracDetail() {
|
|
|
for _, p := range hasPermissions {
|
|
|
hasMap[p.ChartPermissionId] = p
|
|
|
}
|
|
|
- //checkItems := make([]*company.PermissionLookItem, 0)
|
|
|
+
|
|
|
raiPermissions, e := company.GetPermissionLookItemsExt("2", utils.COMPANY_PRODUCT_RAI_NAME)
|
|
|
if e != nil {
|
|
|
br.Msg = "获取失败"
|
|
@@ -536,21 +532,14 @@ func (this *ContractAllocationController) CompanyContracDetail() {
|
|
|
if match == nil {
|
|
|
continue
|
|
|
}
|
|
|
- // 升级
|
|
|
- //if match.IsUpgrade == 1 {
|
|
|
- // n.IsUpgrade = 1
|
|
|
- // checkItems = append(checkItems, n)
|
|
|
- // continue
|
|
|
- //}
|
|
|
+
|
|
|
mapPermissionNameHave[n.PermissionName] = true
|
|
|
// 买方研选(3w/5w)
|
|
|
if n.PermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
|
|
|
expensiveYx = match.ExpensiveYx
|
|
|
n.PermissionName += expMap[match.ExpensiveYx]
|
|
|
- //checkItems = append(checkItems, n)
|
|
|
continue
|
|
|
}
|
|
|
- //checkItems = append(checkItems, n)
|
|
|
}
|
|
|
|
|
|
resp.Money = contractItem.Money / 10000
|
|
@@ -576,15 +565,12 @@ func (this *ContractAllocationController) CompanyContracDetail() {
|
|
|
} else {
|
|
|
resp.TotalPointsContent = fmt.Sprint(resp.Money, "W")
|
|
|
}
|
|
|
-
|
|
|
sysUserList, err := cygx.GetAskEmailList()
|
|
|
-
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,GetAskEmailList Err: " + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
mapPermissionUser := make(map[string][]*cygx.AllocationRealNameListResp)
|
|
|
|
|
|
var respList []*cygx.AllocationPermissionListResp
|
|
@@ -650,7 +636,7 @@ func (this *ContractAllocationController) CompanyContracDetail() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- permissionNameArr := []string{"医药", "消费", "科技", "智造", "策略"}
|
|
|
+ permissionNameArr := []string{"医药", "消费", "科技", "智造", "策略", "买方研选"}
|
|
|
for _, v := range permissionNameArr {
|
|
|
for _, v2 := range respList {
|
|
|
if v2.ChartPermissionName == v {
|
|
@@ -658,7 +644,6 @@ func (this *ContractAllocationController) CompanyContracDetail() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
resp.IsGray = mapIsGray[companyContractId]
|
|
|
//resp.List = respList
|
|
|
resp.CompanyContractId = companyContractId
|
|
@@ -774,13 +759,26 @@ func (this *ContractAllocationController) CompanyContracUpdate() {
|
|
|
itemPermission.AdminName = sysUser.RealName
|
|
|
itemPermission.Proportion = v.Proportion
|
|
|
itemPermission.Money = v.Money
|
|
|
- itemPermission.MoneyAvg = moneyAvg
|
|
|
+ if v.ChartPermissionName != utils.CHART_PERMISSION_NAME_MF_YANXUAN {
|
|
|
+ itemPermission.MoneyAvg = moneyAvg
|
|
|
+ if v.Money < moneyAvg/2 {
|
|
|
+ br.Msg = "单行业占比值不得低于平均值的一半"
|
|
|
+ br.ErrMsg = "单行业占比值不得低于平均值的一半,Err:" + fmt.Sprint(proportionSum)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
itemPermission.ChartPermissionName = v.ChartPermissionName
|
|
|
itemPermission.CreateTime = time.Now()
|
|
|
itemPermission.ModifyTime = time.Now()
|
|
|
itemsPermission = append(itemsPermission, itemPermission)
|
|
|
+ var userProportionSum float64 // 校验前端传过来的占比使用
|
|
|
|
|
|
for _, v2 := range v.List {
|
|
|
+ if v2.Proportion < -20 {
|
|
|
+ br.Msg = "研究员占比值不得小于总额的20%"
|
|
|
+ br.ErrMsg = "研究员占比值不得小于总额的20%,Err:" + fmt.Sprint(proportionSum)
|
|
|
+ return
|
|
|
+ }
|
|
|
item := new(cygx.CygxAllocationCompanyContract)
|
|
|
item.CompanyContractId = companyContractId
|
|
|
item.AdminId = sysUser.AdminId
|
|
@@ -793,14 +791,20 @@ func (this *ContractAllocationController) CompanyContracUpdate() {
|
|
|
item.ModifyTime = time.Now()
|
|
|
items = append(items, item)
|
|
|
proportionSum += v2.Proportion
|
|
|
+ userProportionSum += v2.Proportion
|
|
|
}
|
|
|
- if v.ChartPermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
|
|
|
- continue
|
|
|
+ //先添加0.2%的精度校验
|
|
|
+ if userProportionSum > (v.Proportion+0.2) || userProportionSum < (v.Proportion-0.2) {
|
|
|
+ br.Msg = "单行业下的研究员比值之和不等于行业占比值"
|
|
|
+ br.ErrMsg = "单行业下的研究员比值之和不等于行业占比值"
|
|
|
+ return
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ //先添加0.5%的精度校验
|
|
|
if proportionSum > 100.5 || proportionSum < 99.5 {
|
|
|
- br.Msg = "操作失败,派点填写信息错误"
|
|
|
- br.ErrMsg = "操作失败,派点填写信息错误,Err:" + fmt.Sprint(proportionSum)
|
|
|
+ br.Msg = "行业总比值相加不等于100%"
|
|
|
+ br.ErrMsg = "行业总比值相加不等于100%,Err:"
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -858,7 +862,7 @@ func (this *ContractAllocationController) CompanyContractStatistics() {
|
|
|
var condition string
|
|
|
|
|
|
var pars []interface{}
|
|
|
- condition += ` AND a.create_time >= ? AND a.create_time <= ? `
|
|
|
+ condition += ` AND a.start_date >= ? AND a.end_date <= ? `
|
|
|
pars = append(pars, startDate+" 00:00:01", endDate+" 23:59:59")
|
|
|
//根据当前角色来获取查询条件
|
|
|
//condition, pars = getQueryParams(condition, pars, sysUser, "c.")
|