using DTO; using IServices; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; using System.Transactions; using zhengcaioa.IService; using zhengcaioa.Models; namespace zhengcaioa.Controllers.admin { [CheckLogin] public class AdmAskController : Controller { private readonly IHrDeptService _hrDeptService; private readonly ILogger _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; private readonly IHrPositionService _hrPositionService; private readonly IAdmGoodsRecordService _admGoodsRecordService; private readonly IFiSubjectService _ifiSubjectService; private readonly IFiAccountService _fiAccountService; private readonly IFiAccountRecordService _iFiAccountRecordService; private readonly IConfiguration _configuration; public AdmAskController(ILogger logger, IAskService askService, IHrDeptService hrDeptService, IWfRunProcessService wfRunProcessService , IWfHistoryService wfHistoryService, IWfNeeddeelService wfNeeddeelService , IAdmGoodsManageService admGoodsManageService , ILiaotianService liaotianService , IUserService userService , IAdmBreakPrecedentService aAdmBreakPrecedentService , ICooperatecustomCustomerService cooperatecustomCustomerService , IIntentionCustomerService intentionCustomerService , IHrPositionService hrPositionService , IAdmGoodsRecordService admGoodsRecordService , IFiSubjectService ifiSubjectService , IFiAccountService fiAccountService , IFiAccountRecordService iFiAccountRecordService , IConfiguration configuration ) { _logger = logger; _hrDeptService = hrDeptService; _askService = askService; _wfRunProcessService = wfRunProcessService; _wfHistoryService = wfHistoryService; _wfNeeddeelService = wfNeeddeelService; _admGoodsManageService = admGoodsManageService; _liaotianService = liaotianService; _userService = userService; _aAdmBreakPrecedentService = aAdmBreakPrecedentService; _cooperatecustomCustomerService = cooperatecustomCustomerService; _intentionCustomerService = intentionCustomerService; _hrPositionService = hrPositionService; _admGoodsRecordService = admGoodsRecordService; _ifiSubjectService = ifiSubjectService; _fiAccountService = fiAccountService; _iFiAccountRecordService = iFiAccountRecordService; _configuration = configuration; } public IActionResult Askcost(string id = "") { AdmAskcostDTO dto = new AdmAskcostDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "费用申请(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskcost(id); dto.CostName = dto.Cost.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "04").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(); } /// /// 保存费用申请 /// /// /// [HttpPost] public IActionResult SaveAskcost(AdmAskcostDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskcost(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskcost(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 AskGood(string id = "") { AdmAskGoodDTO dto = new AdmAskGoodDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "物品申领(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskGood(id); dto.ShuliangName = dto.Shuliang.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "05").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.Goods = _admGoodsManageService.GetList().Where(x=>x.GoodsStatus == "A").ToList(); ViewData.Model = dto; return View(); } /// /// 保存物品申领 /// /// /// [HttpPost] public IActionResult SaveAskGood(AdmAskGoodDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskGood(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } else if (data.Step == "行政审批" && data.Tongguojujue == "A") { //判断物品数量书否够,够就削减物品数量 var admAskGoodDTO = _askService.GetAskGood(data.Id); var admGoodsManageDTO = _admGoodsManageService.Get(admAskGoodDTO.GoodsId); if(admGoodsManageDTO.GoodsLeft.HasValue && admGoodsManageDTO.GoodsLeft.Value>= admAskGoodDTO.Shuliang.Value) { admGoodsManageDTO.GoodsLeft = admGoodsManageDTO.GoodsLeft.Value - admAskGoodDTO.Shuliang.Value; _admGoodsManageService.save(admGoodsManageDTO); } else { resultEntity.Result = false; resultEntity.Message = "物品剩余数量不足"; return new JsonResult(resultEntity); } AdmGoodsRecordDTO dto = new AdmGoodsRecordDTO(); dto.GoodsId = admGoodsManageDTO.Id; dto.GoodsNum = admAskGoodDTO.Shuliang.Value; dto.GoodsLeft = admGoodsManageDTO.GoodsLeft; dto.RecordTypeId = "02"; dto.RecStatus = "A"; dto.Creater = curentuser.Id; dto.Createtime = DateTime.Now; dto.Modifier = curentuser.Id; dto.Modifytime = DateTime.Now; dto.OperationalMatters = admAskGoodDTO.Tittle; resultEntity = _admGoodsRecordService.save(dto); } //发起流程相关 resultEntity = _wfRunProcessService.WfAskGood(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 Askovertime(string id = "") { AdmAskovertimeDTO dto = new AdmAskovertimeDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "加班申请(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskovertime(id); dto.OvertimeName = dto.Overtime.Value.ToString("0.##"); dto.JiabantimeName = dto.Jiabantime.Value.ToString("yyyy-MM-dd"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "10").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(); } /// /// 保存费用申请 /// /// /// [HttpPost] public IActionResult Askovertime(AdmAskovertimeDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskovertime(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskovertime(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 AskCar(string id = "") { AdmAskCarDTO dto = new AdmAskCarDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "用车申请(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskCar(id); dto.FeiyongName = dto.Feiyong.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "06").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.CarLaiyuan = _liaotianService.GetSYScode("ADM_AskCar", "CarLaiyuan"); ; ViewData.Model = dto; return View(); } /// /// 保存用车申请 /// /// /// [HttpPost] public IActionResult SaveAskCar(AdmAskCarDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskCar(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskCar(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 AskMarketingCost(string id = "") { AdmAskMarketingCostDTO dto = new AdmAskMarketingCostDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "销售费用申请(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskMarketingCost(id); dto.FeiyongName = dto.Feiyong.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "07").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(); } /// /// 保存销售费用申请 /// /// /// [HttpPost] public IActionResult SaveAskMarketingCost(AdmAskMarketingCostDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskMarketingCost(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskMarketingCost(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 AskSuggestion(string id = "") { AdmAskMarketingCostDTO dto = new AdmAskMarketingCostDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "工作建议(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskMarketingCost(id); //dto.FeiyongName = dto.Feiyong.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "08").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; if (string.IsNullOrEmpty(id)) { ViewBag.Users = _userService.GetList().Where(x => x.Id != curentuser.Id).ToList(); } else { ViewBag.Users = _userService.GetList(); } ViewData.Model = dto; return View(); } /// /// 保存工作建议 /// /// /// [HttpPost] public IActionResult SaveAskSuggestion(AdmAskMarketingCostDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskMarketingCost(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskSuggestion(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 AskOther(string id = "") { AdmAskMarketingCostDTO dto = new AdmAskMarketingCostDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "其他请示申请(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskMarketingCost(id); dto.FeiyongName = dto.Feiyong.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "11").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(); } /// /// 保存其他请示 /// /// /// [HttpPost] public IActionResult SaveOther(AdmAskMarketingCostDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskMarketingCost(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskMarketingCost(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 AskPunishAppeal(string id = "") { AdmAskMarketingCostDTO dto = new AdmAskMarketingCostDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "处罚申诉(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskMarketingCost(id); //dto.FeiyongName = dto.Feiyong.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "09").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; if (string.IsNullOrEmpty(id)) { ViewBag.AdmBreakPrecedentDTOs = _aAdmBreakPrecedentService.GetList(curentuser.Id, DateTime.Now.Date.AddMonths(-2), DateTime.Now.Date.AddDays(1)).ToList(); } else { ViewBag.AdmBreakPrecedentDTOs = _aAdmBreakPrecedentService.GetList(dto.Creater, DateTime.Now.Date.AddMonths(-2), DateTime.Now.Date.AddDays(1)).ToList(); } ViewData.Model = dto; return View(); } /// /// 保存处罚申诉 /// /// /// [HttpPost] public IActionResult SaveAskPunishAppeal(AdmAskMarketingCostDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskMarketingCost(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskPunishAppeal(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 AskYouHui(string id = "") { AdmAskYouHuiDTO dto = new AdmAskYouHuiDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "优惠申请(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskYouHui(id); dto.YouHuiName = dto.YouHui.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "12").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.standard = _liaotianService.GetSYScode("fi_piecerate", "standard"); ViewBag.CooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList(); ViewData.Model = dto; return View(); } /// /// 保存销售费用申请 /// /// /// [HttpPost] public IActionResult SaveYouHui(AdmAskYouHuiDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskYouHui(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskYouHui(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 AskBaiFang(string id = "") { AdmAskBaiFangDTO dto = new AdmAskBaiFangDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "访问请示(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskBaiFang(id); dto.BaiFangtimeName = dto.BaiFangtime.Value.ToString("yyyy-MM-dd"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "13").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(); } /// /// 保存拜访申请 /// /// /// [HttpPost] public IActionResult SaveBaiFang(AdmAskBaiFangDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskBaiFang(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskBaiFang(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 CustomerWithdrawal(string id = "") { AdmCustomerWithdrawalDTO dto = new AdmCustomerWithdrawalDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); 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 = if (dangqianbuzhou == "财务审批") { ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype"); ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "02").ToList(); } ViewData.Model = dto; return View(); } /// /// 会员提现申请 /// /// /// [HttpPost] public IActionResult SaveCustomerWithdrawal(AdmCustomerWithdrawalDTO data) { var curentuser = JsonConvert.DeserializeObject(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); } } if(data.Step == "财务审批" && data.Tongguojujue == "A") { WfRunProcessDTO wfRunProcessDTO = _wfRunProcessService.GetList(data.Id, "20").FirstOrDefault(); FiAccountRecordDTO datafi = new FiAccountRecordDTO(); datafi.Creater = curentuser.Id; datafi.Createtime = DateTime.Now; datafi.Modifier = curentuser.Id; datafi.Modifytime = DateTime.Now; datafi.AccountId = data.AccountId; datafi.Accounttype = data.Accounttype; datafi.SubjectId = data.SubjectId; datafi.Money = data.Jine; if(wfRunProcessDTO!=null) datafi.OperationalMatters = data.Tittle + wfRunProcessDTO.Applyno; datafi.PaymentUnit = data.Username; FiAccountDTO firmAccount = _fiAccountService.Get(data.AccountId); datafi.RecordTypeId = "2";//支出 //data.Department = ""; //resultEntity = _iFiAccountRecordService.save(data); firmAccount.AllExpenses = (firmAccount.AllExpenses ?? 0) + datafi.Money; firmAccount.Balance = (firmAccount.Balance ?? 0) - datafi.Money; datafi.AccountMoney = firmAccount.Balance; resultEntity = _iFiAccountRecordService.save(datafi); resultEntity = _fiAccountService.save(firmAccount); } //发起流程相关 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); } public IActionResult CustomerRefund(string id = "") { AdmCustomerWithdrawalDTO dto = new AdmCustomerWithdrawalDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); 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(); } /// /// 会员提现申请 /// /// /// [HttpPost] public IActionResult SaveCustomerRefund(AdmCustomerWithdrawalDTO data) { var curentuser = JsonConvert.DeserializeObject(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(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "辞职申请(" + curentuser.UserName + ")"; dto.RuzhitimeName = curentuser.Indate.HasValue? curentuser.Indate.Value.ToString("yyyy-MM-dd"):""; dto.CreatetimeName = DateTime.Now.ToString("yyyy-MM-dd"); var deptDTO = _hrDeptService.Get(curentuser.DeptId); if (deptDTO != null) { dto.DeptName = deptDTO.DeptName; } var positionDTO = _hrPositionService.Get(curentuser.HrPosition); if (positionDTO != null) { dto.PostName = positionDTO.PostName; } } else if (dto != null) { dto = _askService.GetAskCiZhi(id); dto.OuttimeName = dto.Outtime.HasValue ? dto.Outtime.Value.ToString("yyyy-MM-dd"):""; //dto.JineName = dto.Jine.Value.ToString("F2"); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "21").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; var userDTOs = _userService.GetList(); ViewData["UserIds"] = userDTOs; string[] Userids = null; if (!string.IsNullOrEmpty(dto.JiaojieUser) ) { Userids = dto.JiaojieUser.Split(','); ; } else { Userids = new string[0]; } ViewBag.Userid = Userids; var userDTOsList = userDTOs.Where(x => Userids.Contains(x.Id)).ToList(); if(userDTOsList!=null && userDTOsList.Count > 0) { dto.JiaojieUserName = ""; foreach (var userDTO in userDTOsList) { dto.JiaojieUserName += userDTO.UserName + ","; } } //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(); } /// /// 辞职申请 /// /// /// [HttpPost] public IActionResult SaveAskCiZhi(AdmAskCiZhiDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskCiZhi(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } else { var askCiZhiDTO = _askService.GetAskCiZhi(data.Id); askCiZhiDTO.Outtime = data.Outtime; askCiZhiDTO.JiaojieUser = data.JiaojieUser; askCiZhiDTO.Modifier = curentuser.Id; askCiZhiDTO.Modifytime = DateTime.Now; resultEntity = _askService.SaveAskCiZhi(askCiZhiDTO); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } if (data.Step == "总经理审批") { //总经理审批同意之后,插入工作交接 var askCiZhiDTO = _askService.GetAskCiZhi(resultEntity.ReturnID); var pltUserDTO = _userService.GetPltUserEntity(askCiZhiDTO.Creater); AdmAskJiaojieDTO admAskJiaojieDTO = new AdmAskJiaojieDTO(); admAskJiaojieDTO.CiZhiId = resultEntity.ReturnID; admAskJiaojieDTO.Remark = ""; admAskJiaojieDTO.ShenpiStatus = "D"; admAskJiaojieDTO.RecStatus = "A"; admAskJiaojieDTO.Creater = askCiZhiDTO.Creater; admAskJiaojieDTO.Createtime = DateTime.Now; admAskJiaojieDTO.Modifier = askCiZhiDTO.Creater; admAskJiaojieDTO.Modifytime = admAskJiaojieDTO.Createtime; admAskJiaojieDTO.CreaterName = pltUserDTO.UserName; admAskJiaojieDTO.Tittle = "工作交接(" + pltUserDTO.UserName + ")"; resultEntity = _askService.SaveAskJiaojie(admAskJiaojieDTO); if (!resultEntity.Result) { return new JsonResult(resultEntity); } //查询合作客户 CooperatecustomCustomerDTOSearch searchEntity = new CooperatecustomCustomerDTOSearch(); searchEntity.page = 1; searchEntity.rows = 10000; searchEntity.Ywjl = admAskJiaojieDTO.Creater; var resultDataEntity = _cooperatecustomCustomerService.SearchByPaging(searchEntity); var cooperatecustomCustomerDTOs = resultDataEntity.DataList; foreach (var cooperatecustomCustomerDTO in cooperatecustomCustomerDTOs) { AdmAskJiaojieDtlDTO admAskJiaojieDtl = new AdmAskJiaojieDtlDTO(); admAskJiaojieDtl.JiaojieId = admAskJiaojieDTO.Id; admAskJiaojieDtl.Jiaojietime = DateTime.Now; admAskJiaojieDtl.JiaojieType = "01"; admAskJiaojieDtl.Kehudanwei = cooperatecustomCustomerDTO.Name; admAskJiaojieDtl.JiaojieStatus = "D"; admAskJiaojieDtl.RecStatus = "A"; admAskJiaojieDtl.Creater = admAskJiaojieDTO.Creater; admAskJiaojieDtl.Createtime = admAskJiaojieDTO.Createtime; admAskJiaojieDtl.Modifier = admAskJiaojieDTO.Creater; admAskJiaojieDtl.Modifytime = admAskJiaojieDTO.Createtime; resultEntity = _askService.SaveAskJiaojieDtl(admAskJiaojieDtl); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //查询意向客户 IntentionCustomerDTOSearch searchEntityin = new IntentionCustomerDTOSearch(); searchEntityin.page = 1; searchEntityin.rows = 10000; searchEntityin.YwjlYx = admAskJiaojieDTO.Creater; searchEntityin.Ywjl = admAskJiaojieDTO.Creater; searchEntityin.Yixiang = "05"; var resultDataEntity1 = _intentionCustomerService.SearchByPaging(searchEntityin); var intentionCustomerDTOs = resultDataEntity1.DataList; foreach (var intentionCustomerDTO in intentionCustomerDTOs) { AdmAskJiaojieDtlDTO admAskJiaojieDtl = new AdmAskJiaojieDtlDTO(); admAskJiaojieDtl.JiaojieId = admAskJiaojieDTO.Id; admAskJiaojieDtl.Jiaojietime = DateTime.Now; admAskJiaojieDtl.JiaojieType = "02"; admAskJiaojieDtl.Kehudanwei = intentionCustomerDTO.Name; admAskJiaojieDtl.JiaojieStatus = "D"; admAskJiaojieDtl.RecStatus = "A"; admAskJiaojieDtl.Creater = admAskJiaojieDTO.Creater; admAskJiaojieDtl.Createtime = admAskJiaojieDTO.Createtime; admAskJiaojieDtl.Modifier = admAskJiaojieDTO.Creater; admAskJiaojieDtl.Modifytime = admAskJiaojieDTO.Createtime; resultEntity = _askService.SaveAskJiaojieDtl(admAskJiaojieDtl); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //插入交接明细 resultEntity = _wfRunProcessService.WfAskJiaojie(admAskJiaojieDTO.Id, "保存", "A", admAskJiaojieDTO.Creater, "", admAskJiaojieDTO.Tittle, "v1"); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskCiZhi(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 AskJiaojie(AdmAskJiaojieDTO data) { AdmAskJiaojieDTO dto = new AdmAskJiaojieDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(data.id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "工作交接(" + curentuser.UserName + ")"; dto.admAskJiaojieDtlDTOs = new List(); } else if (dto != null) { dto = _askService.GetAskJiaojie(data.id); dto.JiaojietimeStart = data.JiaojietimeStart; dto.JiaojietimeEnd = data.JiaojietimeEnd; dto.JiaojieStatus = data.JiaojieStatus; dto.JiaojietimeStartName = dto.JiaojietimeStart.HasValue? dto.JiaojietimeStart.Value.ToString("yyyy-MM-dd"):""; dto.JiaojietimeEndName = dto.JiaojietimeEnd.HasValue ? dto.JiaojietimeEnd.Value.ToString("yyyy-MM-dd") : ""; //dto.JineName = dto.Jine.Value.ToString("F2"); var admAskJiaojieDtlDTOs = _askService.GetAskJiaojieDtls(data.id); if (!string.IsNullOrEmpty(data.JiaojieStatus)) { admAskJiaojieDtlDTOs = admAskJiaojieDtlDTOs.Where(x => x.JiaojieStatus == data.JiaojieStatus).ToList(); } if (data.JiaojietimeStart.HasValue) { admAskJiaojieDtlDTOs = admAskJiaojieDtlDTOs.Where(x => x.Jiaojietime >= data.JiaojietimeStart).ToList(); } if (data.JiaojietimeEnd.HasValue) { admAskJiaojieDtlDTOs = admAskJiaojieDtlDTOs.Where(x => x.Jiaojietime <= data.JiaojietimeEnd.Value.AddDays(1)).ToList(); } dto.admAskJiaojieDtlDTOs = admAskJiaojieDtlDTOs; var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "22").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.shifou = _liaotianService.GetSYScode("system", "shifou"); //ViewBag.visType = _liaotianService.GetSYScode("CooperVisit", "visType"); //var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList(); //var intentionCustomerDTOs = _intentionCustomerService.GetList(); //ViewBag.CooperatecustomCustomerDTOs = ViewData.Model = dto; return View(); } /// /// 工作交接 /// /// /// [HttpPost] public IActionResult SaveAskJiaojie(AdmAskJiaojieDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskJiaojie(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } //发起流程相关 resultEntity = _wfRunProcessService.WfAskJiaojie(data.Id, data.Step, data.Tongguojujue, curentuser.Id, data.Content, data.Tittle, "v1"); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } else if (data.Step == "工作交接") { var ids = data.JiaojieDtlId.Split(','); foreach(var id in ids) { if (string.IsNullOrEmpty(id)) { continue; } var admAskJiaojieDtl = _askService.GetAskJiaojieDtl(id); if (admAskJiaojieDtl.JiaojieStatus == "A") { continue; } else { admAskJiaojieDtl.JiaojieStatus = "A"; admAskJiaojieDtl.JiaojieUserId = curentuser.Id; admAskJiaojieDtl.Jiaojietime = DateTime.Now; admAskJiaojieDtl.JieShoutime = admAskJiaojieDtl.Jiaojietime; admAskJiaojieDtl.Modifier = curentuser.Id; ; admAskJiaojieDtl.Modifytime = admAskJiaojieDtl.Jiaojietime.Value; resultEntity = _askService.SaveAskJiaojieDtl(admAskJiaojieDtl); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } } var admAskJiaojieDtls = _askService.GetAskJiaojieDtls(data.Id).Where(x => x.JiaojieStatus == "D").ToList(); if(admAskJiaojieDtls ==null || admAskJiaojieDtls.Count == 0) { //发起流程相关 resultEntity = _wfRunProcessService.WfAskJiaojie(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 EditAskJiaojie(string id) { ViewBag.id = id; ViewBag.JiaojieType = _liaotianService.GetSYScode("ADM_AskJiaojieDtl", "JiaojieType"); ViewData.Model = new AdmAskJiaojieDtlDTO(); return View(); } /// /// 保存 /// /// 岗位实体类对象 /// [HttpPost] public string SaveAskJiaojieDtl(AdmAskJiaojieDtlDTO data) { var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; data.RecStatus = "A"; data.JiaojieStatus = "D"; if (String.IsNullOrEmpty(data.Id)) { data.Creater = curentuser.Id; data.Createtime = DateTime.Now; } data.Modifier = curentuser.Id; data.Modifytime = DateTime.Now; ResultEntity resultEntity = _askService.SaveAskJiaojieDtl(data); return JsonConvert.SerializeObject(resultEntity); } //获取招标信息网试用审批 public IActionResult AskZBXXW(string id = "") { AdmAskzczbwsyDTO dto = new AdmAskzczbwsyDTO(); var curentuser = JsonConvert.DeserializeObject(HttpContext.Session.GetString("User")); //流程相关 string shifoubiaoji = "A"; string sifoudangqian = "A"; string dangqianbuzhou = "提交"; var lishiyijian = new List(); if (string.IsNullOrEmpty(id)) { dto.CreaterName = curentuser.UserName; dto.Tittle = "招标信息网试用申请(" + curentuser.UserName + ")"; } else if (dto != null) { dto = _askService.GetAskZBXXW(id); var wfRunProcessDTO = _wfRunProcessService.GetList(dto.Id, "24").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.shiyongstandard = _liaotianService.GetSYScode("ADM_Askzczbwsy", "shiyongstandard"); //ViewBag.CooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetList(); ViewData.Model = dto; return View(); } /// /// 保存销售费用申请 /// /// /// [HttpPost] public IActionResult SaveZBXXW(AdmAskzczbwsyDTO data) { var curentuser = JsonConvert.DeserializeObject(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.SaveAskZBXXW(data); if (!resultEntity.Result) { return new JsonResult(resultEntity); } } if (data.Step == "招标信息网试用审批" && data.Tongguojujue == "A") { //调用接口开启用户试用权限 var admAskzczbwsyDTO = _askService.GetAskZBXXW(data.Id); var userDTO = _userService.GetPltUserEntity(admAskzczbwsyDTO.Creater); string huiyuanurl = _configuration.GetSection("huiyuanurl").Value; string SetCaseOrder = _configuration.GetSection("OASetOtherBusiness").Value; Uri postUrl2 = new Uri(huiyuanurl + SetCaseOrder); if (data.CustomerId != null && data.CustomerId.Length > 0) { for(int i=0;i< data.CustomerId.Length; i++) { if (data.Customertype[i] == "合作客户") { var cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(data.CustomerId[i]); JObject questions2 = new JObject(); questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId); questions2.Add("UserName", cooperatecustomCustomerDTO.Name); questions2.Add("PhoneNumber", cooperatecustomCustomerDTO.Tel); questions2.Add("BusinessKey", "CGGG"); if (admAskzczbwsyDTO.Shiyongstandard == "01") { questions2.Add("EndTime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss")); } else if (admAskzczbwsyDTO.Shiyongstandard == "02") { questions2.Add("EndTime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss")); } else if(admAskzczbwsyDTO.Shiyongstandard == "03") { questions2.Add("EndTime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss")); } questions2.Add("FromName", userDTO.UserName +" " +userDTO.Phone); questions2.Add("Describe", "OA"); string requestJson2 = questions2.ToString(); string result2 = string.Empty; using (HttpContent httpContent = new StringContent(requestJson2)) { httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); using (HttpClient httpClient = new HttpClient()) { httpClient.Timeout = new TimeSpan(0, 0, 10); HttpResponseMessage responseMessage = httpClient.PostAsync(postUrl2, httpContent).Result; result2 = responseMessage.Content.ReadAsStringAsync().Result; } } _logger.LogInformation("result2:" + result2); JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2); if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1") { cooperatecustomCustomerDTO.HuiyuanId = jobjectresult["UserID"].ToString(); _cooperatecustomCustomerService.save(cooperatecustomCustomerDTO); resultEntity.Result = true; } else { resultEntity.Result = false; resultEntity.Message = "开通招标信息网试用权限失败"; return new JsonResult(resultEntity); } } else { var cooperatecustomCustomerDTO = _intentionCustomerService.Get(data.CustomerId[i]); JObject questions2 = new JObject(); questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId); questions2.Add("UserName", cooperatecustomCustomerDTO.Name); questions2.Add("PhoneNumber", cooperatecustomCustomerDTO.Tel); questions2.Add("BusinessKey", "CGGG"); if (admAskzczbwsyDTO.Shiyongstandard == "01") { questions2.Add("EndTime", DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss")); } else if (admAskzczbwsyDTO.Shiyongstandard == "02") { questions2.Add("EndTime", DateTime.Now.AddMonths(2).ToString("yyyy-MM-dd HH:mm:ss")); } else if (admAskzczbwsyDTO.Shiyongstandard == "03") { questions2.Add("EndTime", DateTime.Now.AddMonths(3).ToString("yyyy-MM-dd HH:mm:ss")); } questions2.Add("FromName", userDTO.UserName + " " + userDTO.Phone); questions2.Add("Describe", "OA"); string requestJson2 = questions2.ToString(); string result2 = string.Empty; using (HttpContent httpContent = new StringContent(requestJson2)) { httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); using (HttpClient httpClient = new HttpClient()) { httpClient.Timeout = new TimeSpan(0, 0, 10); HttpResponseMessage responseMessage = httpClient.PostAsync(postUrl2, httpContent).Result; result2 = responseMessage.Content.ReadAsStringAsync().Result; } } _logger.LogInformation("result2:" + result2); JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2); if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1") { cooperatecustomCustomerDTO.HuiyuanId = jobjectresult["UserID"].ToString(); _intentionCustomerService.save(cooperatecustomCustomerDTO); resultEntity.Result = true; } else { resultEntity.Result = false; resultEntity.Message = "开通招标信息网试用权限失败"; return new JsonResult(resultEntity); } } } } } //发起流程相关 resultEntity = _wfRunProcessService.WfAskZBXXW(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); } } }