Esempio n. 1
0
        protected virtual async Task UpdateDispatch(DispatchPublishInput input)
        {
            var user_id      = AbpSession.UserId;
            var ret          = new DispatchPublishOutput();
            var projectmodel = await _projectBaseRepository.GetAsync(input.ProjectId);

            var model = await _dispatchMessageRepository.GetAll().FirstOrDefaultAsync(r => r.ProjectId == input.ProjectId && r.UserId == user_id);

            if (model != null)
            {
                model.Additional           = input.Additional;
                model.DispatchCode         = input.DispatchCode;
                model.EndDate              = input.EndDate;
                model.ProjectUndertakeCode = input.ProjectUndertakeCode;
                model.Reason = input.Reason;
                model.Remark = input.Remark;
                await _dispatchMessageRepository.UpdateAsync(model);
            }
        }
Esempio n. 2
0
        public async Task <DispatchPublishOutput> GetDispatchForEidt(Guid projectId)
        {
            var user_id      = AbpSession.UserId;
            var ret          = new DispatchPublishOutput();
            var projectmodel = await _projectBaseRepository.GetAsync(projectId);

            var model = await _dispatchMessageRepository.GetAll().FirstOrDefaultAsync(r => r.ProjectId == projectId);

            if (model != null)
            {
                ret                   = model.MapTo <DispatchPublishOutput>();
                ret.BaseOutput        = projectmodel.MapTo <CreateOrUpdateProjectBaseInput>();
                ret.ProjectCode       = projectmodel.ProjectCode;
                ret.AppraisalTypeId   = projectmodel.AppraisalTypeId;
                ret.AuditAmount       = projectmodel.AuditAmount;
                ret.ProjectName       = projectmodel.ProjectName;
                ret.SingleProjectName = projectmodel.SingleProjectName;
                ret.SingleProjectCode = projectmodel.SingleProjectCode;
                ret.ProjectId         = projectmodel.Id;
                ret.StartDate         = projectmodel.CreationTime;
                ret.ProjectLeader     = model.ProjectLeader;
                ret.ProjectReviewer   = model.ProjectReviewer;
                ret.SendUnitName      = model.SendUnitName;
            }
            else
            {
                ret.BaseOutput = projectmodel.MapTo <CreateOrUpdateProjectBaseInput>();
                if (projectmodel.SendUnit == 0)
                {
                    ret.SendUnitName = string.Empty;
                }
                else
                {
                    var sendunitemodel = await _constructionOrganizationRepository.GetAsync(projectmodel.SendUnit);

                    ret.SendUnitName = sendunitemodel == null ? "" : sendunitemodel.Name;
                }

                ret.ProjectName     = projectmodel.ProjectName;
                ret.ProjectCode     = projectmodel.ProjectCode;
                ret.AppraisalTypeId = projectmodel.AppraisalTypeId;
                ret.ProjectId       = projectmodel.Id;
                //if (string.IsNullOrWhiteSpace(projectmodel.PersonLiable))
                //    ret.ProjectLeader = "";
                //else
                //{
                //    var usermodel = await _userRepository.GetAsync(Int64.Parse(projectmodel.PersonLiable));
                //    ret.ProjectLeader = usermodel.Name;

                //}
                var leaderModel = from a in _projectAuditMemberRepository.GetAll()
                                  join u in _userRepository.GetAll() on a.UserId equals u.Id
                                  where a.ProjectBaseId == projectId && a.UserAuditRole == 1
                                  select u.Name;
                ret.ProjectLeader = leaderModel.FirstOrDefault() ?? "";
                var query = from memeber in _projectAuditMemberRepository.GetAll()
                            join user in _userRepository.GetAll() on memeber.UserId equals user.Id
                            where memeber.UserAuditRole == 2 && memeber.ProjectBaseId == projectmodel.Id
                            select user.Name;
                ret.ProjectReviewer = "";
                var membsers = query.ToList();
                foreach (var name in membsers)
                {
                    if (!string.IsNullOrWhiteSpace(ret.ProjectReviewer))
                    {
                        ret.ProjectReviewer = ret.ProjectReviewer + ",";
                    }
                    ret.ProjectReviewer = ret.ProjectReviewer + name;;
                }
                ret.StartDate = projectmodel.CreationTime;

                var auditRole        = (int)AuditRoleEnum.核人三;
                var threadAuditModel = from a in _projectAuditMemberRepository.GetAll()
                                       join b in _projectAuditMemberResultRepository.GetAll() on a.Id equals b.Pid
                                       where a.ProjectBaseId == projectmodel.Id && a.UserAuditRole == auditRole
                                       select b;
                ret.AuditAmount = threadAuditModel.FirstOrDefault()?.AuditAmount ?? null;
            }


            return(ret);
        }