正在显示
4 个修改的文件
包含
104 行增加
和
91 行删除
| @@ -195,7 +195,7 @@ func (cooperationContractService *CooperationContractService) CreateCooperationC | @@ -195,7 +195,7 @@ func (cooperationContractService *CooperationContractService) CreateCooperationC | ||
| 195 | UserId: undertakerDomain.UserId, | 195 | UserId: undertakerDomain.UserId, |
| 196 | CooperationContractNumber: contractNumber, | 196 | CooperationContractNumber: contractNumber, |
| 197 | UserBaseId: undertakerDomain.UserBaseId, | 197 | UserBaseId: undertakerDomain.UserBaseId, |
| 198 | - Org: undertakerDomain.Org, | 198 | + Org: organization, |
| 199 | Orgs: undertakerDomain.Orgs, | 199 | Orgs: undertakerDomain.Orgs, |
| 200 | Department: undertakerDomain.Department, | 200 | Department: undertakerDomain.Department, |
| 201 | Roles: undertakerDomain.Roles, | 201 | Roles: undertakerDomain.Roles, |
| @@ -227,14 +227,14 @@ func (cooperationContractService *CooperationContractService) CreateCooperationC | @@ -227,14 +227,14 @@ func (cooperationContractService *CooperationContractService) CreateCooperationC | ||
| 227 | CooperationContractNumber: contractNumber, | 227 | CooperationContractNumber: contractNumber, |
| 228 | UserId: relevantDomain.UserId, | 228 | UserId: relevantDomain.UserId, |
| 229 | UserBaseId: relevantDomain.UserBaseId, | 229 | UserBaseId: relevantDomain.UserBaseId, |
| 230 | - Org: relevantDomain.Org, | 230 | + Org: organization, |
| 231 | Orgs: relevantDomain.Orgs, | 231 | Orgs: relevantDomain.Orgs, |
| 232 | Department: relevantDomain.Department, | 232 | Department: relevantDomain.Department, |
| 233 | Roles: relevantDomain.Roles, | 233 | Roles: relevantDomain.Roles, |
| 234 | UserInfo: relevantDomain.UserInfo, | 234 | UserInfo: relevantDomain.UserInfo, |
| 235 | UserType: relevantDomain.UserType, | 235 | UserType: relevantDomain.UserType, |
| 236 | Status: relevantDomain.Status, | 236 | Status: relevantDomain.Status, |
| 237 | - Company: relevantDomain.Company, | 237 | + Company: company, |
| 238 | }) | 238 | }) |
| 239 | } | 239 | } |
| 240 | 240 |
| @@ -276,37 +276,41 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string | @@ -276,37 +276,41 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string | ||
| 276 | if count > 0 { | 276 | if count > 0 { |
| 277 | for _, cooperationApplicationModel := range cooperationApplicationModels { | 277 | for _, cooperationApplicationModel := range cooperationApplicationModels { |
| 278 | // 获取共创项目 | 278 | // 获取共创项目 |
| 279 | - cooperationProjectModel := new(models.CooperationProject) | ||
| 280 | - cooperationProjectQuery := tx.Model(cooperationProjectModel) | ||
| 281 | - cooperationProjectQuery.AllWithDeleted() | ||
| 282 | - if err := cooperationProjectQuery. | 279 | + var cooperationProjectModels []*models.CooperationProject |
| 280 | + cooperationProjectQuery := tx.Model(&cooperationProjectModels) | ||
| 281 | + if countProject, err := cooperationProjectQuery. | ||
| 283 | Where("company->>'companyId' = '?'", cooperationApplicationModel.Company.CompanyId). | 282 | Where("company->>'companyId' = '?'", cooperationApplicationModel.Company.CompanyId). |
| 284 | Where("org->>'orgId' = '?'", cooperationApplicationModel.Org.OrgId). | 283 | Where("org->>'orgId' = '?'", cooperationApplicationModel.Org.OrgId). |
| 285 | Where("cooperation_project_number = ?", cooperationApplicationModel.CooperationProjectNumber). | 284 | Where("cooperation_project_number = ?", cooperationApplicationModel.CooperationProjectNumber). |
| 286 | - First(); err != nil { | 285 | + Limit(1). |
| 286 | + SelectAndCount(); err != nil { | ||
| 287 | log.Logger.Error("申请关联的共创项目不存在", map[string]interface{}{ | 287 | log.Logger.Error("申请关联的共创项目不存在", map[string]interface{}{ |
| 288 | "cooperationApplicationModel": cooperationApplicationModel, | 288 | "cooperationApplicationModel": cooperationApplicationModel, |
| 289 | }) | 289 | }) |
| 290 | - return 0, nil, fmt.Errorf("申请关联的共创项目不存在") | ||
| 291 | - } | ||
| 292 | - // 获取共创模式 | ||
| 293 | - cooperationModeModel := new(models.CooperationMode) | ||
| 294 | - cooperationModeQuery := tx.Model(cooperationModeModel) | ||
| 295 | - cooperationModeQuery.AllWithDeleted() | ||
| 296 | - if err := cooperationModeQuery. | ||
| 297 | - Where("company->>'companyId' = '?'", cooperationApplicationModel.Company.CompanyId). | ||
| 298 | - Where("org->>'orgId' = '?'", cooperationApplicationModel.Org.OrgId). | ||
| 299 | - Where("cooperation_mode_number = ?", cooperationProjectModel.CooperationModeNumber). | ||
| 300 | - First(); err != nil { | ||
| 301 | - log.Logger.Error("申请关联的共创模式不存在", map[string]interface{}{ | ||
| 302 | - "cooperationApplicationModel": cooperationApplicationModel, | ||
| 303 | - }) | ||
| 304 | - return 0, nil, fmt.Errorf("申请关联的共创模式不存在") | ||
| 305 | - } | ||
| 306 | - if cooperationApplication, err := transform.TransformToCooperationApplicationDomainModelFromPgModels(cooperationApplicationModel, cooperationProjectModel, cooperationModeModel); err != nil { | ||
| 307 | - return 0, cooperationApplications, err | ||
| 308 | } else { | 290 | } else { |
| 309 | - cooperationApplications = append(cooperationApplications, cooperationApplication) | 291 | + if countProject > 0 { |
| 292 | + // 获取共创模式 | ||
| 293 | + var cooperationModeModels []*models.CooperationMode | ||
| 294 | + cooperationModeQuery := tx.Model(&cooperationModeModels) | ||
| 295 | + if countMode, err := cooperationModeQuery. | ||
| 296 | + Where("company->>'companyId' = '?'", cooperationApplicationModel.Company.CompanyId). | ||
| 297 | + Where("org->>'orgId' = '?'", cooperationApplicationModel.Org.OrgId). | ||
| 298 | + Where("cooperation_mode_number = ?", cooperationProjectModels[0].CooperationModeNumber). | ||
| 299 | + Limit(1). | ||
| 300 | + SelectAndCount(); err != nil { | ||
| 301 | + log.Logger.Error("申请关联的共创模式不存在", map[string]interface{}{ | ||
| 302 | + "cooperationApplicationModel": cooperationApplicationModel, | ||
| 303 | + }) | ||
| 304 | + } else { | ||
| 305 | + if countMode > 0 { | ||
| 306 | + if cooperationApplication, err := transform.TransformToCooperationApplicationDomainModelFromPgModels(cooperationApplicationModel, cooperationProjectModels[0], cooperationModeModels[0]); err != nil { | ||
| 307 | + return 0, cooperationApplications, err | ||
| 308 | + } else { | ||
| 309 | + cooperationApplications = append(cooperationApplications, cooperationApplication) | ||
| 310 | + } | ||
| 311 | + } | ||
| 312 | + } | ||
| 313 | + } | ||
| 310 | } | 314 | } |
| 311 | } | 315 | } |
| 312 | } | 316 | } |
| @@ -1099,65 +1099,71 @@ func (repository *CooperationContractRepository) Find(queryOptions map[string]in | @@ -1099,65 +1099,71 @@ func (repository *CooperationContractRepository) Find(queryOptions map[string]in | ||
| 1099 | if count > 0 { | 1099 | if count > 0 { |
| 1100 | for _, cooperationContractModel := range cooperationContractModels { | 1100 | for _, cooperationContractModel := range cooperationContractModels { |
| 1101 | // 获取共创模式 | 1101 | // 获取共创模式 |
| 1102 | - cooperationModeModel := new(models.CooperationMode) | ||
| 1103 | - cooperationModeQuery := tx.Model(cooperationModeModel) | ||
| 1104 | - if err := cooperationModeQuery. | 1102 | + var cooperationModeModels []*models.CooperationMode |
| 1103 | + cooperationModeQuery := tx.Model(&cooperationModeModels) | ||
| 1104 | + if countMode, err := cooperationModeQuery. | ||
| 1105 | Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | 1105 | Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). |
| 1106 | Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | 1106 | Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). |
| 1107 | Where("cooperation_mode_number = ?", cooperationContractModel.CooperationModeNumber). | 1107 | Where("cooperation_mode_number = ?", cooperationContractModel.CooperationModeNumber). |
| 1108 | - First(); err != nil { | ||
| 1109 | - return 0, nil, fmt.Errorf("合约关联的共创模式不存在") | ||
| 1110 | - } | ||
| 1111 | - // 获取分红激励规则列表 | ||
| 1112 | - var dividendsIncentivesRuleModels []*models.DividendsIncentivesRule | ||
| 1113 | - dividendsIncentivesRuleQuery := tx.Model(÷ndsIncentivesRuleModels) | ||
| 1114 | - if err := dividendsIncentivesRuleQuery. | ||
| 1115 | - Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | ||
| 1116 | - Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | ||
| 1117 | - Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber). | ||
| 1118 | - Select(); err != nil { | ||
| 1119 | - return 0, nil, fmt.Errorf("合约关联的分红激励规则列表不存在") | ||
| 1120 | - } | ||
| 1121 | - // 获取金额激励规则列表 | ||
| 1122 | - var moneyIncentivesRuleModels []*models.MoneyIncentivesRule | ||
| 1123 | - moneyIncentivesRuleQuery := tx.Model(&moneyIncentivesRuleModels) | ||
| 1124 | - if err := moneyIncentivesRuleQuery. | ||
| 1125 | - Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | ||
| 1126 | - Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | ||
| 1127 | - Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber). | ||
| 1128 | - Select(); err != nil { | ||
| 1129 | - return 0, nil, fmt.Errorf("合约关联的金额激励规则列表不存在") | ||
| 1130 | - } | ||
| 1131 | - // 获取承接人列表 | ||
| 1132 | - var cooperationContractUndertakerModels []*models.CooperationContractUndertaker | ||
| 1133 | - cooperationContractUndertakerQuery := tx.Model(&cooperationContractUndertakerModels) | ||
| 1134 | - if err := cooperationContractUndertakerQuery. | ||
| 1135 | - Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | ||
| 1136 | - Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | ||
| 1137 | - Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber). | ||
| 1138 | - Select(); err != nil { | ||
| 1139 | - return 0, nil, fmt.Errorf("合约相关的承接人列表不存在") | ||
| 1140 | - } | ||
| 1141 | - // 获取相关人列表 | ||
| 1142 | - var cooperationContractRelevantModels []*models.CooperationContractRelevant | ||
| 1143 | - cooperationContractRelevantQuery := tx.Model(&cooperationContractRelevantModels) | ||
| 1144 | - if err := cooperationContractRelevantQuery. | ||
| 1145 | - Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | ||
| 1146 | - Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | ||
| 1147 | - Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber). | ||
| 1148 | - Select(); err != nil { | ||
| 1149 | - return 0, nil, fmt.Errorf("合约相关的相关人列表不存在") | ||
| 1150 | - } | ||
| 1151 | - if cooperationContract, err := transform.TransformToCooperationContractDomainModelFromPgModels( | ||
| 1152 | - cooperationContractModel, | ||
| 1153 | - cooperationModeModel, | ||
| 1154 | - dividendsIncentivesRuleModels, | ||
| 1155 | - moneyIncentivesRuleModels, | ||
| 1156 | - cooperationContractRelevantModels, | ||
| 1157 | - cooperationContractUndertakerModels); err != nil { | ||
| 1158 | - return 0, cooperationContracts, err | 1108 | + Limit(1). |
| 1109 | + SelectAndCount(); err != nil { | ||
| 1110 | + log.Logger.Error("合约关联的共创模式不存在", map[string]interface{}{ | ||
| 1111 | + "cooperationContractModel": cooperationContractModel, | ||
| 1112 | + }) | ||
| 1159 | } else { | 1113 | } else { |
| 1160 | - cooperationContracts = append(cooperationContracts, cooperationContract) | 1114 | + if countMode > 0 { |
| 1115 | + // 获取分红激励规则列表 | ||
| 1116 | + var dividendsIncentivesRuleModels []*models.DividendsIncentivesRule | ||
| 1117 | + dividendsIncentivesRuleQuery := tx.Model(÷ndsIncentivesRuleModels) | ||
| 1118 | + if err := dividendsIncentivesRuleQuery. | ||
| 1119 | + Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | ||
| 1120 | + Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | ||
| 1121 | + Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber). | ||
| 1122 | + Select(); err != nil { | ||
| 1123 | + return 0, nil, fmt.Errorf("合约关联的分红激励规则列表不存在") | ||
| 1124 | + } | ||
| 1125 | + // 获取金额激励规则列表 | ||
| 1126 | + var moneyIncentivesRuleModels []*models.MoneyIncentivesRule | ||
| 1127 | + moneyIncentivesRuleQuery := tx.Model(&moneyIncentivesRuleModels) | ||
| 1128 | + if err := moneyIncentivesRuleQuery. | ||
| 1129 | + Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | ||
| 1130 | + Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | ||
| 1131 | + Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber). | ||
| 1132 | + Select(); err != nil { | ||
| 1133 | + return 0, nil, fmt.Errorf("合约关联的金额激励规则列表不存在") | ||
| 1134 | + } | ||
| 1135 | + // 获取承接人列表 | ||
| 1136 | + var cooperationContractUndertakerModels []*models.CooperationContractUndertaker | ||
| 1137 | + cooperationContractUndertakerQuery := tx.Model(&cooperationContractUndertakerModels) | ||
| 1138 | + if err := cooperationContractUndertakerQuery. | ||
| 1139 | + Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | ||
| 1140 | + Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | ||
| 1141 | + Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber). | ||
| 1142 | + Select(); err != nil { | ||
| 1143 | + return 0, nil, fmt.Errorf("合约相关的承接人列表不存在") | ||
| 1144 | + } | ||
| 1145 | + // 获取相关人列表 | ||
| 1146 | + var cooperationContractRelevantModels []*models.CooperationContractRelevant | ||
| 1147 | + cooperationContractRelevantQuery := tx.Model(&cooperationContractRelevantModels) | ||
| 1148 | + if err := cooperationContractRelevantQuery. | ||
| 1149 | + Where("company->>'companyId' = '?'", cooperationContractModel.Company.CompanyId). | ||
| 1150 | + Where("org->>'orgId' = '?'", cooperationContractModel.Org.OrgId). | ||
| 1151 | + Where("cooperation_contract_number = ?", cooperationContractModel.CooperationContractNumber). | ||
| 1152 | + Select(); err != nil { | ||
| 1153 | + return 0, nil, fmt.Errorf("合约相关的相关人列表不存在") | ||
| 1154 | + } | ||
| 1155 | + if cooperationContract, err := transform.TransformToCooperationContractDomainModelFromPgModels( | ||
| 1156 | + cooperationContractModel, | ||
| 1157 | + cooperationModeModels[0], | ||
| 1158 | + dividendsIncentivesRuleModels, | ||
| 1159 | + moneyIncentivesRuleModels, | ||
| 1160 | + cooperationContractRelevantModels, | ||
| 1161 | + cooperationContractUndertakerModels); err != nil { | ||
| 1162 | + return 0, cooperationContracts, err | ||
| 1163 | + } else { | ||
| 1164 | + cooperationContracts = append(cooperationContracts, cooperationContract) | ||
| 1165 | + } | ||
| 1166 | + } | ||
| 1161 | } | 1167 | } |
| 1162 | } | 1168 | } |
| 1163 | } | 1169 | } |
| @@ -284,22 +284,25 @@ func (repository *CooperationProjectRepository) Find(queryOptions map[string]int | @@ -284,22 +284,25 @@ func (repository *CooperationProjectRepository) Find(queryOptions map[string]int | ||
| 284 | if count > 0 { | 284 | if count > 0 { |
| 285 | for _, cooperationProjectModel := range cooperationProjectModels { | 285 | for _, cooperationProjectModel := range cooperationProjectModels { |
| 286 | // 获取共创模式 | 286 | // 获取共创模式 |
| 287 | - cooperationModeModel := new(models.CooperationMode) | ||
| 288 | - cooperationModeQuery := tx.Model(cooperationModeModel) | ||
| 289 | - if err := cooperationModeQuery. | 287 | + var cooperationModeModels []*models.CooperationMode |
| 288 | + cooperationModeQuery := tx.Model(&cooperationModeModels) | ||
| 289 | + if countMode, err := cooperationModeQuery. | ||
| 290 | Where("company->>'companyId' = '?'", cooperationProjectModel.Company.CompanyId). | 290 | Where("company->>'companyId' = '?'", cooperationProjectModel.Company.CompanyId). |
| 291 | Where("org->>'orgId' = '?'", cooperationProjectModel.Org.OrgId). | 291 | Where("org->>'orgId' = '?'", cooperationProjectModel.Org.OrgId). |
| 292 | Where("cooperation_mode_number = ?", cooperationProjectModel.CooperationModeNumber). | 292 | Where("cooperation_mode_number = ?", cooperationProjectModel.CooperationModeNumber). |
| 293 | - First(); err != nil { | 293 | + Limit(1). |
| 294 | + SelectAndCount(); err != nil { | ||
| 294 | log.Logger.Error("共创项目关联的共创模式不存在", map[string]interface{}{ | 295 | log.Logger.Error("共创项目关联的共创模式不存在", map[string]interface{}{ |
| 295 | "cooperationProjectModel": cooperationProjectModel, | 296 | "cooperationProjectModel": cooperationProjectModel, |
| 296 | }) | 297 | }) |
| 297 | - return 0, nil, fmt.Errorf("共创项目关联的共创模式不存在") | ||
| 298 | - } | ||
| 299 | - if cooperationProject, err := transform.TransformToCooperationProjectDomainModelFromPgModels(cooperationProjectModel, cooperationModeModel); err != nil { | ||
| 300 | - return 0, cooperationProjects, err | ||
| 301 | } else { | 298 | } else { |
| 302 | - cooperationProjects = append(cooperationProjects, cooperationProject) | 299 | + if countMode > 0 { |
| 300 | + if cooperationProject, err := transform.TransformToCooperationProjectDomainModelFromPgModels(cooperationProjectModel, cooperationModeModels[0]); err != nil { | ||
| 301 | + return 0, cooperationProjects, err | ||
| 302 | + } else { | ||
| 303 | + cooperationProjects = append(cooperationProjects, cooperationProject) | ||
| 304 | + } | ||
| 305 | + } | ||
| 303 | } | 306 | } |
| 304 | } | 307 | } |
| 305 | } | 308 | } |
-
请 注册 或 登录 后发表评论