username@email.com
2021-12-31 6a4007b2dd8f98ac42136f6e93010097afdb5d12
会员退款申请
6个文件已修改
1个文件已添加
1203 ■■■■■ 已修改文件
zhengcaioa/IServices/IWfRunProcessService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/AskService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/WfRunProcessService.cs 504 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/admin/AdmAskController.cs 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/admin/CustomerWithdrawalController.cs 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/AdmAsk/CustomerRefund.cshtml 369 ●●●●● 补丁 | 查看 | 原始文档 | 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>&nbsp;&nbsp;<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>&nbsp;&nbsp;<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>