zhengcaioa/IServices/IWfRunProcessService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/Services/AskService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/Services/WfRunProcessService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Controllers/admin/CustomerWithdrawalController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/AdmAsk/CustomerRefund.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zhengcaioa/IServices/IWfRunProcessService.cs
@@ -48,5 +48,7 @@ ResultEntity WfAskCiZhi(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); ResultEntity WfAskJiaojie(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); ResultEntity WfCustomerRefund(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); } } zhengcaioa/Services/AskService.cs
@@ -477,7 +477,7 @@ entity.BankAcount = admAsk.BankAcount; entity.BankName = admAsk.BankName; entity.Username = admAsk.Username; entity.Remark = admAsk.Remark; entity.ShenpiStatus = admAsk.ShenpiStatus; entity.CreaterName = admAsk.CreaterName; zhengcaioa/Services/WfRunProcessService.cs
@@ -7350,5 +7350,509 @@ return result; } public ResultEntity WfCustomerRefund(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version) { ResultEntity result = new ResultEntity(); result.Result = true; WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "23").FirstOrDefault(); if (wfRunProcessDTO != null) { version = wfRunProcessDTO.Version; } if (version == "v1") { if (step == "提交") { //更新流程实例 // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "23").FirstOrDefault(); if (wfRunProcessDTO == null) { //插入流程实例 wfRunProcessDTO = new WfRunProcessDTO(); //wfRunProcessDTO.Applyno = wfRunProcessDTO.Applytime = DateTime.Now; wfRunProcessDTO.Applytiye = "23"; wfRunProcessDTO.DanjuId = DanjuId; wfRunProcessDTO.Content = title; wfRunProcessDTO.Step = "审批人1"; wfRunProcessDTO.ShenpiStatus = "D"; wfRunProcessDTO.Version = version; wfRunProcessDTO.RecStatus = "A"; wfRunProcessDTO.Creater = Userid; wfRunProcessDTO.Createtime = DateTime.Now; wfRunProcessDTO.Modifier = Userid; wfRunProcessDTO.Modifytime = DateTime.Now; wfRunProcessDTO.Deelurl = "/AdmAsk/CustomerRefund?id=" + DanjuId; result = this.save(wfRunProcessDTO); if (result.Result == false) { return result; } //查询处理人 var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "退款审批人").FirstOrDefault(); if (hrPositions == null) { result.Result = false; result.Message = "未找到职位"; return result; } var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A") join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId select a ).ToList(); if (pltUsers == null || pltUsers.Count == 0) { result.Result = false; result.Message = "未找到处理人"; return result; } foreach (var pltUser in pltUsers) { //插入待办 WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; wfNeeddeelDTO.SendUserId = Userid; wfNeeddeelDTO.DeelUserId = pltUser.Id; wfNeeddeelDTO.Sendtime = DateTime.Now; wfNeeddeelDTO.Resivetime = DateTime.Now; wfNeeddeelDTO.Step = "审批人1"; wfNeeddeelDTO.NeeddeelType = "1"; wfNeeddeelDTO.ChuliStatus = "0"; wfNeeddeelDTO.Deelurl = "/AdmAsk/CustomerRefund?id=" + DanjuId; wfNeeddeelDTO.Content = ""; wfNeeddeelDTO.Sort = 1; wfNeeddeelDTO.RecStatus = "A"; wfNeeddeelDTO.Creater = Userid; wfNeeddeelDTO.Createtime = DateTime.Now; wfNeeddeelDTO.Modifier = Userid; wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; result = _wfNeeddeelService.save(wfNeeddeelDTO); if (result.Result == false) { return result; } } //插入新的已办 WfHistory wfHistoryDTO1 = new WfHistory(); wfHistoryDTO1.Id = Guid.NewGuid().ToString(); wfHistoryDTO1.RunProcessId = wfRunProcessDTO.Id; wfHistoryDTO1.SendUserId = Userid; wfHistoryDTO1.DeelUserId = wfRunProcessDTO.Creater; wfHistoryDTO1.Sendtime = DateTime.Now; wfHistoryDTO1.Resivetime = DateTime.Now; wfHistoryDTO1.Step = "提交"; wfHistoryDTO1.NeeddeelType = "1"; wfHistoryDTO1.ChuliStatus = "2"; wfHistoryDTO1.Deelurl = "/AdmAsk/CustomerRefund?id=" + DanjuId; wfHistoryDTO1.Content = ""; wfHistoryDTO1.Sort = 1; wfHistoryDTO1.RecStatus = "A"; wfHistoryDTO1.Creater = Userid; wfHistoryDTO1.Createtime = DateTime.Now; wfHistoryDTO1.Modifier = Userid; wfHistoryDTO1.Modifytime = wfHistoryDTO1.Createtime; _context.WfHistories.Add(wfHistoryDTO1); _context.SaveChanges(); } else { wfRunProcessDTO.Step = "审批人1"; wfRunProcessDTO.Modifier = Userid; wfRunProcessDTO.Modifytime = DateTime.Now; result = this.save(wfRunProcessDTO); if (result.Result == false) { return result; } //更新待办 List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "提交"); var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); if (wfHistoryDTO == null) { result.Result = false; result.Message = "未找到代办"; return result; } wfHistoryDTO.Content = Content; wfHistoryDTO.ChuliStatus = "2"; wfHistoryDTO.Modifier = Userid; wfHistoryDTO.Modifytime = DateTime.Now; var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); foreach (var wfHistory in wfHistories) { _context.WfHistories.Add(wfHistory); } var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); foreach (var wfNeeddeel in wfNeeddeels) { //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); _context.WfNeeddeels.Remove(wfNeeddeel); } _context.SaveChanges(); //查询处理人 var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "退款审批人").FirstOrDefault(); if (hrPositions == null) { result.Result = false; result.Message = "未找到职位"; return result; } var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A") join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId select a ).ToList(); if (pltUsers == null || pltUsers.Count == 0) { result.Result = false; result.Message = "未找到处理人"; return result; } foreach (var pltUser in pltUsers) { //插入新的待办 WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; wfNeeddeelDTO.SendUserId = Userid; wfNeeddeelDTO.DeelUserId = pltUser.Id; wfNeeddeelDTO.Sendtime = DateTime.Now; wfNeeddeelDTO.Resivetime = DateTime.Now; wfNeeddeelDTO.Step = "审批人1"; wfNeeddeelDTO.NeeddeelType = "1"; wfNeeddeelDTO.ChuliStatus = "0"; wfNeeddeelDTO.Deelurl = "/AdmAsk/CustomerRefund?id=" + DanjuId; wfNeeddeelDTO.Content = ""; wfNeeddeelDTO.Sort = 2; wfNeeddeelDTO.RecStatus = "A"; wfNeeddeelDTO.Creater = Userid; wfNeeddeelDTO.Createtime = DateTime.Now; wfNeeddeelDTO.Modifier = Userid; wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; result = _wfNeeddeelService.save(wfNeeddeelDTO); if (result.Result == false) { return result; } } } } if (step == "审批人1") { //更新流程实例 //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "21").FirstOrDefault(); if (wfRunProcessDTO == null) { result.Result = false; result.Message = "未找到流程实例"; return result; } if (wfRunProcessDTO.Step != "审批人1") { result.Result = false; result.Message = "当前步骤已经处理"; return result; } if (tongguojujue == "A") { wfRunProcessDTO.Step = "审批人2"; wfRunProcessDTO.Modifier = Userid; wfRunProcessDTO.Modifytime = DateTime.Now; result = this.save(wfRunProcessDTO); if (result.Result == false) { return result; } //更新待办 List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "审批人1"); var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); if (wfHistoryDTO == null) { result.Result = false; result.Message = "未找到代办"; return result; } wfHistoryDTO.Content = Content; wfHistoryDTO.ChuliStatus = "2"; wfHistoryDTO.Modifier = Userid; wfHistoryDTO.Modifytime = DateTime.Now; var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); foreach (var wfHistory in wfHistories) { _context.WfHistories.Add(wfHistory); } var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); foreach (var wfNeeddeel in wfNeeddeels) { //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); _context.WfNeeddeels.Remove(wfNeeddeel); } _context.SaveChanges(); //查询处理人 var hrPositions = _context.PltRoles.Where(x => x.RecStatus == "A" && x.RoleName == "退款审批人").FirstOrDefault(); if (hrPositions == null) { result.Result = false; result.Message = "未找到职位"; return result; } var pltUsers = (from a in _context.PltUsers.Where(x => x.RecStatus == "A" && x.Zhiwustatus == "A") join b in _context.PltUserRoles.Where(x => x.RecStatus == "A" && x.RoleId == hrPositions.Id) on a.Id equals b.UserId where a.Id != Userid select a ).ToList(); if (pltUsers == null || pltUsers.Count == 0) { result.Result = false; result.Message = "未找到处理人"; return result; } foreach (var pltUser in pltUsers) { //插入新的待办 WfNeeddeelDTO wfNeeddeelDTO = new WfNeeddeelDTO(); wfNeeddeelDTO.RunProcessId = wfRunProcessDTO.Id; wfNeeddeelDTO.SendUserId = Userid; wfNeeddeelDTO.DeelUserId = pltUser.Id; wfNeeddeelDTO.Sendtime = DateTime.Now; wfNeeddeelDTO.Resivetime = DateTime.Now; wfNeeddeelDTO.Step = "审批人2"; wfNeeddeelDTO.NeeddeelType = "1"; wfNeeddeelDTO.ChuliStatus = "0"; wfNeeddeelDTO.Deelurl = "/AdmAsk/CustomerRefund?id=" + DanjuId; wfNeeddeelDTO.Content = ""; wfNeeddeelDTO.Sort = 3; wfNeeddeelDTO.RecStatus = "A"; wfNeeddeelDTO.Creater = Userid; wfNeeddeelDTO.Createtime = DateTime.Now; wfNeeddeelDTO.Modifier = Userid; wfNeeddeelDTO.Modifytime = wfNeeddeelDTO.Createtime; result = _wfNeeddeelService.save(wfNeeddeelDTO); if (result.Result == false) { return result; } } } else { wfRunProcessDTO.Step = "完结"; wfRunProcessDTO.ShenpiStatus = "R"; wfRunProcessDTO.Modifier = Userid; wfRunProcessDTO.Modifytime = DateTime.Now; result = this.save(wfRunProcessDTO); if (result.Result == false) { return result; } //更新单据 var admCustomerWithdrawal = _context.AdmCustomerWithdrawals.Find(DanjuId); if (wfRunProcessDTO == null) { result.Result = false; result.Message = "未找到单据"; return result; } admCustomerWithdrawal.ShenpiStatus = "R"; _context.SaveChanges(); //更新待办 List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "审批人1"); var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); if (wfHistoryDTO == null) { result.Result = false; result.Message = "未找到代办"; return result; } wfHistoryDTO.Content = Content; wfHistoryDTO.ChuliStatus = "1"; wfHistoryDTO.Modifier = Userid; wfHistoryDTO.Modifytime = DateTime.Now; var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); foreach (var wfHistory in wfHistories) { _context.WfHistories.Add(wfHistory); } var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); foreach (var wfNeeddeel in wfNeeddeels) { //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); _context.WfNeeddeels.Remove(wfNeeddeel); } _context.SaveChanges(); } } if (step == "审批人2") { //更新流程实例 //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "23").FirstOrDefault(); if (wfRunProcessDTO == null) { result.Result = false; result.Message = "未找到流程实例"; return result; } if (wfRunProcessDTO.Step != "审批人2") { result.Result = false; result.Message = "当前步骤已经处理"; return result; } if (tongguojujue == "A") { wfRunProcessDTO.Step = "完结"; wfRunProcessDTO.ShenpiStatus = "A"; wfRunProcessDTO.Modifier = Userid; wfRunProcessDTO.Modifytime = DateTime.Now; result = this.save(wfRunProcessDTO); if (result.Result == false) { return result; } //更新单据 var admCustomerWithdrawal = _context.AdmCustomerWithdrawals.Find(DanjuId); if (wfRunProcessDTO == null) { result.Result = false; result.Message = "未找到单据"; return result; } admCustomerWithdrawal.ShenpiStatus = "A"; _context.SaveChanges(); List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "审批人2"); var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); if (wfHistoryDTO == null) { result.Result = false; result.Message = "未找到代办"; return result; } wfHistoryDTO.Content = Content; wfHistoryDTO.ChuliStatus = "2"; wfHistoryDTO.Modifier = Userid; wfHistoryDTO.Modifytime = DateTime.Now; var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); foreach (var wfHistory in wfHistories) { _context.WfHistories.Add(wfHistory); } var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); foreach (var wfNeeddeel in wfNeeddeels) { // _wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); _context.WfNeeddeels.Remove(wfNeeddeel); } _context.SaveChanges(); } else { wfRunProcessDTO.Step = "完结"; wfRunProcessDTO.ShenpiStatus = "R"; wfRunProcessDTO.Modifier = Userid; wfRunProcessDTO.Modifytime = DateTime.Now; result = this.save(wfRunProcessDTO); if (result.Result == false) { return result; } //更新单据 var admCustomerWithdrawal = _context.AdmCustomerWithdrawals.Find(DanjuId); if (wfRunProcessDTO == null) { result.Result = false; result.Message = "未找到单据"; return result; } admCustomerWithdrawal.ShenpiStatus = "R"; _context.SaveChanges(); //更新待办 List<WfNeeddeelDTO> wfNeeddeelDTOs = _wfNeeddeelService.GetList(wfRunProcessDTO.Id, "审批人2"); var wfHistoryDTOs = _mapper.Map<List<WfHistoryDTO>>(wfNeeddeelDTOs); var wfHistoryDTO = wfHistoryDTOs.Where(x => x.DeelUserId == Userid).FirstOrDefault(); if (wfHistoryDTO == null) { result.Result = false; result.Message = "未找到代办"; return result; } wfHistoryDTO.Content = Content; wfHistoryDTO.ChuliStatus = "1"; wfHistoryDTO.Modifier = Userid; wfHistoryDTO.Modifytime = DateTime.Now; var wfHistories = _mapper.Map<List<WfHistory>>(wfHistoryDTOs); foreach (var wfHistory in wfHistories) { _context.WfHistories.Add(wfHistory); } var wfNeeddeels = _mapper.Map<List<WfNeeddeel>>(wfNeeddeelDTOs); foreach (var wfNeeddeel in wfNeeddeels) { //_wfNeeddeelService.ModifyStatus(wfNeeddeel.Id, Userid); _context.WfNeeddeels.Remove(wfNeeddeel); } _context.SaveChanges(); } } } return result; } } } zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs
@@ -34,7 +34,7 @@ { ViewBag.wfApplytypeDTOs = _wfApplytypeService.GetList().Where(x => x.Applyno != "03" && x.Applyno != "20" && x.Applyno != "22").ToList(); ViewBag.wfApplytypeDTOs = _wfApplytypeService.GetList().Where(x => x.Applyno != "03" && x.Applyno != "20" && x.Applyno != "22" /*&& x.Applyno != "23"*/).ToList(); return View(); } } zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs
@@ -1390,6 +1390,121 @@ return new JsonResult(resultEntity); } public IActionResult CustomerRefund(string id = "") { AdmCustomerWithdrawalDTO dto = new AdmCustomerWithdrawalDTO(); var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List<WfHistoryDTO>(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "会员退款申请(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetCustomerWithdrawal(id); dto.ShenqingtimeName = dto.Shenqingtime.ToString("yyyy-MM-dd"); dto.JineName = dto.Jine.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "23").FirstOrDefault(); if (wfRunProcessDTO == null) { shifoubiaoji = "D"; sifoudangqian = "D"; } else { dangqianbuzhou = wfRunProcessDTO.Step; //查询审批进度 lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id); if (wfRunProcessDTO.Step != "提交") { shifoubiaoji = "D"; } //查询待办 var chaxundaiban = _wfNeeddeelService.GetListTracking(wfRunProcessDTO.Id, wfRunProcessDTO.Step).Where(x => x.DeelUserId == curentuser.Id).ToList(); if (chaxundaiban != null && chaxundaiban.Count > 0) { sifoudangqian = "A"; } else { sifoudangqian = "D"; } } } ViewBag.shifoubiaoji = shifoubiaoji; ViewBag.sifoudangqian = sifoudangqian; ViewBag.lishiyijian = lishiyijian; ViewBag.dangqianbuzhou = dangqianbuzhou; ViewData.Model = dto; return View(); } /// <summary> /// 会员提现申请 /// </summary> /// <param name="data"></param> /// <returns></returns> [HttpPost] public IActionResult SaveCustomerRefund(AdmCustomerWithdrawalDTO data) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ResultEntity resultEntity = new ResultEntity(); using (TransactionScope scope = new TransactionScope()) { if (data.Step == "提交") { data.ShenpiStatus = "D"; data.RecStatus = "A"; data.Creater = curentuser.Id; data.Createtime = DateTime.Now; data.Modifier = data.Creater; data.Modifytime = data.Createtime; resultEntity = _askService.SaveCustomerWithdrawal(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfCustomerRefund(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1"); if (!resultEntity.Result) { return new JsonResult(resultEntity); } scope.Complete(); } return new JsonResult(resultEntity); } public IActionResult AskCiZhi(string id = "") { AdmAskCiZhiDTO dto = new AdmAskCiZhiDTO(); zhengcaioa/zhengcaioa/Controllers/admin/CustomerWithdrawalController.cs
@@ -284,5 +284,214 @@ } return new JsonResult(returnMsg); } /// <summary> /// 会员提现申请 /// </summary> /// <param name="data"></param> /// <returns></returns> [HttpPost] public IActionResult AskCustomerRefund([FromBody] AdmCustomerWithdrawalDTO data) { ReturnMsg<AdmCustomerWithdrawalDTO> returnMsg = new ReturnMsg<AdmCustomerWithdrawalDTO>(); returnMsg.code = 2; try { //验证数据完整性 if (string.IsNullOrWhiteSpace(data.OrderNo)) { returnMsg.code = 2; returnMsg.error = "没有订单号!"; returnMsg.count = 0; return new JsonResult(returnMsg); } if (string.IsNullOrWhiteSpace(data.HuiyuanId)) { returnMsg.code = 2; returnMsg.error = "没有会员id!"; returnMsg.count = 0; return new JsonResult(returnMsg); } if (string.IsNullOrWhiteSpace(data.HuiyuanName)) { returnMsg.code = 2; returnMsg.error = "没有会员名称!"; returnMsg.count = 0; return new JsonResult(returnMsg); } if (string.IsNullOrWhiteSpace(data.HuiyuanPhone)) { returnMsg.code = 2; returnMsg.error = "没有会员电话!"; returnMsg.count = 0; return new JsonResult(returnMsg); } if (data.Shenqingtime == DateTime.MinValue) { returnMsg.code = 2; returnMsg.error = "没有申请日期!"; returnMsg.count = 0; return new JsonResult(returnMsg); } if (!data.Jine.HasValue) { returnMsg.code = 2; returnMsg.error = "没有提现金额!"; returnMsg.count = 0; return new JsonResult(returnMsg); } ResultEntity resultEntity = new ResultEntity(); using (TransactionScope scope = new TransactionScope()) { //验证是否重复发起 if (_askService.GetCustomerWithdrawalList(data.OrderNo).Count > 0) { returnMsg.code = 2; returnMsg.error = "该订单已经发起流程!"; returnMsg.count = 0; return new JsonResult(returnMsg); } //流程步骤 data.Step = "提交"; data.Tongguojujue = ""; data.Content = ""; data.Tittle = "会员退款申请(" + data.HuiyuanName + ")"; data.CreaterName = data.HuiyuanName; data.ShenpiStatus = "D"; data.RecStatus = "A"; data.Creater = "e4c93811-b9b1-4998-89f5-c416ebab0c07"; data.Createtime = DateTime.Now; data.Modifier = data.Creater; data.Modifytime = data.Createtime; resultEntity = _askService.SaveCustomerWithdrawal(data); if (!resultEntity.Result) { returnMsg.code = 2; returnMsg.error = resultEntity.Message; returnMsg.count = 0; return new JsonResult(returnMsg); } //发起流程相关 resultEntity = _wfRunProcessService.WfCustomerRefund(data.Id, data.Step, data.Tongguojujue, "e4c93811-b9b1-4998-89f5-c416ebab0c07", data.Content, data.Tittle, "v1"); if (!resultEntity.Result) { returnMsg.code = 2; returnMsg.error = resultEntity.Message; returnMsg.count = 0; return new JsonResult(returnMsg); } scope.Complete(); returnMsg.code = 1; returnMsg.returnObj = null; returnMsg.count = 0; } } catch (Exception ex) { returnMsg.code = 2; returnMsg.error = "没有获取到token"; returnMsg.count = 0; } return new JsonResult(returnMsg); } /// <summary> /// 会员提现申请,审批结果 /// </summary> /// <param name="data"></param> /// <returns></returns> public IActionResult GetCustomerRefund(string OrderNo) { ReturnMsg<AdmCustomerWithdrawalDTO> returnMsg = new ReturnMsg<AdmCustomerWithdrawalDTO>(); returnMsg.code = 2; try { //验证数据完整性 if (string.IsNullOrWhiteSpace(OrderNo)) { returnMsg.code = 2; returnMsg.error = "没有订单号!"; returnMsg.count = 0; return new JsonResult(returnMsg); } ResultEntity resultEntity = new ResultEntity(); var customerWithdrawalDTO = _askService.GetCustomerWithdrawalList(OrderNo).FirstOrDefault(); //验证是否重复发起 if (customerWithdrawalDTO == null) { returnMsg.code = 2; returnMsg.error = "没有查找到审批流程!"; returnMsg.count = 0; return new JsonResult(returnMsg); } var sysCodeDtls = _liaotianService.GetSYScode("wf_run_process", "shenpi_status"); var sysCodeDtl = sysCodeDtls.Where(x => x.CodeSn == customerWithdrawalDTO.ShenpiStatus).FirstOrDefault(); if (sysCodeDtl != null) { customerWithdrawalDTO.ShenpiStatusName = sysCodeDtl.Comments; } var wfRunProcessDTO = _wfRunProcessService.GetList(customerWithdrawalDTO.Id, "23").FirstOrDefault(); if (wfRunProcessDTO == null) { returnMsg.code = 2; returnMsg.error = "没有查找到审批流程!"; returnMsg.count = 0; return new JsonResult(returnMsg); } var lishiyijian = _wfHistoryService.GetListshenpi(wfRunProcessDTO.Id).LastOrDefault(); if (lishiyijian == null) { returnMsg.code = 2; returnMsg.error = "没有查找到审批流程!"; returnMsg.count = 0; return new JsonResult(returnMsg); } customerWithdrawalDTO.Content = lishiyijian.Content; customerWithdrawalDTO.Step = wfRunProcessDTO.Step; returnMsg.code = 1; returnMsg.returnObj = customerWithdrawalDTO; returnMsg.count = 1; } catch (Exception ex) { returnMsg.code = 2; returnMsg.error = "没有获取到token"; returnMsg.count = 0; } return new JsonResult(returnMsg); } } } zhengcaioa/zhengcaioa/Views/AdmAsk/CustomerRefund.cshtml
New file @@ -0,0 +1,369 @@ @model AdmCustomerWithdrawalDTO; @using DTO; @using zhengcaioa.Models; @{ Layout = null; //流程相关 string shifoubiaoji = ViewBag.shifoubiaoji as string; string sifoudangqian = ViewBag.sifoudangqian as string; string dangqianbuzhou = ViewBag.dangqianbuzhou as string; List<WfHistoryDTO> lishiyijian = ViewData["lishiyijian"] as List<WfHistoryDTO>; //审批进度 List<FiSubjectDTO> FiSubject = ViewData["FiSubject"] as List<FiSubjectDTO>; //科目 } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <meta name="description" content=""> <meta name="author" content="ThemeBucket"> <link href="~/css/bootstrap.min.css" rel="stylesheet"> <link href="~/css/font-awesome.min.css" rel="stylesheet"> <link href="~/css/animate.min.css" rel="stylesheet"> <link href="~/css/style.min.css" rel="stylesheet"> <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet"> <link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet"> <link href="~/css/style.min.css" rel="stylesheet"> <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" /> <!-- jqgrid--> <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script> <script src="~/js/bootstrap.min.js"></script> <!--容器--> <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script> <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script> <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script> <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script> <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script> <script src="~/js/TUJS.js"></script> <style type="text/css"> div.clearfix > label { padding-top: 8px; } .col-md-1.control-label { padding-right: 0px; font-weight: 400; } </style> </head> <body class="gray-bg" style="overflow:auto"> <form id="fm" method="post"> <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> <div class="row"> <div class="col-sm-12"> <div class="ibox float-e-margins"> <div id="div_content" class="ibox-content" style="background-color:white;"> <div class="row"> <div class="clearfix layer-area" style="padding-bottom:15px;"> <label class="text-right col-sm-1 col-md-1 control-label">单据名称<i class="red">*</i></label> <div class="col-sm-2 col-md-2"> <input type="text" class="form-control" value="@Model.Tittle" name="tittle" id="tittle" validate="RequiredField" autocomplete="off" readonly="readonly"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <label class="text-right col-sm-1 col-md-1 control-label">申请人<i class="red">*</i></label> <div class="col-sm-2 col-md-2"> <input type="text" class="form-control" value="@Model.CreaterName" name="createrName" id="createrName" validate="RequiredField" autocomplete="off" readonly="readonly"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <label class="text-right col-sm-1 col-md-1 control-label">申请时间<i class="red">*</i></label> <div class="col-sm-2 col-md-2"> <input type="text" class="layui-input layer-date ldate form-control" value="@Model.ShenqingtimeName" name="Shenqingtime" id="Shenqingtime" readonly="readonly"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <label class="text-right col-sm-1 col-md-1 control-label">订单号<i class="red">*</i></label> <div class="col-sm-6 col-md-6"> <input type="text" class="form-control" value="@Model.OrderNo" name="OrderNo" id="OrderNo" maxlength="50"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <label class="text-right col-sm-1 col-md-1 control-label">会员名称<i class="red">*</i></label> <div class="col-sm-6 col-md-6"> <input type="text" class="form-control" value="@Model.HuiyuanName" name="HuiyuanName" id="HuiyuanName" maxlength="100"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <label class="text-right col-sm-1 col-md-1 control-label">会员电话</label> <div class="col-sm-2 col-md-2"> <input type="text" class="form-control" value="@Model.HuiyuanPhone" name="HuiyuanPhone" id="HuiyuanPhone" maxlength="50"> <input type="hidden" id="HuiyuanId" name="HuiyuanId" value="@Model.HuiyuanId" /> <input type="hidden" value="@Model.BankAcount" name="BankAcount" id="BankAcount" maxlength="50"> <input type="hidden" value="@Model.BankName" name="BankName" id="BankName" maxlength="50"> <input type="hidden" value="@Model.Username" name="Username" id="Username" maxlength="50"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <label class="text-right col-sm-1 col-md-1 control-label">退款金额(元)<i class="red">*</i></label> <div class="col-sm-2 col-md-2"> <input class="form-control" id="Jine" name="Jine" type="text" value="@Model.JineName" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;" > <label class="text-right col-sm-1 col-md-1 control-label">退款说明</label> <div class="col-sm-6 col-md-6"> <textarea class="form-control data" id="Remark" name="Remark" style="resize:none;overflow-y:hidden; height:80px;" maxlength="500">@Model.Remark</textarea> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;" id="shenpiyijian"> <label class="text-right col-sm-1 col-md-1 control-label">审批意见</label> <div class="col-sm-6 col-md-6"> <textarea class="form-control data" id="Content" name="Content" style="resize:none;overflow-y:hidden; height:80px;" maxlength="500"></textarea> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <label class="text-right col-sm-1 col-md-1 control-label">审批进度</label> <div class="col-sm-6 col-md-6"> <table> @if (lishiyijian.Count > 0) { <tr> <td style="border:1px solid #ccc;width:150px;">步骤 </td> <td style="border:1px solid #ccc;width:150px;"> 批复状态</td> <td style="border:1px solid #ccc;width:150px;">批复时间</td> <td style="border:1px solid #ccc;width:300px;"> 审批意见</td> <td style="border:1px solid #ccc;width:100px;"> 批复人</td> </tr> } @foreach (var wfHistory in lishiyijian) { <tr> <td style="border:1px solid #ccc;width:150px;">@wfHistory.Step</td> <td style="border:1px solid #ccc;width:150px;">@wfHistory.ChuliStatusName</td> <td style="border:1px solid #ccc;width:150px;">@wfHistory.ModifytimeName</td> <td style="border:1px solid #ccc;width:300px;">@wfHistory.Content</td> <td style="border:1px solid #ccc;width:100px;">@wfHistory.DeelUserIdName</td> </tr> } </table> </div> </div> <div class="clearfix layer-area" style="padding-bottom:60px;"> </div> </div> </div> </div> </div> </div> </div> <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px "> <div class="" style="float:right;" data-bootstro-width="500px"> <a class="btn btn-success" href="javascript:void(0)" onclick="_pageAutoClose();" style="margin-left:4px; border-radius:4px;"> <i class="glyphicon glyphicon-remove"></i> <span class="bold">取消</span> </a> <a class="btn btn-success" id="tijiao" href="javascript:void(0)" onclick="saveSimCost('');" style="margin-left:4px; border-radius:4px;"> <i class="glyphicon glyphicon-ok"></i> <span class="bold">提交</span> </a> <a class="btn btn-success" id="tongyi" href="javascript:void(0)" onclick="saveSimCost('A');" style="margin-left:4px; border-radius:4px;"> <span class="bold">同意</span> </a> <a class="btn btn-success" id="jujue" href="javascript:void(0)" onclick="saveSimCost('D');" style="margin-left:4px; border-radius:4px;"> <span class="bold">拒绝</span> </a> <input type="hidden" id="id" name="id" value="@Model.Id" /> <input type="hidden" id="Tongguojujue" name="Tongguojujue" value="" /> <input type="hidden" id="Step" name="Step" value="@dangqianbuzhou" /> </div> </div> </form> <script type="text/javascript"> var hh = document.body.clientHeight - $("#top").height() * 2 - 50; $("#div_content").height(hh); toastr.options = { "closeButton": true, "debug": false, "progressBar": true, "positionClass": "toast-bottom-right", "onclick": null, "showDuration": "300", "hideDuration": "600", "timeOut": "4500", "extendedTimeOut": "600", "showEasing": "swing", "hideEasing": "linear", "showMethod": "fadeIn", "hideMethod": "fadeOut" }; $(function () { if ("@shifoubiaoji" != "A") { $("input").attr('readonly', true); $("textarea").attr('readonly', true); $(':radio').attr('disabled', true); $(':checkbox').attr('disabled', true); $(':button').attr('disabled', true); //$('a').removeAttr('onclick'); $('select').attr('disabled', true); $("#fileUp").attr('disabled', true); $('.fujianshanchu').removeAttr('onclick'); if ("@sifoudangqian" == "A") { $("#Content").attr('readonly', false); $('#tijiao').hide(); } else { $('#tongyi').hide(); $('#jujue').hide(); $('#tijiao').hide(); $('#shenpiyijian').hide(); } } else { //审批相关 $('#shenpiyijian').hide(); if ("@sifoudangqian" == "A") { $('#tongyi').hide(); $('#jujue').hide(); $(".ldate").each(function (el) { laydate({ elem: "#" + $(this).attr('id'), //对应id format: 'YYYY-MM-DD', //日期格式 // 分隔符可以任意定义,该例子表示只显示年月 min: '2021-01-01', //设定最小日期为当前日期 max: '2099-06-16', //最大日期 type: 'datetime', festival: false, //显示节日 istime: true, //是否显示时分秒 istoday: true, //是否是今天 choose: function (datas) { //选择日期完毕的回调 // console.log("234234234234324"); // end.min = datas; //开始日选好后,重置结束日的最小日期 // end.start = datas //将结束日的初始值设定为开始日 //checktime(); } }); }); } else { $('#tongyi').hide(); $('#jujue').hide(); $('#tijiao').hide(); } } }) // 保存 function saveSimCost(tongyi) { if ($.trim($("#Shenqingtime").val()) == '') { toastr.warning("申请时间不能为空"); return; } if ($.trim($("#HuiyuanName").val()) == '') { toastr.warning("会员名称不能为空"); return; } if ($.trim($("#Jine").val()) == '') { toastr.warning("提现金额不能为空"); return; } $("#Tongguojujue").val(tongyi); $.ajax({ type: "POST", url: "/AdmAsk/SaveCustomerRefund", dataType: "json", global: false, data: $('#fm').serialize(), success: function (data) { if (data.Result) { parent.layer.msg('提交成功', { icon: 6 }); try { _pageAutoClose();//自动关闭页面方法 } catch (err) { var pathname = window.location.pathname; var search = window.location.search; parent._CloseTab1(pathname + search); } } else { parent.layer.msg(data.Message, { icon: 5 }); } }, error: function () { parent.layer.msg('失败', { icon: 5 }); } }); } function _pageAutoClose() { try { parent.window._reloadPageData(); var index = parent.layer.getFrameIndex(window.name); parent.layer.isRefresh = true; parent.layer.closeAll('loading'); parent.layer.close(index); return false; } catch (err) { var pathname = window.location.pathname; var search = window.location.search; parent._CloseTab1(pathname + search); } } </script> </body> </html>