zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs
@@ -249,6 +249,9 @@ CreateMap<AdmAskBaiFang, AdmAskBaiFangDTO>(); CreateMap<AdmAskBaiFangDTO, AdmAskBaiFang>(); CreateMap<AdmCustomerWithdrawal, AdmCustomerWithdrawalDTO>(); CreateMap<AdmCustomerWithdrawalDTO, AdmCustomerWithdrawal>(); } } } zhengcaioa/DTO/AdmCustomerWithdrawalDTO.cs
New file @@ -0,0 +1,31 @@ using System; using System.Collections.Generic; using System.Text; namespace DTO { public class AdmCustomerWithdrawalDTO { public string Id { get; set; } public string OrderNo { get; set; } public decimal? Jine { get; set; } public string JineName { get; set; } public string HuiyuanName { get; set; } public string HuiyuanId { get; set; } public string HuiyuanPhone { get; set; } public DateTime Shenqingtime { get; set; } public string ShenqingtimeName { get; set; } public string Remark { get; set; } public string ShenpiStatus { get; set; } public string RecStatus { get; set; } public string Creater { get; set; } public DateTime Createtime { get; set; } public string Modifier { get; set; } public DateTime Modifytime { get; set; } public string CreaterName { get; set; } public string Tittle { get; set; } public string Content { get; set; } public string Tongguojujue { get; set; } public string Step { get; set; } } } zhengcaioa/IServices/IAskService.cs
@@ -41,5 +41,11 @@ //访é®è¯·ç¤º ResultEntity SaveAskBaiFang(AdmAskBaiFangDTO admAsk); AdmAskBaiFangDTO GetAskBaiFang(string Id); //ä¼åæç°ç³è¯· ResultEntity SaveCustomerWithdrawal(AdmCustomerWithdrawalDTO admAsk); AdmCustomerWithdrawalDTO GetCustomerWithdrawal(string Id); List<AdmCustomerWithdrawalDTO> GetCustomerWithdrawalList(string OrderNo); } } zhengcaioa/IServices/IWfRunProcessService.cs
@@ -42,5 +42,7 @@ ResultEntity WfAskYouHui(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); ResultEntity WfAskBaiFang(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); ResultEntity WfCustomerWithdrawal(string DanjuId, string step, string tongguojujue, string Userid, string Content, string title, string version); } } zhengcaioa/Model/AdmCustomerWithdrawal.cs
New file @@ -0,0 +1,27 @@ using System; using System.Collections.Generic; #nullable disable namespace zhengcaioa.Models { public partial class AdmCustomerWithdrawal { public string Id { get; set; } public string OrderNo { get; set; } public decimal? Jine { get; set; } public string HuiyuanName { get; set; } public string HuiyuanId { get; set; } public string HuiyuanPhone { get; set; } public DateTime Shenqingtime { get; set; } public string Remark { get; set; } public string ShenpiStatus { get; set; } public string RecStatus { get; set; } public string Creater { get; set; } public DateTime Createtime { get; set; } public string Modifier { get; set; } public DateTime Modifytime { get; set; } public string CreaterName { get; set; } public string Tittle { get; set; } } } zhengcaioa/Model/zhengcaioaContext.cs
@@ -38,6 +38,7 @@ public virtual DbSet<AdmAttendanceRule> AdmAttendanceRules { get; set; } public virtual DbSet<AdmAttendanceRulesDtl> AdmAttendanceRulesDtls { get; set; } public virtual DbSet<AdmBreakPrecedent> AdmBreakPrecedents { get; set; } public virtual DbSet<AdmCustomerWithdrawal> AdmCustomerWithdrawals { get; set; } public virtual DbSet<AdmHoldPhone> AdmHoldPhones { get; set; } public virtual DbSet<AdmMemoBook> AdmMemoBooks { get; set; } public virtual DbSet<AdmSignIn> AdmSignIns { get; set; } @@ -1086,6 +1087,72 @@ .HasComment("åå·¥"); }); modelBuilder.Entity<AdmCustomerWithdrawal>(entity => { entity.ToTable("ADM_Customer_withdrawal"); entity.Property(e => e.Id).HasMaxLength(50); entity.Property(e => e.Creater) .IsRequired() .HasMaxLength(50) .HasColumnName("creater") .HasDefaultValueSql("('1')"); entity.Property(e => e.CreaterName) .HasMaxLength(50) .HasColumnName("createrName"); entity.Property(e => e.Createtime) .HasColumnType("datetime") .HasColumnName("createtime") .HasDefaultValueSql("(getdate())"); entity.Property(e => e.HuiyuanId).HasMaxLength(50); entity.Property(e => e.HuiyuanName).HasMaxLength(100); entity.Property(e => e.HuiyuanPhone).HasMaxLength(50); entity.Property(e => e.Jine) .HasColumnType("money") .HasDefaultValueSql("((0))"); entity.Property(e => e.Modifier) .IsRequired() .HasMaxLength(50) .HasColumnName("modifier") .HasDefaultValueSql("('1')"); entity.Property(e => e.Modifytime) .HasColumnType("datetime") .HasColumnName("modifytime") .HasDefaultValueSql("(getdate())"); entity.Property(e => e.OrderNo).HasMaxLength(50); entity.Property(e => e.RecStatus) .IsRequired() .HasMaxLength(1) .HasColumnName("rec_status") .HasDefaultValueSql("('A')"); entity.Property(e => e.Remark).HasMaxLength(500); entity.Property(e => e.ShenpiStatus) .HasMaxLength(1) .HasColumnName("shenpi_status") .HasDefaultValueSql("('D')"); entity.Property(e => e.Shenqingtime) .HasColumnType("datetime") .HasDefaultValueSql("(getdate())"); entity.Property(e => e.Tittle) .HasMaxLength(50) .HasColumnName("tittle"); }); modelBuilder.Entity<AdmHoldPhone>(entity => { entity.ToTable("ADM_HoldPhone"); zhengcaioa/Services/AskService.cs
@@ -450,5 +450,76 @@ #endregion #region ä¼åæç°ç³è¯· public ResultEntity SaveCustomerWithdrawal(AdmCustomerWithdrawalDTO admAsk) { ResultEntity resultEntity = new ResultEntity(); try { AdmCustomerWithdrawal ask = _mapper.Map<AdmCustomerWithdrawal>(admAsk); if (string.IsNullOrEmpty(admAsk.Id)) { ask.Id = Guid.NewGuid().ToString(); admAsk.Id = ask.Id; _context.AdmCustomerWithdrawals.Add(ask); } else { var entity = _context.AdmCustomerWithdrawals.Find(admAsk.Id); entity.OrderNo = admAsk.OrderNo; entity.Jine = admAsk.Jine; entity.HuiyuanName = admAsk.HuiyuanName; entity.HuiyuanId = admAsk.HuiyuanId; entity.HuiyuanPhone = admAsk.HuiyuanPhone; entity.Shenqingtime = admAsk.Shenqingtime; entity.ShenpiStatus = admAsk.ShenpiStatus; entity.CreaterName = admAsk.CreaterName; entity.Tittle = admAsk.Tittle; entity.Modifier = admAsk.Modifier; entity.Modifytime = DateTime.Now; } _context.SaveChanges(); resultEntity.ReturnID = ask.Id; resultEntity.Result = true; } catch (Exception ex) { resultEntity.Result = false; resultEntity.Message = "ä¿å失败ï¼è¯·è系管çå"; ex.Message.ToString(); } return resultEntity; } public AdmCustomerWithdrawalDTO GetCustomerWithdrawal(string Id) { var entity = _context.AdmCustomerWithdrawals.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault(); if (entity == null) { entity = new AdmCustomerWithdrawal(); } var leaveDTO = _mapper.Map<AdmCustomerWithdrawalDTO>(entity); return leaveDTO; } public List<AdmCustomerWithdrawalDTO> GetCustomerWithdrawalList(string OrderNo) { var entity = _context.AdmCustomerWithdrawals.Where(e => e.RecStatus == "A" && e.OrderNo == OrderNo).ToList(); var leaveDTO = _mapper.Map<List<AdmCustomerWithdrawalDTO>>(entity); return leaveDTO; } #endregion } } zhengcaioa/Services/WfRunProcessService.cs
@@ -6018,5 +6018,343 @@ return result; } public ResultEntity WfCustomerWithdrawal(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, "20").FirstOrDefault(); if (wfRunProcessDTO != null) { version = wfRunProcessDTO.Version; } if (version == "v1") { if (step == "æäº¤") { //æ´æ°æµç¨å®ä¾ // WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "20").FirstOrDefault(); if (wfRunProcessDTO == null) { //æå ¥æµç¨å®ä¾ wfRunProcessDTO = new WfRunProcessDTO(); //wfRunProcessDTO.Applyno = wfRunProcessDTO.Applytime = DateTime.Now; wfRunProcessDTO.Applytiye = "20"; wfRunProcessDTO.DanjuId = DanjuId; wfRunProcessDTO.Content = title; wfRunProcessDTO.Step = "è´¢å¡å®¡æ¹"; 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/CustomerWithdrawal?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 = "è´¢å¡å®¡æ¹"; wfNeeddeelDTO.NeeddeelType = "1"; wfNeeddeelDTO.ChuliStatus = "0"; wfNeeddeelDTO.Deelurl = "/AdmAsk/CustomerWithdrawal?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/CustomerWithdrawal?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 = "è´¢å¡å®¡æ¹"; 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 = "è´¢å¡å®¡æ¹"; wfNeeddeelDTO.NeeddeelType = "1"; wfNeeddeelDTO.ChuliStatus = "0"; wfNeeddeelDTO.Deelurl = "/AdmAsk/CustomerWithdrawal?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 == "è´¢å¡å®¡æ¹") { //æ´æ°æµç¨å®ä¾ //WfRunProcessDTO wfRunProcessDTO = this.GetList(DanjuId, "20").FirstOrDefault(); if (wfRunProcessDTO == null) { result.Result = false; result.Message = "æªæ¾å°æµç¨å®ä¾"; return result; } if (wfRunProcessDTO.Step != "è´¢å¡å®¡æ¹") { 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, "è´¢å¡å®¡æ¹"); 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, "è´¢å¡å®¡æ¹"); 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").ToList(); ViewBag.wfApplytypeDTOs = _wfApplytypeService.GetList().Where(x => x.Applyno != "03" && x.Applyno != "20").ToList(); return View(); } } zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs
@@ -1162,7 +1162,7 @@ /// <summary> /// ä¿åéå®è´¹ç¨ç³è¯· /// ä¿åæè®¿ç³è¯· /// </summary> /// <param name="data"></param> /// <returns></returns> @@ -1203,5 +1203,123 @@ } return new JsonResult(resultEntity); } public IActionResult CustomerWithdrawal(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, "20").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; //ViewBag.jtype = _liaotianService.GetSYScode("CooperVisit", "jtype"); //ViewBag.visType = _liaotianService.GetSYScode("CooperVisit", "visType"); //var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList(); //var intentionCustomerDTOs = _intentionCustomerService.GetList(); //ViewBag.CooperatecustomCustomerDTOs = ViewData.Model = dto; return View(); } /// <summary> /// ä¼åæç°ç³è¯· /// </summary> /// <param name="data"></param> /// <returns></returns> [HttpPost] public IActionResult SaveCustomerWithdrawal(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.WfCustomerWithdrawal(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); } } } zhengcaioa/zhengcaioa/Controllers/admin/CustomerWithdrawalController.cs
New file @@ -0,0 +1,184 @@ using DTO; using IServices; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Transactions; using zhengcaioa.IService; using zhengcaioa.Models; namespace zhengcaioa.Controllers.admin { public class CustomerWithdrawalController : Controller { private readonly IHrDeptService _hrDeptService; private readonly ILogger<CustomerWithdrawalController> _logger; private readonly IAskService _askService; private readonly IWfRunProcessService _wfRunProcessService; private readonly IWfHistoryService _wfHistoryService; private readonly IWfNeeddeelService _wfNeeddeelService; private readonly IAdmGoodsManageService _admGoodsManageService; private readonly ILiaotianService _liaotianService; private readonly IUserService _userService; private readonly IAdmBreakPrecedentService _aAdmBreakPrecedentService; private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService; private readonly IIntentionCustomerService _intentionCustomerService; public CustomerWithdrawalController(ILogger<CustomerWithdrawalController> logger, IAskService askService, IHrDeptService hrDeptService, IWfRunProcessService wfRunProcessService , IWfHistoryService wfHistoryService, IWfNeeddeelService wfNeeddeelService , IAdmGoodsManageService admGoodsManageService , ILiaotianService liaotianService , IUserService userService , IAdmBreakPrecedentService aAdmBreakPrecedentService , ICooperatecustomCustomerService cooperatecustomCustomerService , IIntentionCustomerService intentionCustomerService) { _logger = logger; _hrDeptService = hrDeptService; _askService = askService; _wfRunProcessService = wfRunProcessService; _wfHistoryService = wfHistoryService; _wfNeeddeelService = wfNeeddeelService; _admGoodsManageService = admGoodsManageService; _liaotianService = liaotianService; _userService = userService; _aAdmBreakPrecedentService = aAdmBreakPrecedentService; _cooperatecustomCustomerService = cooperatecustomCustomerService; _intentionCustomerService = intentionCustomerService; } /// <summary> /// ä¼åæç°ç³è¯· /// </summary> /// <param name="data"></param> /// <returns></returns> [HttpPost] public IActionResult AskCustomerWithdrawal([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.WfCustomerWithdrawal(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); } } } zhengcaioa/zhengcaioa/Views/AdmAsk/CustomerWithdrawal.cshtml
New file @@ -0,0 +1,344 @@ @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>; //审æ¹è¿åº¦ } <!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.HuiyuanName" name="HuiyuanName" id="HuiyuanName" maxlength="500"> </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="500"> <input type="hidden" id="HuiyuanId" name="HuiyuanId" value="@Model.HuiyuanId" /> <input type="hidden" id="OrderNo" name="OrderNo" value="@Model.OrderNo" /> </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;" 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/SaveCustomerWithdrawal", 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> ±íÐÞ¸Ä.sql
@@ -1,6 +1,167 @@ USE [zhengcaioa] GO /****** Object: Table [dbo].[ADM_Customer_withdrawal] Script Date: 2021/8/3 9:08:32 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[ADM_Customer_withdrawal]( [Id] [nvarchar](50) NOT NULL, [OrderNo] [nvarchar](50) NULL, [Jine] [money] NULL, [HuiyuanName] [nvarchar](100) NULL, [HuiyuanId] [nvarchar](50) NULL, [HuiyuanPhone] [nvarchar](50) NULL, [Shenqingtime] [datetime] NOT NULL, [Remark] [nvarchar](500) NULL, [shenpi_status] [nvarchar](1) NULL, [rec_status] [nvarchar](1) NOT NULL, [creater] [nvarchar](50) NOT NULL, [createtime] [datetime] NOT NULL, [modifier] [nvarchar](50) NOT NULL, [modifytime] [datetime] NOT NULL, [createrName] [nvarchar](50) NULL, [tittle] [nvarchar](50) NULL, CONSTRAINT [PK__Customer_withdrawal__3214EC077AC5FA48] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[ADM_Customer_withdrawal] ADD DEFAULT ((0)) FOR [Jine] GO ALTER TABLE [dbo].[ADM_Customer_withdrawal] ADD DEFAULT ('D') FOR [shenpi_status] GO ALTER TABLE [dbo].[ADM_Customer_withdrawal] ADD DEFAULT ('A') FOR [rec_status] GO ALTER TABLE [dbo].[ADM_Customer_withdrawal] ADD DEFAULT ('1') FOR [creater] GO ALTER TABLE [dbo].[ADM_Customer_withdrawal] ADD DEFAULT (getdate()) FOR [createtime] GO ALTER TABLE [dbo].[ADM_Customer_withdrawal] ADD DEFAULT ('1') FOR [modifier] GO ALTER TABLE [dbo].[ADM_Customer_withdrawal] ADD DEFAULT (getdate()) FOR [modifytime] GO ALTER TABLE [dbo].[ADM_Customer_withdrawal] ADD DEFAULT (getdate()) FOR [Shenqingtime] GO USE [zhengcaioa] GO /****** Object: Table [dbo].[ADM_AskBaiFang] Script Date: 2021/7/30 9:03:25 ******/ SET ANSI_NULLS ON GO