示例#1
0
        public ActionResult GetCompany(long projectId)
        {
            using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request)))
            {
                QueryCondition qc = new QueryCondition();
                qc.PageInfo.isAllowPage = false;
                var companyResult = proxy.GetProjectCompanyList(projectId);
                companyResult.Data = companyResult.Data.Where(t => t.CompanyId.HasValue && t.CompanyId != CurrentUser.CompanyId).ToList();
                companyResult.Data.ForEach(p =>
                {
                    p.Id = p.CompanyId.Value;
                });

                Epm_ProjectCompany comList = new Epm_ProjectCompany();

                var projectInfo = proxy.GetProject(projectId);

                comList.Id = projectInfo.Data.CompanyId.Value;
                comList.CompanyId = projectInfo.Data.CompanyId.Value;
                comList.CompanyName = projectInfo.Data.CompanyName;
                companyResult.Data.Add(comList);


                List<Epm_ProjectCompany> comLists = new List<Epm_ProjectCompany>();
                if (companyResult.Data.Count > 0)
                {
                    foreach (var item in companyResult.Data)
                    {
                        var isCom = comLists.Where(t => t.CompanyId == item.CompanyId);
                        if (isCom.Count() == 0)
                        {
                            Epm_ProjectCompany com = new Epm_ProjectCompany();
                            com.CompanyId = item.CompanyId;
                            com.CompanyName = item.CompanyName;
                            com.Id = com.CompanyId.Value;

                            comLists.Add(com);
                        }
                    }

                    companyResult.Data = comLists;
                }

                return Json(companyResult.Data);
            }
        }
示例#2
0
        /// <summary>
        /// 审核、驳回服务商PM和负责人
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="state"></param>
        /// <returns></returns>
        public Result <bool> AuditProjectCompanyPmAndLink(long Id, ApprovalState state)
        {
            Result <bool> result = new Result <bool>();

            try
            {
                Epm_ProjectCompany pc = DataOperateBusiness <Epm_ProjectCompany> .Get().GetModel(Id);

                if (state == ApprovalState.ApprSuccess)
                {
                    pc.PMId      = pc.PMId_New;
                    pc.PM        = pc.PM_New;
                    pc.PMPhone   = pc.PMPhone_New;
                    pc.LinkManId = pc.LinkManId_New;
                    pc.LinkMan   = pc.LinkMan_New;
                    pc.LinkPhone = pc.LinkPhone_New;
                    pc.SafeManId = pc.SafeManId_New;
                    pc.SafeMan   = pc.SafeMan_New;
                    pc.SafePhone = pc.SafePhone_New;
                    pc           = base.FiterUpdate(pc, pc);
                }
                pc.State     = (int)state;
                pc.LinkState = (int)state;
                DataOperateBusiness <Epm_ProjectCompany> .Get().Update(pc);

                #region 处理待办
                var tempApp = DataOperateBusiness <Epm_Approver> .Get().GetList(t => t.BusinessId == pc.Id && t.IsApprover == false).FirstOrDefault();

                if (tempApp != null)
                {
                    ComplateApprover(tempApp.Id);
                }
                #endregion

                #region 消息
                var waitSend = GetWaitSendMessageList(pc.ProjectId.Value);
                var model    = DataOperateBusiness <Epm_Project> .Get().GetModel(pc.ProjectId.Value);

                foreach (var send in waitSend)
                {
                    Epm_Massage modelMsg = new Epm_Massage();
                    modelMsg.ReadTime = null;
                    modelMsg.RecId    = send.Key;
                    modelMsg.RecName  = send.Value;
                    modelMsg.RecTime  = DateTime.Now;
                    modelMsg.SendId   = CurrentUserID.ToLongReq();
                    modelMsg.SendName = CurrentUserName;
                    modelMsg.SendTime = DateTime.Now;
                    if (state == ApprovalState.ApprSuccess)
                    {
                        modelMsg.Title   = CurrentUserName + "审核通过了你提交的服务商用户修改信息";
                        modelMsg.Content = CurrentUserName + "审核通过了你提交的服务商用户修改信息";
                    }
                    else if (state == ApprovalState.ApprFailure)
                    {
                        modelMsg.Title   = CurrentUserName + "驳回了你提交的服务商用户修改信息";
                        modelMsg.Content = CurrentUserName + "驳回了你提交的服务商用户修改信息";
                    }
                    modelMsg.Type          = 2;
                    modelMsg.IsRead        = false;
                    modelMsg.BussinessId   = model.Id;
                    modelMsg.BussinesType  = BusinessType.Project.ToString();
                    modelMsg.BussinesChild = "ISP";
                    modelMsg.ProjectId     = model.Id;
                    modelMsg.ProjectName   = model.Name;
                    modelMsg = base.SetCurrentUser(modelMsg);
                    modelMsg = base.SetCreateUser(modelMsg);
                    DataOperateBusiness <Epm_Massage> .Get().Add(modelMsg);
                }
                #endregion

                result.Flag = EResultFlag.Success;
                result.Data = true;
            }
            catch (Exception ex)
            {
                result.Flag      = EResultFlag.Failure;
                result.Data      = false;
                result.Exception = new ExceptionEx(ex, "AuditProjectCompanyPmAndLink");
            }
            return(result);
        }
