From bdeea0f54fcdb94531d404e9b720d0086d5cca96 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期五, 13 八月 2021 10:29:31 +0800
Subject: [PATCH] 流程管理界面
---
zhengcaioa/zhengcaioa/Views/WorkFlowTask/IndexGuanLi.cshtml | 137 +++++++++++++++++++
zhengcaioa/zhengcaioa/Controllers/WorkFlow/WorkFlowTaskController.cs | 50 +++++++
zhengcaioa/Services/WfHistoryService.cs | 116 ++++++++++++++++
zhengcaioa/Services/WfRunProcessService.cs | 88 ++++++++++++
zhengcaioa/IServices/IWfHistoryService.cs | 2
5 files changed, 392 insertions(+), 1 deletions(-)
diff --git a/zhengcaioa/IServices/IWfHistoryService.cs b/zhengcaioa/IServices/IWfHistoryService.cs
index 9fa4c18..372caaa 100644
--- a/zhengcaioa/IServices/IWfHistoryService.cs
+++ b/zhengcaioa/IServices/IWfHistoryService.cs
@@ -18,5 +18,7 @@
List<WfHistoryDTO> GetList(string RunProcessId ="" );
List<WfHistoryDTO> GetListshenpi(string RunProcessId);
+
+ ResultDataEntity<WfHistoryDTO> SearchByPagingGuanLi(WfHistoryDTOSearch searchEntity);
}
}
diff --git a/zhengcaioa/Services/WfHistoryService.cs b/zhengcaioa/Services/WfHistoryService.cs
index c3c607a..a19cbc3 100644
--- a/zhengcaioa/Services/WfHistoryService.cs
+++ b/zhengcaioa/Services/WfHistoryService.cs
@@ -301,6 +301,120 @@
return listRole;
}
-
+
+
+ public ResultDataEntity<WfHistoryDTO> SearchByPagingGuanLi(WfHistoryDTOSearch searchEntity)
+ {
+
+
+
+ ResultDataEntity<WfHistoryDTO> data = new ResultDataEntity<WfHistoryDTO>();
+ List<WfHistoryDTO> list = new List<WfHistoryDTO>();
+
+
+
+
+ var listCode = (from a in _context.SysCodeDtls
+ join b in _context.SysCodes
+ on a.CodeId equals b.Id
+ where a.RecStatus == "A"
+ && b.RecStatus == "A"
+ select new CodeDataEntity()
+ {
+ CodeId = b.Id,
+ CodeTable = b.CodeTable,
+ CodeField = b.CodeField,
+ CodeSn = a.CodeSn,
+ Comments = a.Comments,
+ Contents = a.Contents,
+ RecStatus = a.RecStatus,
+ Sort = a.Sort
+ }
+ );
+ DateTime Applytimestart = DateTime.Now;
+ DateTime Applytimeend = DateTime.Now;
+ if (!string.IsNullOrWhiteSpace(searchEntity.Applytime))
+ {
+ string[] Applytimes = searchEntity.Applytime.Split("|");
+ DateTime.TryParse(Applytimes[0], out Applytimestart);
+ DateTime.TryParse(Applytimes[1], out Applytimeend);
+ Applytimeend = Applytimeend.AddDays(1);
+ }
+
+ ///WfHistories
+ var query = (from k in _context.WfRunProcesses
+
+
+
+
+
+ join a in _context.WfHistories
+ on k.Id equals a.RunProcessId
+
+ join e in listCode.Where(x => x.CodeTable == "wf_run_process" && x.CodeField == "shenpi_status")
+ on k.ShenpiStatus equals e.CodeSn
+ into esssss
+ from eee in esssss.DefaultIfEmpty()
+
+ // join f in listCode.Where(x => x.CodeTable == "wf_needdeel" && x.CodeField == "needdeel_type")
+ //on a.NeeddeelType equals f.CodeSn
+ //into fsssss
+ // from fff in fsssss.DefaultIfEmpty()
+
+ join d in _context.WfApplytypes
+ on k.Applytiye equals d.Applyno
+
+ join b in _context.PltUsers
+ on k.Creater equals b.Id
+
+
+ join c in _context.HrDepts
+ on b.DeptId equals c.Id
+
+
+ where k.RecStatus == "A"
+ && (string.IsNullOrWhiteSpace(searchEntity.Applytime) || (k.Applytime >= Applytimestart && k.Applytime <= Applytimeend))
+ && (string.IsNullOrWhiteSpace(searchEntity.DeptId) || b.DeptId == searchEntity.DeptId.Trim())
+ && (string.IsNullOrWhiteSpace(searchEntity.ApplyUserName) || b.UserName.Contains(searchEntity.ApplyUserName.Trim()))
+ && (string.IsNullOrWhiteSpace(searchEntity.Applytiye) || k.Applytiye == searchEntity.Applytiye.Trim())
+ && (string.IsNullOrWhiteSpace(searchEntity.ShenpiStatus) || k.ShenpiStatus == searchEntity.ShenpiStatus.Trim())
+ && (string.IsNullOrWhiteSpace(searchEntity.RunProcessId) || k.Id == searchEntity.RunProcessId.Trim())
+
+ && (string.IsNullOrWhiteSpace(searchEntity.Applyno) || k.Applyno == searchEntity.Applyno.Trim())
+ && (string.IsNullOrWhiteSpace(searchEntity.Creater) || k.Creater == searchEntity.Creater.Trim())
+
+ select new WfHistoryDTO
+ {
+ Id = k.Id,
+
+
+ ApplytimeName = k.Applytime.Value.ToString("yyyy-MM-dd"),
+ Applyno = k.Applyno,
+ CreaterName = b.UserName,
+ DeptName = c.DeptName,
+ Applytiye = d.Applytiye,
+ Content = k.Content,
+ ShenpiStatusName = eee.Comments,
+
+ Deelurl = a.Deelurl,
+ Creater = k.Creater,
+ Createtime = k.Createtime,
+ Step = k.Step,
+ RecStatus = k.RecStatus,
+ Modifier = k.Modifier,
+ Modifytime = k.Modifytime,
+
+ }
+ ).Distinct().ToList().OrderByDescending(x => x.Applyno);
+
+
+
+ //if (searchEntity.totalrows == 0)
+ searchEntity.totalrows = query.Count();
+ var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+ data.LoadData(searchEntity, lianlist);
+ return data;
+ }
+
}
}
diff --git a/zhengcaioa/Services/WfRunProcessService.cs b/zhengcaioa/Services/WfRunProcessService.cs
index 4499b1a..8c7df35 100644
--- a/zhengcaioa/Services/WfRunProcessService.cs
+++ b/zhengcaioa/Services/WfRunProcessService.cs
@@ -202,6 +202,94 @@
model.RecStatus = "D";
model.Modifier = userid;
model.Modifytime = DateTime.Now;
+ switch (model.Applytiye)
+
+ {
+ case "01":
+ var model01 = _context.AdmAskLeaves.Find(model.DanjuId);
+ model01.RecStatus = "D";
+ model01.Modifier = userid;
+ model01.Modifytime = DateTime.Now;
+ break;
+ case "02":
+ var model02 = _context.AdmAskLeaveOffs.Find(model.DanjuId);
+ model02.RecStatus = "D";
+ model02.Modifier = userid;
+ model02.Modifytime = DateTime.Now;
+ break;
+ case "03":
+ var model03 = _context.HrSalaryAppeal.Find(model.DanjuId);
+ model03.status = "D";
+ break;
+ case "04":
+ var model04 = _context.AdmAskcosts.Find(model.DanjuId);
+ model04.RecStatus = "D";
+ model04.Modifier = userid;
+ model04.Modifytime = DateTime.Now;
+ break;
+ case "05":
+ var model05 = _context.AdmAskGoods.Find(model.DanjuId);
+ model05.RecStatus = "D";
+ model05.Modifier = userid;
+ model05.Modifytime = DateTime.Now;
+ break;
+ case "06":
+ var model06 = _context.AdmAskCars.Find(model.DanjuId);
+ model06.RecStatus = "D";
+ model06.Modifier = userid;
+ model06.Modifytime = DateTime.Now;
+ break;
+ case "07":
+ var model07 = _context.AdmAskMarketingCosts.Find(model.DanjuId);
+ model07.RecStatus = "D";
+ model07.Modifier = userid;
+ model07.Modifytime = DateTime.Now;
+ break;
+ case "08":
+ var model08 = _context.AdmAskMarketingCosts.Find(model.DanjuId);
+ model08.RecStatus = "D";
+ model08.Modifier = userid;
+ model08.Modifytime = DateTime.Now;
+ break;
+ case "09":
+ var model09 = _context.AdmAskMarketingCosts.Find(model.DanjuId);
+ model09.RecStatus = "D";
+ model09.Modifier = userid;
+ model09.Modifytime = DateTime.Now;
+ break;
+ case "10":
+ var model10 = _context.AdmAskovertimes.Find(model.DanjuId);
+ model10.RecStatus = "D";
+ model10.Modifier = userid;
+ model10.Modifytime = DateTime.Now;
+ break;
+ case "11":
+ var model11 = _context.AdmAskMarketingCosts.Find(model.DanjuId);
+ model11.RecStatus = "D";
+ model11.Modifier = userid;
+ model11.Modifytime = DateTime.Now;
+ break;
+ case "12":
+ var model12 = _context.AdmAskYouHuis.Find(model.DanjuId);
+ model12.RecStatus = "D";
+ model12.Modifier = userid;
+ model12.Modifytime = DateTime.Now;
+ break;
+ case "13":
+ var model13 = _context.AdmAskBaiFangs.Find(model.DanjuId);
+ model13.RecStatus = "D";
+ model13.Modifier = userid;
+ model13.Modifytime = DateTime.Now;
+ break;
+ case "20":
+ var model20 = _context.AdmCustomerWithdrawals.Find(model.DanjuId);
+ model20.RecStatus = "D";
+ model20.Modifier = userid;
+ model20.Modifytime = DateTime.Now;
+ break;
+ default:
+ break;
+ }
_context.SaveChanges();
}
diff --git a/zhengcaioa/zhengcaioa/Controllers/WorkFlow/WorkFlowTaskController.cs b/zhengcaioa/zhengcaioa/Controllers/WorkFlow/WorkFlowTaskController.cs
index d26f9b2..387c288 100644
--- a/zhengcaioa/zhengcaioa/Controllers/WorkFlow/WorkFlowTaskController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/WorkFlow/WorkFlowTaskController.cs
@@ -159,5 +159,55 @@
return new JsonResult(_wfRunProcessService.SearchByPaging(search));
}
+
+
+ public IActionResult IndexGuanLi()
+ {
+ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+ ViewData["curentuser"] = curentuser;
+ List<ActionEntity> actionlist = new List<ActionEntity>();
+ ActionEntity actionEntity = new ActionEntity();
+ actionEntity.OpenType = 0;
+ actionEntity.ActionUrl = "";
+ actionEntity.ActionFun = "Search";
+ actionEntity.PageIco = "fa fa-search";
+ actionEntity.ActionName = "鏌ヨ";
+ actionlist.Add(actionEntity);
+
+
+
+
+ ViewData["ActionInfo"] = actionlist;
+
+ ViewBag.Applytiye = _wfApplytypeService.GetList().Select(x => new { code = x.Applyno, label = x.Applytiye }).ToList();
+
+
+
+ return View();
+ }
+
+ public IActionResult GetListGuanLi(WfHistoryDTOSearch search)
+ {
+ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+ ViewData["curentuser"] = curentuser;
+ //search.Creater = curentuser.Id;
+ //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver());
+ return new JsonResult(_wfHistoryService.SearchByPagingGuanLi(search));
+ }
+
+
+ public IActionResult Del(string id)
+ {
+ var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
+ ViewData["curentuser"] = curentuser;
+ ResultEntity resultEntity = new ResultEntity();
+ resultEntity.Result = false;
+
+
+ resultEntity = _wfRunProcessService.ModifyStatus(id, curentuser.Id);
+
+
+ return new JsonResult(resultEntity);
+ }
}
}
diff --git a/zhengcaioa/zhengcaioa/Views/WorkFlowTask/IndexGuanLi.cshtml b/zhengcaioa/zhengcaioa/Views/WorkFlowTask/IndexGuanLi.cshtml
new file mode 100644
index 0000000..7275661
--- /dev/null
+++ b/zhengcaioa/zhengcaioa/Views/WorkFlowTask/IndexGuanLi.cshtml
@@ -0,0 +1,137 @@
+锘緻{
+ ViewBag.Title = "WorkFlowTask";
+ Layout = "~/Views/Shared/_Layout_Search.cshtml";
+}
+
+<link href="~/css/jquery-confirm.css" rel="stylesheet">
+<script src="~/js/jquery-confirm.js" type="text/javascript"></script>
+
+@section headerStyle{
+ <script type="text/javascript">
+ var Applytiye = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.Applytiye))';
+
+
+
+ loseherght = 60;
+ dataCol = [
+ { label: 'id', name: 'Id', labtype: 'txt', hidden: true },
+ { label: '鐢宠鏃堕棿', name: 'ApplytimeName', labtype: 'txt', hidden: false, width: 100 },
+ {
+ label: '鐢宠鍗曞彿', name: 'Applyno', labtype: 'txt', hidden: false, width: 100
+ },
+
+ { label: '閮ㄩ棬', name: 'DeptName', labtype: 'txt', hidden: false, width: 100 },
+ { label: '鐢宠浜�', name: 'CreaterName', labtype: 'txt', hidden: false, width: 100 },
+ { label: '璇风ず鍚嶇О', name: 'Content', labtype: 'txt', hidden: false, width: 100 },
+ { label: '姝ラ', name: 'Step', labtype: 'txt', hidden: false, width: 100 },
+ { label: '鎵瑰鐘舵��', name: 'ShenpiStatusName', labtype: 'txt', hidden: false, width: 100 },
+ {
+ label: '鏌ョ湅', name: 'Remark', labtype: 'txt', hidden: false, width: 100,
+ formatter: function (cellvalue, options, rowObject) {
+ return "<a onclick=\"OpenWindow('鏌ョ湅','100%','100%', '" + rowObject.Deelurl + "')\" >鏌ョ湅</a> ";
+ }
+ },
+
+ {
+ label: '鍒犻櫎', name: 'Remark111', labtype: 'txt', hidden: false, width: 100,
+ formatter: function (cellvalue, options, rowObject) {
+ return "<a onclick=\"shanchu('" + rowObject.Id + "')\" >鍒犻櫎</a> ";
+ }
+ },
+
+ ];
+ dataUrl = "/WorkFlowTask/GetListGuanLi";
+ searchCol = [
+
+
+
+
+
+ { label: '鐢宠鏃堕棿', name: 'Applytime', labtype: 'datearea', hidden: false },
+ { label: '鐢宠鍗曞彿', name: 'Applyno', labtype: 'txt', hidden: false },
+ { label: '鐢宠浜�', name: 'ApplyUserName', labtype: 'txt', hidden: false },
+ { label: '鐢宠娴佺▼', name: 'Applytiye', labtype: 'combox', hidden: false, data: JSON.parse(Applytiye)/*, cwidth: '5%', cccwidth: '8%' */},
+
+ ];
+
+
+
+
+
+ var _afterSave = function (result) {
+ if (result) {
+ toastr.success("淇濆瓨鎴愬姛");
+ } else {
+ toastr.error("淇濆瓨澶辫触");
+ }
+ }
+
+ var _afterDel = function (result) {
+ if (result) {
+ toastr.success("鍒犻櫎鎴愬姛");
+ } else {
+ /**/
+ toastr.error("鍒犻櫎鎴愬姛");
+ /**/
+ }
+}
+ </script>
+}
+
+@section footerScripts{
+ <script type="text/javascript">
+
+
+
+ var shanchu = function (Id) {
+
+ $.confirm({
+ title: '鍒犻櫎娴佺▼鎿嶄綔纭',
+ content: '姝ゆ搷浣滃皢鍒犻櫎褰撳墠娴佺▼锛岀‘璁よ缁х画鍚�?',
+ type: 'green',
+ icon: 'glyphicon glyphicon-question-sign',
+ buttons: {
+ ok: {
+ text: '纭',
+ btnClass: 'btn-primary',
+ action: function () {
+ $.ajax({
+ type: "POST",
+ url: "/WorkFlowTask/Del?id=" + Id,
+ dataType: "json",
+ global: false,
+ success: function (data) {
+
+ if (data.Result) {
+ jQuery('#jqGrid').jqGrid().trigger('reloadGrid');
+
+ toastr.success("鍒犻櫎鎴愬姛");
+ }
+ else {
+ toastr.error(data.Message);
+ }
+ },
+ error: function () {
+ toastr.error("鍒犻櫎澶辫触");
+ }
+ });
+ }
+ },
+ cancel: {
+ text: '鍙栨秷',
+ btnClass: 'btn-primary'
+ }
+ }
+ });
+
+
+
+ //window._reloadPageData();
+
+ }
+
+
+
+
+ </script>
+}
--
Gitblit v1.9.1