Beispiel #1
0
        public async Task <Guid> CreateOrUpdateAsync(CreateOrUpdateProjectResultInput input)
        {
            if (input.Id.HasValue)
            {
                await UpdateAsync(input);

                return(input.Id.Value);
            }
            else
            {
                return(await CreateAsync(input));
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }