From f50bdf1595f58bd667d680c69a5c06d00e1afb18 Mon Sep 17 00:00:00 2001 From: ndbs Date: Wed, 20 Apr 2022 14:54:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E5=81=87=E7=94=B3=E8=AF=B7=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/NWFProcessController.cs | 46 ++++- .../Views/NWFProcess/LeaveStatistics.cshtml | 64 +++++++ .../Views/NWFProcess/LeaveStatistics.js | 177 ++++++++++++++++++ .../Learun.Application.Web.csproj | 4 + .../Process/NWFProcessBLL.cs | 4 + .../Process/NWFProcessEntity.cs | 37 ++++ .../Process/NWFProcessIBLL.cs | 2 + .../Process/NWFProcessSerivce.cs | 64 ++++++- 8 files changed, 394 insertions(+), 4 deletions(-) create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.cshtml create mode 100644 Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.js diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Controllers/NWFProcessController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Controllers/NWFProcessController.cs index 9359d9ae4..c1b5d64bc 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Controllers/NWFProcessController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Controllers/NWFProcessController.cs @@ -253,6 +253,16 @@ namespace Learun.Application.Web.Areas.LR_NewWorkFlow.Controllers return View(); } [HttpGet] + public ActionResult LeaveStatistics() + { + return View(); + } + [HttpGet] + public ActionResult Transceiver() + { + return View(); + } + [HttpGet] public ActionResult MonitorIndexRenShi() { return View(); @@ -320,6 +330,36 @@ namespace Learun.Application.Web.Areas.LR_NewWorkFlow.Controllers }; return Success(jsonData); } + [HttpGet] + [AjaxOnly] + public ActionResult GetLeaveStatistics(string pagination, string queryJson) + { + Pagination paginationobj = pagination.ToObject(); + var list = nWFProcessIBLL.GetLeaveStatistics(paginationobj, queryJson); + var jsonData = new + { + rows = list, + total = paginationobj.total, + page = paginationobj.page, + records = paginationobj.records, + }; + return Success(jsonData); + } + //[HttpGet] + //[AjaxOnly] + //public ActionResult GetUseCar(string pagination, string queryJson) + //{ + // Pagination paginationobj = pagination.ToObject(); + // var list = nWFProcessIBLL.GetUseCar(paginationobj, queryJson); + // var jsonData = new + // { + // rows = list, + // total = paginationobj.total, + // page = paginationobj.page, + // records = paginationobj.records, + // }; + // return Success(jsonData); + //} public ActionResult GetFirstTaskByProcessId(string processId) { @@ -924,7 +964,7 @@ namespace Learun.Application.Web.Areas.LR_NewWorkFlow.Controllers { var userentity = userIbll.GetEntityByUserId(uid); string deptname = departmentIbll.GetEntity(userentity?.F_DepartmentId)?.F_FullName; - usernamelist.Add("["+ deptname + "]"+userentity?.F_RealName); + usernamelist.Add("[" + deptname + "]" + userentity?.F_RealName); } return SuccessString(string.Join(",", usernamelist)); } @@ -932,8 +972,8 @@ namespace Learun.Application.Web.Areas.LR_NewWorkFlow.Controllers [HttpGet] public ActionResult GetNextUserMonitor(string F_ProcessId) { - var tasklist=nWFTaskIBLL.GetUnFinishTaskList(F_ProcessId).FirstOrDefault(); - if (tasklist!=null&&!string.IsNullOrEmpty(tasklist.F_Id)) + var tasklist = nWFTaskIBLL.GetUnFinishTaskList(F_ProcessId).FirstOrDefault(); + if (tasklist != null && !string.IsNullOrEmpty(tasklist.F_Id)) { List usernamelist = new List(); List nextlist = nWFTaskIBLL.GetTaskUserList(tasklist.F_Id).Select(m => m.F_UserId).ToList(); diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.cshtml new file mode 100644 index 000000000..be9e462ef --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.cshtml @@ -0,0 +1,64 @@ +@{ + ViewBag.Title = "用车申请统计"; + Layout = "~/Views/Shared/_Index.cshtml"; +} +
+
+
+
+
    +
  • 未完成
  • +
  • 已完成
  • +
