public ActionResult SaveWorkFile(long id) { //上传附件 string fileDataJsonFile = Request.Form["fileDataJsonFile"]; //获取上传文件json字符串 List <Base_Files> files = JsonConvert.DeserializeObject <List <Base_Files> >(fileDataJsonFile); //将文件信息json字符 Result <int> result = new Result <int>(); using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request))) { Epm_DangerousWork work = proxy.GetDangerousWorkModel(id).Data; Epm_WorkUploadRealScene model = new Epm_WorkUploadRealScene(); model.WorkId = work.Id; model.WorkName = work.TaskName; model.ProjectId = work.ProjectId; model.UploadTime = DateTime.Now; model.State = (int)ApprovalState.WaitAppr; model.Remark = ""; proxy.AddWorkRealScenen(model, files); } return(Json(result.ToResultView())); }
///<summary> ///添加: ///</summary> /// <param name="model">要添加的model</param> /// <returns>受影响的行数</returns> public Result <int> AddDangerousWork(Epm_DangerousWork model, List <Base_Files> files) { Result <int> result = new Result <int>(); try { model = SetCurrentUser(model); model.SubmitCompanyId = CurrentCompanyID.ToLongReq(); model.SubmitCompanyName = CurrentCompanyName; model.SubmitUserId = CurrentUserID.ToLongReq(); model.SubmitUserName = CurrentUserName; model.CrtCompanyId = CurrentCompanyID.ToLongReq(); model.CrtCompanyName = CurrentCompanyName; var rows = DataOperateBusiness <Epm_DangerousWork> .Get().Add(model); QueryCondition qc = new QueryCondition() { PageInfo = new PageListInfo() { isAllowPage = false } }; qc.ConditionList.Add(new ConditionExpression() { ExpName = "ProjectId", ExpValue = model.ProjectId, ExpOperater = eConditionOperator.Equal, ExpLogical = eLogicalOperator.And }); qc.ConditionList.Add(new ConditionExpression() { ExpName = "UploadTime", ExpValue = DateTime.Today, ExpOperater = eConditionOperator.Equal, ExpLogical = eLogicalOperator.And }); // 关联危险作业实景 var workRealScenenResult = GetWorkRealSceneList(qc); if (workRealScenenResult.Flag == EResultFlag.Success && workRealScenenResult.Data != null) { List <Epm_SupervisorLogWork> workList = workRealScenenResult.Data.Select(p => new Epm_SupervisorLogWork { WorkId = p.WorkId, LogId = model.Id, WorkUploadId = p.Id, State = p.State }).ToList(); workList.ForEach(p => { SetCurrentUser(p); SetCreateUser(p); }); DataOperateBusiness <Epm_SupervisorLogWork> .Get().AddRange(workList); } AddFilesByTable(model, files); result.Data = rows; result.Flag = EResultFlag.Success; WriteLog(BusinessType.Dangerous.GetText(), SystemRight.Add.GetText(), "新增: " + model.Id); if (model.State == (int)ApprovalState.WaitAppr) { #region 生成待办 var project = DataOperateBusiness <Epm_Project> .Get().GetModel(model.ProjectId.Value); 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.Dangerous.ToString(); app.Action = SystemRight.Add.ToString(); app.BusinessTypeName = BusinessType.Dangerous.GetText(); app.BusinessState = (int)(ApprovalState.WaitAppr); app.BusinessId = model.Id; app.ApproverId = project.ContactUserId; app.ApproverName = project.ContactUserName; app.ProjectId = model.ProjectId; app.ProjectName = project.Name; list.Add(app); AddApproverBatch(list); WriteLog(BusinessType.Dangerous.GetText(), SystemRight.Add.GetText(), "提交危险作业生成待办: " + model.Id); #endregion #region 消息 //var waitSend = GetWaitSendMessageList(model.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; // modelMsg.Title = CurrentUserName + "提报了危险作业单,待审核"; // modelMsg.Content = CurrentUserName + "提报了危险作业单,待审核"; // modelMsg.Type = 2; // modelMsg.IsRead = false; // modelMsg.BussinessId = model.Id; // modelMsg.BussinesType = BusinessType.Dangerous.ToString(); // modelMsg.ProjectId = model.ProjectId.Value; // modelMsg.ProjectName = model.ProjectName; // modelMsg = base.SetCurrentUser(modelMsg); // modelMsg = base.SetCreateUser(modelMsg); // DataOperateBusiness<Epm_Massage>.Get().Add(modelMsg); //} #endregion #region 发送短信 //Dictionary<string, string> parameterSms = new Dictionary<string, string>(); //parameterSms.Add("UserName", CurrentUserName); //WriteSMS(project.ContactUserId.Value, project.CompanyId, MessageStep.WorkAdd, parameterSms); #endregion } } catch (Exception ex) { result.Data = -1; result.Flag = EResultFlag.Failure; result.Exception = new ExceptionEx(ex, "AddDangerousWork"); } return(result); }
///<summary> ///修改: ///</summary> /// <param name="model">要修改的model</param> /// <returns>受影响的行数</returns> public Result <int> UpdateDangerousWork(Epm_DangerousWork model, List <Base_Files> files) { Result <int> result = new Result <int>(); try { var oldModel = DataOperateBusiness <Epm_DangerousWork> .Get().GetModel(model.Id); model = FiterUpdate(oldModel, model); model.SubmitCompanyId = oldModel.SubmitCompanyId; model.SubmitCompanyName = oldModel.SubmitCompanyName; model.SubmitUserId = oldModel.SubmitUserId; model.SubmitUserName = oldModel.SubmitUserName; model.CrtCompanyId = oldModel.CrtCompanyId; model.CrtCompanyName = oldModel.CrtCompanyName; var rows = DataOperateBusiness <Epm_DangerousWork> .Get().Update(model); //AddFilesByTable(model, files); //删除之前的附件 DeleteFilesByTable(model.GetType().Name, new List <long>() { model.Id }); //新增附件 AddFilesByTable(model, files); //处理待办 var tempApp = DataOperateBusiness <Epm_Approver> .Get().GetList(t => t.BusinessId == model.Id && t.IsApprover == false).FirstOrDefault(); if (tempApp != null) { ComplateApprover(tempApp.Id); } result.Data = rows; result.Flag = EResultFlag.Success; WriteLog(BusinessType.Dangerous.GetText(), SystemRight.Modify.GetText(), "修改: " + model.Id); if (model.State == (int)ApprovalState.WaitAppr) { #region 生成待办 var project = DataOperateBusiness <Epm_Project> .Get().GetModel(model.ProjectId.Value); 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.Dangerous.ToString(); app.Action = SystemRight.Add.ToString(); app.BusinessTypeName = BusinessType.Dangerous.GetText(); app.BusinessState = (int)(ApprovalState.WaitAppr); app.BusinessId = model.Id; app.ApproverId = project.ContactUserId; app.ApproverName = project.ContactUserName; app.ProjectId = model.ProjectId; app.ProjectName = project.Name; list.Add(app); AddApproverBatch(list); WriteLog(BusinessType.Dangerous.GetText(), SystemRight.Add.GetText(), "提交危险作业生成待办: " + model.Id); #endregion #region 消息 var waitSend = GetWaitSendMessageList(model.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; modelMsg.Title = CurrentUserName + "提报了危险作业单,待审核"; modelMsg.Content = CurrentUserName + "提报了危险作业单,待审核"; modelMsg.Type = 2; modelMsg.IsRead = false; modelMsg.BussinessId = model.Id; modelMsg.BussinesType = BusinessType.Dangerous.ToString(); modelMsg.ProjectId = model.ProjectId.Value; modelMsg.ProjectName = model.ProjectName; modelMsg = base.SetCurrentUser(modelMsg); modelMsg = base.SetCreateUser(modelMsg); DataOperateBusiness <Epm_Massage> .Get().Add(modelMsg); } #endregion #region 发送短信 //Dictionary<string, string> parameterSms = new Dictionary<string, string>(); //parameterSms.Add("UserName", CurrentUserName); //WriteSMS(project.ContactUserId.Value, project.CompanyId, MessageStep.WorkAdd, parameterSms); #endregion } } catch (Exception ex) { result.Data = -1; result.Flag = EResultFlag.Failure; result.Exception = new ExceptionEx(ex, "UpdateDangerousWork"); } return(result); }
public ActionResult Edit(Epm_DangerousWork model) { ResultView <int> view = new ResultView <int>(); //表单校验 if (!model.ProjectId.HasValue || model.ProjectId.Value == 0 || string.IsNullOrWhiteSpace(model.ProjectName)) { view.Flag = false; view.Message = "项目名称不能为空"; return(Json(view)); } //if (string.IsNullOrEmpty(model.TaskName)) //{ // view.Flag = false; // view.Message = "作业名称不能为空"; // return Json(view); //} if (!model.StartTime.HasValue || model.StartTime.Value == DateTime.MinValue) { view.Flag = false; view.Message = "开始时间不能为空"; return(Json(view)); } //if (!model.EndTime.HasValue || model.EndTime.Value == DateTime.MinValue) //{ // view.Flag = false; // view.Message = "结束时间不能为空"; // return Json(view); //} //if (model.StartTime.Value > model.EndTime.Value) //{ // view.Flag = false; // view.Message = "开始时间不能大于结束时间"; // return Json(view); //} //if (model.StartTime.Value > model.EndTime.Value) //{ // view.Flag = false; // view.Message = "开始时间不能大于结束时间"; // return Json(view); //} if (string.IsNullOrEmpty(model.TaskTypeNo) || string.IsNullOrEmpty(model.TaskTypeName)) { view.Flag = false; view.Message = "作业分类不能为空"; return(Json(view)); } if (string.IsNullOrEmpty(model.TaskContent)) { view.Flag = false; view.Message = "作业内容不能为空"; return(Json(view)); } //上传附件 string fileDataJsonFile = Request.Form["fileDataJsonFile"]; //获取上传文件json字符串 List <Base_Files> files = JsonConvert.DeserializeObject <List <Base_Files> >(fileDataJsonFile); //将文件信息json字符 Result <int> result = new Result <int>(); using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request))) { result = proxy.UpdateDangerousWork(model, files); } return(Json(result.ToResultView())); }
/// <summary> /// 根据projectId获取危险作业信息 /// </summary> /// <param name="projectId"></param> /// <returns></returns> public ActionResult GetWorkInfo(long projectId, string submitTime) { DateTime stime = Convert.ToDateTime(Convert.ToDateTime(submitTime).ToString("yyyy-MM-dd")); DateTime etime = Convert.ToDateTime(Convert.ToDateTime(submitTime).ToString("yyyy-MM-dd") + " 23:59:59"); #region 查询条件 在作业时间内 QueryCondition qc2 = new QueryCondition(); ConditionExpression ce2 = null; qc2.PageInfo.isAllowPage = false; qc2.SortList.Add(new SortExpression("CreateTime", eSortType.Desc)); if (projectId != 0) { ce2 = new ConditionExpression(); ce2.ExpName = "ProjectId"; ce2.ExpValue = projectId; ce2.ExpOperater = eConditionOperator.Equal; ce2.ExpLogical = eLogicalOperator.And; qc2.ConditionList.Add(ce2); } qc2.ConditionList.Add(new ConditionExpression() { ExpName = "StartTime", ExpValue = etime, ExpLogical = eLogicalOperator.And, ExpOperater = eConditionOperator.LessThanOrEqual }); qc2.ConditionList.Add(new ConditionExpression() { ExpName = "EndTime", ExpValue = stime, ExpLogical = eLogicalOperator.And, ExpOperater = eConditionOperator.GreaterThanOrEqual }); ConditionExpression ce3 = new ConditionExpression(); ce3.ExpLogical = eLogicalOperator.And; ce3.ConditionList.Add(new ConditionExpression() { ExpName = "State", ExpValue = (int)ApprovalState.WorkPartAppr, ExpOperater = eConditionOperator.Equal }); ce3.ConditionList.Add(new ConditionExpression() { ExpName = "State", ExpValue = (int)ApprovalState.ApprSuccess, ExpLogical = eLogicalOperator.Or, ExpOperater = eConditionOperator.Equal }); qc2.ConditionList.Add(ce3); #endregion #region 查询条件 等于提交时间 QueryCondition qc = new QueryCondition(); ConditionExpression ce = null; qc.PageInfo.isAllowPage = false; qc.SortList.Add(new SortExpression("CreateTime", eSortType.Desc)); if (projectId != 0) { ce = new ConditionExpression(); ce.ExpName = "ProjectId"; ce.ExpValue = projectId; ce.ExpOperater = eConditionOperator.Equal; ce.ExpLogical = eLogicalOperator.And; qc.ConditionList.Add(ce); } qc.ConditionList.Add(new ConditionExpression() { ExpName = "CreateTime", ExpValue = stime, ExpLogical = eLogicalOperator.And, ExpOperater = eConditionOperator.GreaterThanOrEqual }); qc.ConditionList.Add(new ConditionExpression() { ExpName = "CreateTime", ExpValue = etime, ExpLogical = eLogicalOperator.And, ExpOperater = eConditionOperator.LessThanOrEqual }); ConditionExpression ce4 = new ConditionExpression(); ce4.ExpLogical = eLogicalOperator.And; ce4.ConditionList.Add(new ConditionExpression() { ExpName = "State", ExpValue = (int)ApprovalState.WaitAppr, ExpOperater = eConditionOperator.Equal }); ce4.ConditionList.Add(new ConditionExpression() { ExpName = "State", ExpValue = (int)ApprovalState.ApprSuccess, ExpLogical = eLogicalOperator.Or, ExpOperater = eConditionOperator.Equal }); qc.ConditionList.Add(ce4); #endregion Epm_DangerousWork result = new Epm_DangerousWork(); using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request))) { QueryCondition qcWorkReal = new QueryCondition(); ConditionExpression ceqcWorkReal = null; qcWorkReal.PageInfo.isAllowPage = false; qcWorkReal.SortList.Add(new SortExpression("CreateTime", eSortType.Desc)); result = proxy.GetDangerousWorkList(qc).Data.FirstOrDefault(); if (result != null) { ceqcWorkReal = new ConditionExpression(); ceqcWorkReal.ExpName = "WorkId"; ceqcWorkReal.ExpValue = result.Id; ceqcWorkReal.ExpOperater = eConditionOperator.Equal; ceqcWorkReal.ExpLogical = eLogicalOperator.And; qcWorkReal.ConditionList.Add(ceqcWorkReal); var WorkRealSceneModel = proxy.GetWorkRealSceneList(qcWorkReal).Data.FirstOrDefault(); var data = (new { WorkId = result.Id.ToString(), TaskName = result.TaskName, WorkStartTime = result.StartTime, WorkEndTime = result.EndTime, WorkContent = result.TaskContent, //1:待审核 2:审核通过 3:作业待审核 Flag = (result.State == (int)ApprovalState.WaitAppr ? 1 : (result.State == (int)ApprovalState.ApprSuccess ? 2 : (result.State == (int)ApprovalState.WorkPartAppr ? 3 : 0))), Type = 1,//日志提报时间等于危险作业提交时间 WorkRealSceneState = WorkRealSceneModel != null ? WorkRealSceneModel.State : 0, WorkRealSceneID = WorkRealSceneModel != null ? WorkRealSceneModel.Id.ToString() : "0" }); return(Json(data)); } else { result = proxy.GetDangerousWorkList(qc2).Data.FirstOrDefault(); if (result != null) { ceqcWorkReal = new ConditionExpression(); ceqcWorkReal.ExpName = "WorkId"; ceqcWorkReal.ExpValue = result.Id; ceqcWorkReal.ExpOperater = eConditionOperator.Equal; ceqcWorkReal.ExpLogical = eLogicalOperator.And; qcWorkReal.ConditionList.Add(ceqcWorkReal); var WorkRealSceneModel = proxy.GetWorkRealSceneList(qcWorkReal).Data.FirstOrDefault(); var data = (new { WorkId = result.Id.ToString(), TaskName = result.TaskName, WorkStartTime = result.StartTime, WorkEndTime = result.EndTime, WorkContent = result.TaskContent, //1:待审核 2:审核通过 3:作业待审核 4:作业审核不通过 Flag = (result.State == (int)ApprovalState.WaitAppr ? 1 : (result.State == (int)ApprovalState.ApprSuccess ? 2 : (result.State == (int)ApprovalState.WorkPartAppr ? 3 : 0))), Type = 2, //日志提报时间再作业时间内容 WorkRealSceneState = WorkRealSceneModel != null ? WorkRealSceneModel.State : 0, WorkRealSceneID = WorkRealSceneModel != null ? WorkRealSceneModel.Id.ToString() : "0" }); return(Json(data)); } } return(Json(new { Flag = 0 })); } }