public JsonResult ApproveSelected(List <string> Ids) { bool hasOverDate = false; var channel = PreApprovalClientChannelFactory.GetChannel(); P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO; foreach (var item in Ids) { var preApproval = channel.LoadPreApprovalInfo(Guid.Parse(item)); if (preApproval.MeetingDate < DateTime.Now) { hasOverDate = true; continue; } var res = channel.BUHeadApprove(Guid.Parse(item), 3, ""); if (res == 1) { P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = Guid.Parse(item), UserName = userInfo.Name, UserId = userInfo.UserId, ActionType = 3, ApproveDate = DateTime.Now, Comments = "", type = 2 }; //添加审批记录 var historyRes = channel.AddPreApprovalApproveHistory(preApprovalHistory); if (historyRes == 0) { LogHelper.Info($"审批通过,添加审批记录失败 - [{ item}]"); } // 发用户消息 //var preApproval = channel.LoadPreApprovalInfo(Guid.Parse(item)); WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval); } else { LogHelper.Info($"(审批通过)预申请状态修改失败 - [{ item}]"); } } return(Json(new { state = 1, txt = hasOverDate == true ? "预申请已批量审批通过,会议日期失效部分系统已忽略。" : "预申请已批量审批通过。" })); }
public int AddPreApprovalApproveHistory(P_PreApprovalApproveHistory PreApprovalHistory) { return(preApprovalService.AddPreApprovalApproveHistory(PreApprovalHistory)); }
public JsonResult ApproveAll(string end, string state, string applicant, int year, int month) { bool hasOverDate = false; var beginTime = ""; var endTime = ""; if (month == 0) { beginTime = year + "-01-01"; year = year + 1; endTime = year + "-01-01"; } else { beginTime = year + "-" + month + "-01"; if (month == 12) { year = year + 1; month = 1; } else { month = month + 1; } endTime = year + "-" + month + "-01"; } var channel = PreApprovalClientChannelFactory.GetChannel(); P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO; DateTime _begin = Convert.ToDateTime(beginTime); DateTime _end = Convert.ToDateTime(endTime); DateTime __end = Convert.ToDateTime(end); if (__end >= _begin && __end <= _end) { _end = __end; } var list = channel.LoadMyApproveAll(CurrentWxUser.UserId, applicant); if (list.Count > 0) { foreach (var item in list) { if (item.MeetingDate < DateTime.Now) { hasOverDate = true; continue; } var res = channel.BUHeadApprove(item.ID, 3, ""); item.State = "5"; if (res == 1) { P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = item.ID, UserName = userInfo.Name, UserId = userInfo.UserId, ActionType = 3, ApproveDate = DateTime.Now, Comments = "", type = 2 }; //添加审批记录 var historyRes = channel.AddPreApprovalApproveHistory(preApprovalHistory); if (historyRes == 0) { LogHelper.Info($"审批通过,添加审批记录失败 - [{ item.ID}]"); } // 发用户消息 WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(item); } else { LogHelper.Info($"(审批通过)预申请状态修改失败 - [{ item.ID}]"); } } return(Json(new { state = 1, txt = hasOverDate == true ? "预申请已全部审批通过,会议日期失效部分系统已忽略。" : "预申请已全部审批通过。" })); } else { return(Json(new { state = 1, txt = "当前没有待审批预申请数据。" })); } }
/// <summary> /// 预申请审批 /// </summary> /// <param name="id"></param> /// <param name="state"></param> /// <param name="reason"></param> /// <returns></returns> public JsonResult PreApprovalApprove(Guid id, int state, string reason) { var preApprovalChannel = PreApprovalClientChannelFactory.GetChannel(); P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO; var preApproval = preApprovalChannel.LoadPreApprovalInfo(id); // var userInfoChannel = UserInfoClientChannelFactory.GetChannel(); bool flag = preApprovalChannel.HasApproveByTA(preApproval.CurrentApproverMUDID, preApproval.TA); bool second = false; //审批通过 if (state == 3) { if (preApproval.BudgetTotal >= 1200 && preApproval.BudgetTotal < 1500) { state = 7; second = true; } else if (preApproval.BudgetTotal >= 1500) { state = 3; } //预申请buhead审批通过 if ((preApproval.BUHeadMUDID.ToUpper() == userInfo.UserId.ToUpper() || flag == true) && second == false) { var res = preApprovalChannel.BUHeadApprove(id, 5, reason); if (res == 1) { P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = id, UserName = userInfo.Name, UserId = userInfo.UserId, ActionType = 3, ApproveDate = DateTime.Now, Comments = reason, type = 2 }; //添加审批记录 var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory); if (historyRes == 0) { LogHelper.Info($"审批通过,添加审批记录失败 - [{ id},{userInfo.UserId}]"); } // 发用户消息 var preApproval1 = preApprovalChannel.LoadPreApprovalInfo(id); WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval1); LogHelper.Info($"BuHead审批通过 - [{ id},{userInfo.UserId}]"); return(Json(new { state = 1, txt = "预申请已审批通过。" })); } else { LogHelper.Info($"(审批通过)预申请状态修改失败 - [{id}]"); } } else if (state == 3) { if (!CheckApproveStep(userInfo.UserId, preApproval.TA)) { return(Json(new { state = 0, txt = "当前预申请审批流程有误,请联系:技术支持热线: 0411-84898998或PMO邮箱[email protected]。" })); } var baseDataChannel = BaseDataClientChannelFactory.GetChannel(); var pre = baseDataChannel.GetNameUserId(preApproval.CurrentApproverMUDID); //var delegateMUDID = userInfoChannel.isAgent(preApproval.CurrentApproverMUDID); //preApproval.CurrentApproverMUDID = delegateMUDID == null ? preApproval.CurrentApproverMUDID : delegateMUDID.DelegateUserMUDID; //preApproval.CurrentApproverName = delegateMUDID == null ? preApproval.CurrentApproverName : delegateMUDID.DelegateUserName; preApproval.CurrentApproverMUDID = preApproval.CurrentApproverMUDID; preApproval.CurrentApproverName = preApproval.CurrentApproverName; P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = id, UserName = preApproval.CurrentApproverName, UserId = preApproval.CurrentApproverMUDID, ActionType = 3, ApproveDate = DateTime.Now, Comments = reason, type = 2 }; //添加审批记录 var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory); if (historyRes == 0) { LogHelper.Info($"审批通过,添加审批记录失败 - [{ id}]"); } else { preApproval.CurrentApproverMUDID = pre.CurrentApproverMUDID; preApproval.CurrentApproverName = pre.CurrentApproverName; var num = baseDataChannel.UpdateCurrentPreApprova(preApproval); if (num == 0) { LogHelper.Info($"审批通过,跟新审批人失败 - [{ id}]"); } } // 发用户消息 //bool flag1 = preApprovalChannel.HasApprove(preApproval.CurrentApproverMUDID); //if (flag1 == true) //{ var preApproval3 = preApprovalChannel.LoadPreApprovalInfo(id); preApproval3.IsOnc = 2; WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval3); LogHelper.Info($"审批通过 - [{ id},{pre.CurrentApproverMUDID}]"); //} return(Json(new { state = 1, txt = "预申请已审批通过。" })); } else if (state == 7) { var res = preApprovalChannel.BUHeadApprove(id, 9, reason); if (res == 1) { P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = id, UserName = userInfo.Name, UserId = userInfo.UserId, ActionType = 3, ApproveDate = DateTime.Now, Comments = reason, type = 2 }; //添加审批记录 var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory); if (historyRes == 0) { LogHelper.Info($"审批通过,添加审批记录失败 - [{ id}]"); } // 发用户消息 var preApproval1 = preApprovalChannel.LoadPreApprovalInfo(id); WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval1); LogHelper.Info($"二线审批通过 - [{ id},{preApproval.CurrentApproverMUDID}]"); return(Json(new { state = 1, txt = "预申请已审批通过。" })); } else { LogHelper.Info($"(审批通过)预申请状态修改失败 - [{ id}]"); } } } else { if (preApproval.BudgetTotal >= 1200 && preApproval.BudgetTotal < 1500) { state = 8; preApproval.State = "8"; } else if (preApproval.BudgetTotal >= 1500) { if (!CheckApproveStep(userInfo.UserId, preApproval.TA)) { return(Json(new { state = 0, txt = "当前预申请审批流程有误,请联系:技术支持热线: 0411-84898998或PMO邮箱[email protected]。" })); } state = 4; preApproval.State = "4"; LogHelper.Info($"审批驳回 - [{ id},{preApproval.CurrentApproverMUDID}]"); } var res = preApprovalChannel.BUHeadReject(id, state, reason); //var preApproval = preApprovalChannel.LoadPreApprovalInfo(id); if (res == 1) { P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = id, UserName = userInfo.Name, UserId = userInfo.UserId, ActionType = 2, ApproveDate = DateTime.Now, Comments = reason, type = 2 }; //添加审批记录 var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory); if (historyRes == 0) { LogHelper.Info($"审批驳回,添加审批记录失败 - [{ id}]"); } // 发用户消息 if (state == 8 || flag == true) { var preApproval4 = preApprovalChannel.LoadPreApprovalInfo(id); WxMessageHandler.GetInstance().SendPreApprovalRejectMessageToUser(reason, preApproval4); LogHelper.Info($"审批拒绝 - [{ id},{preApproval.CurrentApproverMUDID}]"); } return(Json(new { state = 1, txt = "预申请已审批驳回。" })); } else { LogHelper.Info($"(审批驳回)预申请状态修改失败 - [{ id}]"); } } return(Json(new { state = 0, txt = "预申请审批失败,请刷新页面后重试。", errCode = 9007 })); }
/// <summary> /// 预申请审批 /// </summary> /// <param name="id"></param> /// <param name="state"></param> /// <param name="reason"></param> /// <returns></returns> public JsonResult SaveMMCoEResult(Guid id, int state, string reason) { var preApprovalChannel = PreApprovalClientChannelFactory.GetChannel(); P_USERINFO userInfo = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO; var preApproval = preApprovalChannel.LoadPreApprovalInfo(id); var hisList = preApprovalChannel.FindPreApprovalApproveHistory(id); P_PreApprovalApproveHistory lastBUHeadApprove = null; if (hisList.Count > 0) { lastBUHeadApprove = hisList.Where(p => p.PID == id && p.type == 2 && (p.ActionType == 2 || p.ActionType == 3)).OrderByDescending(p => p.ApproveDate).FirstOrDefault(); } var isReject = true; if (lastBUHeadApprove != null) { if (lastBUHeadApprove.ActionType == 3) { isReject = false; } } //审批通过 if (state == 3) { //预算超02000并且(金额产生变化或上一次是审批拒绝) if (preApproval.BudgetTotal > 2000 && (preApproval.IsBudgetChange || (lastBUHeadApprove == null || isReject == true) || preApproval.ModifyDate == null)) { preApproval.State = "3"; } else { preApproval.State = "6"; } var res = preApprovalChannel.MMCoEApprove(id, int.Parse(preApproval.State), reason); if (res == 1) { P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = id, UserName = userInfo.Name, UserId = userInfo.UserId, ActionType = state, ApproveDate = DateTime.Now, Comments = reason, type = 1 }; // 发用户消息 WxMessageHandler.GetInstance().SendPreApprovalStateChangeMessageToUser(preApproval); //添加审批记录 var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory); if (preApproval.State == "6") { P_PreApprovalApproveHistory autoHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = id, UserName = "******", UserId = "系统自动审批", ActionType = 3, ApproveDate = DateTime.Now, type = 1 }; preApprovalChannel.AddPreApprovalApproveHistory(autoHistory); } if (historyRes == 0) { LogHelper.Info($"审批通过,添加审批记录失败 - [{ id}]"); } return(Json(new { state = 1, txt = "预申请已审批通过。" })); } else { LogHelper.Info($"(审批通过)预申请状态修改失败 - [{ id}]"); } } else { var res = preApprovalChannel.MMCoEReject(id, state, reason); preApproval.State = "2"; if (res == 1) { P_PreApprovalApproveHistory preApprovalHistory = new P_PreApprovalApproveHistory() { ID = Guid.NewGuid(), PID = id, UserName = userInfo.Name, UserId = userInfo.UserId, ActionType = state, ApproveDate = DateTime.Now, Comments = reason, type = 1 }; // 发用户消息 WxMessageHandler.GetInstance().SendPreApprovalRejectMessageToUser(reason, preApproval); //添加审批记录 var historyRes = preApprovalChannel.AddPreApprovalApproveHistory(preApprovalHistory); if (historyRes == 0) { LogHelper.Info($"审批驳回,添加审批记录失败 - [{ id}]"); } return(Json(new { state = 1, txt = "预申请已审批驳回。" })); } else { LogHelper.Info($"(审批驳回)预申请状态修改失败 - [{ id}]"); } } return(Json(new { state = 0, txt = "预申请审批失败,请刷新页面后重试。", errCode = 9007 })); }
public int AddPreApprovalApproveHistory(P_PreApprovalApproveHistory PreApprovalHistory) { return(PreApprovalDao.AddPreApprovalApproveHistory(PreApprovalHistory)); }