+
+
+
+
+
+
+
+
+
+
+
+
姓名
+
+
+
+
联系电话
+ +
+
+
请假种类
+
+
+
+
+
+
+
用车部门
+
+
+
+
+ +
+ +
+
+ +
+
+
+
+
+@Html.AppendJsFile("/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.js") + + + + + diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.js new file mode 100644 index 000000000..79965dda0 --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_NewWorkFlow/Views/NWFProcess/LeaveStatistics.js @@ -0,0 +1,177 @@ +/* + * 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架(http://www.learun.cn) + * Copyright (c) 2013-2018 上海力软信息技术有限公司 + * 创建人:力软-前端开发组 + * 日 期:2018.12.19 + * 描 述:流程监控 + */ +var bootstrap = function ($, learun) { + "use strict"; + var categoryId = '1'; + var logbegin = ''; + var logend = ''; + + var page = { + init: function () { + $('#lr_verify').hide(); + page.initleft(); + page.initGrid(); + page.bind(); + }, + bind: function () { + $('#datesearch').lrdate({ + dfdata: [ + { name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + { name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }, + ], + // 月 + mShow: false, + premShow: false, + // 季度 + jShow: false, + prejShow: false, + // 年 + ysShow: false, + yxShow: false, + preyShow: false, + yShow: false, + selectfn: function (begin, end) { + logbegin = begin; + logend = end; + page.search(); + } + }); + $('#multiple_condition_query').lrMultipleQuery(function (queryJson) { + page.search(queryJson); + }, 200, 400); + $('#qj_lx').lrDataItemSelect({ code: 'LeaveType' }); + $('#qj_name').lrDataSourceSelect({ code: 'teacheruserdata', value: 'f_userid', text: 'f_realname' }); + // 刷新 + $('#lr_refresh').on('click', function () { + location.reload(); + }); + // 查看 + $('#lr_eye').on('click', function () { + page.eye(); + }); + }, + initleft: function () { + $('#lr_left_list li').on('click', function () { + var $this = $(this); + var $parent = $this.parent(); + $parent.find('.active').removeClass('active'); + $this.addClass('active'); + categoryId = $this.attr('data-value'); + page.search(); + }); + }, + initGrid: function () { + $('#gridtable').lrAuthorizeJfGridLei({ + url: top.$.rootUrl + '/LR_NewWorkFlow/NWFProcess/GetLeaveStatistics', + headData: [ + { + label: "姓名", name: "qj_name", width: 100, align: "center", + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('custmerData', { + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'teacheruserdata', + key: value, + keyId: 'f_userid', + callback: function (_data) { + callback(_data["f_realname"]); + } + }); + } + }, + { label: "填表时间", name: "qj_txsj", width: 150, align: "center" }, + { label: "联系电话", name: "qj_bm", width: 100, align: "center" }, + { + label: "请假种类", name: "qj_lx", width: 100, align: "center" , + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('dataItem', { + key: value, + code: 'LeaveType', + callback: function (_data) { + callback(_data.text); + } + }); + } + }, + { label: "开始时间", name: "qj_sjks", width: 150, align: "center" }, + { label: "结束时间", name: "qj_sjjs", width: 150, align: "center" }, + { + label: "请假天数", name: "qj_dh", width: 100, align: "center" , + formatterAsync: function (callback, value, row, op, $cell) { + learun.clientdata.getAsync('dataItem', { + key: value, + code: 'LeaveDay', + callback: function (_data) { + callback(_data.text); + } + }); + } + }, + { label: "请假事由", name: "qj_ly", width: 100, align: "center" }, + { + label: "状态", name: "F_EnabledMark", width: 100, align: "center", + formatter: function (cellvalue, row) { + if (row.F_IsFinished == 0) { + if (cellvalue == 1) { + if (row.F_IsUrge == "1" && categoryId == '2') { + return "催办加急"; + } + return "运行中"; + } else if (cellvalue == 2) { + return "草稿"; + } else { + return "作废"; + } + } + else { + return "结束"; + } + + } + }, + ], + mainId: 'F_Id', + isPage: true, + sidx: 'qj_txsj DESC', + dblclick: function () { + page.eye(); + } + }); + page.search(); + }, + search: function (param) { + param = param || {}; + param.StartTime = logbegin; + param.EndTime = logend; + param.categoryId = categoryId; + param.F_Category = 'LC_leave'; + param.F_SchemeCode = 'LC_leave'; + $('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) }); + }, + eye: function () { + var processId = $('#gridtable').jfGridValue('LC_ID') || ''; + var title = $('#gridtable').jfGridValue('F_Title'); + var schemeName = $('#gridtable').jfGridValue('F_SchemeName'); + + if (schemeName != title && title) { + title = schemeName + "(" + title + ")"; + } + else { + title = schemeName; + } + + if (learun.checkrow(processId)) { + learun.frameTab.open({ F_ModuleId: 'monitor' + processId, F_FullName: '查看-' + title, F_UrlAddress: '/LR_NewWorkFlow/NWFProcess/MonitorDetailsIndex?processId=' + processId }); + } + } + }; + + page.init(); +} + + diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj b/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj index 106e7c3c3..9ffeaa58d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj @@ -1375,6 +1375,7 @@ + @@ -1383,6 +1384,7 @@ + @@ -7723,6 +7725,8 @@ + + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessBLL.cs index e5fcde25f..b95a96612 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessBLL.cs @@ -71,6 +71,10 @@ namespace Learun.Application.WorkFlow { return nWFProcessSerive.GetUseCar(pagination, queryJson); } + public IEnumerable GetLeaveStatistics(Pagination pagination, string queryJson) + { + return nWFProcessSerive.GetLeaveStatistics(pagination, queryJson); + } public string GetFirstTaskByProcessId(string processId) { return nWFProcessSerive.GetFirstTaskByProcessId(processId); diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessEntity.cs index 79bde2637..e12c903a7 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessEntity.cs @@ -201,6 +201,43 @@ namespace Learun.Application.WorkFlow public string LC_sjxm { get; set; } [NotMapped] public string LC_pj { get; set; } + //---------------------------- + + [NotMapped] + public string qj_name { get; set; } + [NotMapped] + public string qj_txsj { get; set; } + [NotMapped] + public string qj_bm { get; set; } + [NotMapped] + public string qj_lx { get; set; } + [NotMapped] + public string qj_sjks { get; set; } + [NotMapped] + public string qj_sjjs { get; set; } + [NotMapped] + public string qj_dh { get; set; } + [NotMapped] + public string qj_ly { get; set; } + //--------------------------------- + [NotMapped] + public string LC_party { get; set; } + [NotMapped] + public string LC_accept { get; set; } + [NotMapped] + public string LC_amount { get; set; } + [NotMapped] + public string LC_num { get; set; } + [NotMapped] + public string LC_numdoc { get; set; } + [NotMapped] + public string LC_name { get; set; } + [NotMapped] + public string LC_important { get; set; } + [NotMapped] + public string LC_secret { get; set; } + [NotMapped] + public string LC_other { get; set; } #endregion } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessIBLL.cs index 5ed83eeba..017835a8d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessIBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessIBLL.cs @@ -29,6 +29,8 @@ namespace Learun.Application.WorkFlow /// IEnumerable GetPageList(Pagination pagination, string queryJson); IEnumerable GetUseCar(Pagination pagination, string queryJson); + IEnumerable GetLeaveStatistics(Pagination pagination, string queryJson); + string GetFirstTaskByProcessId(string processId); IEnumerable GetAllList(); LC_hetongEntity GetHTInfo(string keyValue); diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessSerivce.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessSerivce.cs index eab4358f9..481b4095a 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessSerivce.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.WorkFlow/Process/NWFProcessSerivce.cs @@ -187,7 +187,7 @@ namespace Learun.Application.WorkFlow strSql.Append(" and zb.F_IsFinished= '1' "); } strSql.Append(" and zb.F_SchemeCode = 'LC_gcsq' "); - strSql.Append(" and zb.F_EnabledMark != '3' and F_EnabledMark != '4' and F_IsChild='0' "); + strSql.Append(" and zb.F_EnabledMark != '3' and F_EnabledMark != '2' and F_IsChild='0' "); //if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) //{ // DateTime startTime = queryParam["StartTime"].ToDate(); @@ -231,6 +231,68 @@ namespace Learun.Application.WorkFlow } } + /// + /// 获取流程信息列表 + /// + /// 分页参数 + /// 查询条件 + /// + public IEnumerable GetLeaveStatistics(Pagination pagination, string queryJson) + { + try + { + var queryParam = queryJson.ToJObject(); + var dbName = this.BaseRepository().getDbConnection().Database; + var dbMISName = this.BaseRepository("CollegeMIS").getDbConnection().Database; + var dp = new DynamicParameters(new { }); + var strSql = new StringBuilder(); + strSql.Append(" select zb.*,lnp.* from "+ dbMISName + ".[dbo].cs_qj zb "); + strSql.Append(" left join " + dbName + ".[dbo].LR_NWF_PROCESS lnp on zb.LC_ID =lnp.F_id "); + strSql.Append(" where 1=1 "); + if (queryParam["categoryId"].ToString() == "1") + { + strSql.Append(" and lnp.F_IsFinished= '0' "); + } + else + { + strSql.Append(" and lnp.F_IsFinished= '1' "); + } + strSql.Append(" and lnp.F_SchemeCode = 'LC_leave' "); + strSql.Append(" and lnp.F_EnabledMark != '3' and lnp.F_EnabledMark != '2' and lnp.F_IsChild='0' "); + strSql.Append(" and lnp.F_IsStart=1 "); + if (!queryParam["qj_name"].IsEmpty()) + { + strSql.Append(" and zb.qj_name = '" + queryParam["qj_name"].ToString() + "' "); + } + if (!queryParam["qj_bm"].IsEmpty()) + { + strSql.Append(" and zb.qj_bm like '%" + queryParam["qj_bm"].ToString() + "%' "); + } + if (!queryParam["qj_lx"].IsEmpty()) + { + strSql.Append(" and zb.qj_lx = '" + queryParam["qj_lx"].ToString() + "' "); + } + if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) + { + DateTime startTime = queryParam["StartTime"].ToDate(); + DateTime endTime = queryParam["EndTime"].ToDate(); + strSql.Append(" and ( zb.qj_txsj>= '" + startTime + "' and zb.qj_txsj <= '" + endTime + "' )"); + } + return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp); + + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } /// /// 根据processid 获取taskid ///