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); } }
/// <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); }
///// <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); }