public async Task <Guid> CreateOrUpdateAsync(CreateOrUpdateProjectResultInput input) { if (input.Id.HasValue) { await UpdateAsync(input); return(input.Id.Value); } else { return(await CreateAsync(input)); } }
private async Task UpdateAsync(CreateOrUpdateProjectResultInput input) { if (input.AuditAmount.HasValue == false || input.AuditAmount.Value <= 0) { throw new UserFriendlyException((int)ErrorCode.DataAccessErr, "审定金额不能为空或小于0."); } var entity = await _projectAuditMemberResultRepository.GetAsync(input.Id.Value); entity.AuditAmount = input.AuditAmount; entity.Remark = input.Remark; var businessType1 = 0; var businessType2 = 0; if (input.AuditRoleId == (int)AuditRoleEnum.项目负责人) { businessType1 = (int)AbpFileBusinessType.项目负责人汇总CJZ结果; businessType2 = (int)AbpFileBusinessType.项目负责人汇总结果; } else if (input.AuditRoleId == (int)AuditRoleEnum.核人) { businessType1 = (int)AbpFileBusinessType.核CJZ结果; businessType2 = (int)AbpFileBusinessType.核结果; } else if (input.AuditRoleId == (int)AuditRoleEnum.财务评审) { businessType2 = (int)AbpFileBusinessType.财务评审; } else if (input.AuditRoleId == (int)AuditRoleEnum.财务初审) { businessType2 = (int)AbpFileBusinessType.财务初审; } else if (input.AuditRoleId == (int)AuditRoleEnum.核人二) { businessType1 = (int)AbpFileBusinessType.二级复核CJZ结果; businessType2 = (int)AbpFileBusinessType.二级复核结果; } else if (input.AuditRoleId == (int)AuditRoleEnum.核人三) { businessType1 = (int)AbpFileBusinessType.级复核CJZ结果; businessType2 = (int)AbpFileBusinessType.级复核结果; var singemodele = await _singleProjectInfoRepository.GetAsync(input.ProjectBaseId); singemodele.AuditAmount = input.AuditAmount; } else if (input.AuditRoleId == (int)AuditRoleEnum.联系人一) { businessType1 = (int)AbpFileBusinessType.联系人初审结果汇总CJZ; businessType2 = (int)AbpFileBusinessType.联系人初审结果汇总; } var cjzFileNews = new List <AbpFileListInput>(); if (input.CjzFile != null) { cjzFileNews.Add(new AbpFileListInput() { Id = input.CjzFile.Id, Sort = input.CjzFile.Sort }); } await _abpFileRelationAppService.UpdateAsync(new CreateFileRelationsInput() { BusinessId = entity.Id.ToString(), BusinessType = businessType1, Files = cjzFileNews }); var fileList = new List <AbpFileListInput>(); foreach (var filemodel in input.Files) { var fileone = new AbpFileListInput() { Id = filemodel.Id, Sort = filemodel.Sort }; fileList.Add(fileone); } await _abpFileRelationAppService.UpdateAsync(new CreateFileRelationsInput() { BusinessId = entity.Id.ToString(), BusinessType = businessType2, Files = fileList }); await _projectAuditMemberResultRepository.UpdateAsync(entity); }
private async Task <Guid> CreateAsync(CreateOrUpdateProjectResultInput input) { if (input.AuditAmount.HasValue == false || input.AuditAmount.Value <= 0) { throw new UserFriendlyException((int)ErrorCode.DataAccessErr, "审定金额不能为空或小于0."); } // var projectModel = _projectBaseRepository.GetAsync(input.ProjectBaseId); var memberModel = await _projectAuditMemberRepository.GetAll().FirstOrDefaultAsync(r => r.ProjectBaseId == input.ProjectBaseId && r.UserAuditRole == input.AuditRoleId && r.UserId == AbpSession.UserId.Value); if (memberModel == null) { throw new UserFriendlyException((int)ErrorCode.DataAccessErr, "评审人员数据异常"); } var entity = new ProjectAuditMemberResult(); entity.Id = Guid.NewGuid(); entity.Pid = memberModel.Id; entity.AuditAmount = input.AuditAmount; var businessType1 = 0; var businessType2 = 0; if (input.AuditRoleId == (int)AuditRoleEnum.项目负责人) { businessType1 = (int)AbpFileBusinessType.项目负责人汇总CJZ结果; businessType2 = (int)AbpFileBusinessType.项目负责人汇总结果; } else if (input.AuditRoleId == (int)AuditRoleEnum.核人) { businessType1 = (int)AbpFileBusinessType.核CJZ结果; businessType2 = (int)AbpFileBusinessType.核结果; } else if (input.AuditRoleId == (int)AuditRoleEnum.财务评审) { businessType2 = (int)AbpFileBusinessType.财务评审; } else if (input.AuditRoleId == (int)AuditRoleEnum.财务初审) { businessType2 = (int)AbpFileBusinessType.财务初审; } else if (input.AuditRoleId == (int)AuditRoleEnum.核人二) { businessType1 = (int)AbpFileBusinessType.二级复核CJZ结果; businessType2 = (int)AbpFileBusinessType.二级复核结果; } else if (input.AuditRoleId == (int)AuditRoleEnum.核人三) { businessType1 = (int)AbpFileBusinessType.级复核CJZ结果; businessType2 = (int)AbpFileBusinessType.级复核结果; var singemodele = await _singleProjectInfoRepository.GetAsync(input.ProjectBaseId); singemodele.AuditAmount = input.AuditAmount; } else if (input.AuditRoleId == (int)AuditRoleEnum.联系人一) { businessType1 = (int)AbpFileBusinessType.联系人初审结果汇总CJZ; businessType2 = (int)AbpFileBusinessType.联系人初审结果汇总; } if (input.CjzFile != null) { await _abpFileRelationAppService.CreateAsync(new CreateFileRelationsInput() { BusinessId = entity.Id.ToString(), BusinessType = businessType1, Files = new List <AbpFileListInput>() { new AbpFileListInput() { Id = input.CjzFile.Id, Sort = input.CjzFile.Sort } } }); } var fileList = new List <AbpFileListInput>(); if (input.Files == null || input.Files.Count == 0) { throw new UserFriendlyException((int)ErrorCode.DataAccessErr, "请上传评审附件。"); } foreach (var filemodel in input.Files) { var fileone = new AbpFileListInput() { Id = filemodel.Id, Sort = filemodel.Sort }; fileList.Add(fileone); } await _abpFileRelationAppService.CreateAsync(new CreateFileRelationsInput() { BusinessId = entity.Id.ToString(), BusinessType = businessType2, Files = fileList }); //entity.Files = Newtonsoft.Json.JsonConvert.SerializeObject(input.Files); //entity.CJZFiles = Newtonsoft.Json.JsonConvert.SerializeObject(input.CjzFile); entity.Remark = input.Remark; await _projectAuditMemberResultRepository.InsertAsync(entity); return(entity.Id); }