示例#3
0
        ///// <summary>
        ///// 新增工程内容要点
        ///// </summary>
        ///// <param name="model"></param>
        ///// <returns></returns>
        //public Result<bool> AddProjectWorkPoint(Epm_ProjectWorkMainPoints model)
        //{
        //    Result<bool> result = new Result<bool>();
        //    try
        //    {
        //        var data = DataOperateBusiness<Epm_ProjectWorkMainPoints>.Get().Single(p => p.ProjectId == model.ProjectId && p.WorkMainPointsValue == model.WorkMainPointsValue);
        //        if (data != null)
        //        {
        //            throw new Exception(string.Format("该项目下已存在同名【{0}】工程内容要点!", model.WorkMainPointsValue));
        //        }

        //        SetCreateUser(model);
        //        SetCurrentUser(model);

        //        DataOperateBusiness<Epm_ProjectWorkMainPoints>.Get().Add(model);

        //        result.Data = true;
        //        result.Flag = EResultFlag.Success;
        //    }
        //    catch (Exception ex)
        //    {
        //        result.Data = false;
        //        result.Flag = EResultFlag.Failure;
        //        result.Exception = new ExceptionEx(ex, "AddProjectWorkPoint");
        //    }
        //    return result;
        //}

        ///// <summary>
        ///// 根据 ID 修改工程内容要点
        ///// </summary>
        ///// <param name="model"></param>
        ///// <returns></returns>
        //public Result<bool> UpdateProjectWorkPointById(Epm_ProjectWorkMainPoints model)
        //{
        //    Result<bool> result = new Result<bool>();
        //    try
        //    {
        //        var data = DataOperateBusiness<Epm_ProjectWorkMainPoints>.Get().GetModel(model.Id);
        //        if (data == null)
        //        {
        //            throw new Exception("内容不存在或已被删除!");
        //        }

        //        Epm_ProjectWorkMainPointsHistory historyModel = new Epm_ProjectWorkMainPointsHistory();
        //        //historyModel.Id = data.Id;
        //        historyModel.ProjectId = data.ProjectId;
        //        historyModel.WorkMainPointsKey = data.WorkMainPointsKey;
        //        historyModel.WorkMainPointsValue = data.WorkMainPointsValue;
        //        historyModel.IsCharging = data.IsCharging;
        //        historyModel.CompanyId = data.CompanyId;
        //        historyModel.CompanyName = data.CompanyName;
        //        historyModel.Qty = data.Qty;
        //        historyModel.Description = data.Description;
        //        historyModel.Sort = data.Sort;
        //        historyModel.CreateTime = data.CreateTime;
        //        historyModel.CreateUserId = data.CreateUserId;
        //        historyModel.CreateTime = data.CreateTime;
        //        historyModel.OperateUserId = data.OperateUserId;
        //        historyModel.OperateUserName = data.OperateUserName;
        //        historyModel.OperateTime = data.OperateTime;
        //        historyModel.IsDelete = false;

        //        DataOperateBusiness<Epm_ProjectWorkMainPointsHistory>.Get().Add(historyModel);

        //        data.ProjectId = model.ProjectId;
        //        data.WorkMainPointsValue = model.WorkMainPointsValue;
        //        data.CompanyName = model.CompanyName;
        //        data.Qty = model.Qty;
        //        data.Description = model.Description;

        //        SetCurrentUser(data);

        //        DataOperateBusiness<Epm_ProjectWorkMainPoints>.Get().Update(data);

        //        #region 消息
        //        var project = DataOperateBusiness<Epm_Project>.Get().GetModel(data.ProjectId.Value);

        //        var waitSend = GetWaitSendMessageList(project.Id);
        //        foreach (var send in waitSend)
        //        {
        //            Epm_Massage modelMsg = new Epm_Massage();
        //            modelMsg.ReadTime = null;
        //            modelMsg.RecId = send.Key;
        //            modelMsg.RecName = send.Value;
        //            modelMsg.RecTime = DateTime.Now;
        //            modelMsg.SendId = CurrentUserID.ToLongReq();
        //            modelMsg.SendName = CurrentUserName;
        //            modelMsg.SendTime = DateTime.Now;
        //            modelMsg.Title = CurrentUserName + "更新工程内容要点信息";
        //            modelMsg.Content = CurrentUserName + "更新工程内容要点信息";
        //            modelMsg.Type = 2;
        //            modelMsg.IsRead = false;
        //            modelMsg.BussinessId = project.Id;
        //            modelMsg.BussinesType = BusinessType.Project.ToString();
        //            modelMsg.BussinesChild = "WorkPoints";
        //            modelMsg.ProjectId = project.Id;
        //            modelMsg.ProjectName = project.Name;
        //            modelMsg = base.SetCurrentUser(modelMsg);
        //            modelMsg = base.SetCreateUser(modelMsg);
        //            DataOperateBusiness<Epm_Massage>.Get().Add(modelMsg);
        //        }
        //        #endregion

        //        result.Data = true;
        //        result.Flag = EResultFlag.Success;
        //    }
        //    catch (Exception ex)
        //    {
        //        result.Data = false;
        //        result.Flag = EResultFlag.Failure;
        //        result.Exception = new ExceptionEx(ex, "UpdateProjectWorkPointById");
        //    }
        //    return result;
        //}

        /// <summary>
        /// 修改项目供应商负责人及项目经理
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public Result <bool> UpdateProjectCompanyPmInfo(Epm_ProjectCompany projectCompany, long userId)
        {
            Result <bool> result = new Result <bool>();
            int           rows   = -1;

            try
            {
                Epm_ProjectCompany pc = DataOperateBusiness <Epm_ProjectCompany> .Get().GetModel(projectCompany.Id);

                if (pc == null)
                {
                    throw new Exception("供应商信息不存在或已被删除!");
                }
                #region 更新项目经理信息
                if (IsBranchCompanyUser(userId))//是否分公司
                {
                    //分公司修改不需要审核
                    pc.PMId_New    = projectCompany.PMId_New;
                    pc.PM_New      = projectCompany.PM_New;
                    pc.PMPhone_New = projectCompany.PMPhone_New;
                    pc.PMId        = projectCompany.PMId_New;
                    pc.PM          = projectCompany.PM_New;
                    pc.PMPhone     = projectCompany.PMPhone_New;

                    pc.LinkManId_New = projectCompany.LinkManId_New;
                    pc.LinkMan_New   = projectCompany.LinkMan_New;
                    pc.LinkPhone_New = projectCompany.LinkPhone_New;
                    pc.LinkManId     = projectCompany.LinkManId_New;
                    pc.LinkMan       = projectCompany.LinkMan_New;
                    pc.LinkPhone     = projectCompany.LinkPhone_New;

                    pc.SafeManId     = projectCompany.SafeManId_New;
                    pc.SafeMan       = projectCompany.SafeMan_New;
                    pc.SafePhone     = projectCompany.SafePhone_New;
                    pc.SafeManId_New = projectCompany.SafeManId_New;
                    pc.SafeMan_New   = projectCompany.SafeMan_New;
                    pc.SafePhone_New = projectCompany.SafePhone_New;

                    pc.State = (int)ApprovalState.ApprSuccess;
                    pc       = base.FiterUpdate(pc, pc);

                    pc.State = (int)ApprovalState.ApprSuccess;
                    rows     = DataOperateBusiness <Epm_ProjectCompany> .Get().Update(pc);
                }
                else
                {
                    pc.PMId_New    = projectCompany.PMId_New;
                    pc.PM_New      = projectCompany.PM_New;
                    pc.PMPhone_New = projectCompany.PMPhone_New;

                    pc.LinkManId_New = projectCompany.LinkManId_New;
                    pc.LinkMan_New   = projectCompany.LinkMan_New;
                    pc.LinkPhone_New = projectCompany.LinkPhone_New;

                    pc.SafeManId_New = projectCompany.SafeManId_New;
                    pc.SafeMan_New   = projectCompany.SafeMan_New;
                    pc.SafePhone_New = projectCompany.SafePhone_New;

                    pc.State = (int)ApprovalState.WaitAppr;
                    pc       = base.FiterUpdate(pc, pc);
                    rows     = DataOperateBusiness <Epm_ProjectCompany> .Get().Update(pc);

                    #region 生成待办
                    List <Epm_Approver> list = new List <Epm_Approver>();
                    Epm_Approver        app  = new Epm_Approver();
                    app.Title            = CurrentUserName + "更新了服务商用户信息,待审核";
                    app.Content          = CurrentUserName + "更新了服务商用户信息,待审核";
                    app.SendUserId       = CurrentUserID.ToLongReq();
                    app.SendUserName     = CurrentUserName;
                    app.SendTime         = DateTime.Now;
                    app.LinkURL          = string.Empty;
                    app.BusinessTypeNo   = BusinessType.Project.ToString();
                    app.BussinesChild    = "ISP";
                    app.Action           = SystemRight.Modify.ToString();
                    app.BusinessTypeName = BusinessType.Project.GetText();
                    app.BusinessState    = (int)(ApprovalState.WaitAppr);
                    app.BusinessId       = pc.Id;
                    var project = DataOperateBusiness <Epm_Project> .Get().GetModel(pc.ProjectId.Value);

                    app.ApproverId   = project.ContactUserId;
                    app.ApproverName = project.ContactUserName;
                    app.ProjectId    = pc.ProjectId;
                    app.ProjectName  = project.Name;
                    list.Add(app);
                    AddApproverBatch(list);
                    WriteLog(BusinessType.Project.GetText(), SystemRight.Modify.GetText(), "服务商用户信息更新生成待办: " + pc.ProjectId);
                    #endregion
                }
                #endregion

                result.Flag = EResultFlag.Success;
                result.Data = true;
            }
            catch (Exception ex)
            {
                result.Flag      = EResultFlag.Failure;
                result.Data      = false;
                result.Exception = new ExceptionEx(ex, "UpdateProjectCompanyPmInfo");
            }
            return(result);
        }