From f349b7ddc7cdb94e05c1085123c6d75cb95e469c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Mon, 25 May 2026 16:21:13 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E5=8D=B1=E9=99=A9?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/BIController/BIKanBanController.cs | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs index d1ee2a6..69f85c1 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -25,6 +25,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Data.SqlClient; using MySqlX.XDevAPI.Common; using NPOI.SS.Formula.Functions; +using NPOI.Util; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -109,7 +110,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI public class JobTodayQty { public int qty { get; set; } - public Guid workTypeId { get; set; } + public Guid? workTypeId { get; set; } public string name { get; set; } } @@ -1055,11 +1056,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI } result.Data.jobList = list.ToList(); //当日工作票的统计数量 - string sqlJob = "select WORK_PERMIT_TYPE_ID,NAME,count(*) as QTY from vhome_jobTodayNew where create_time >='" + startDate + "' and create_time<='" + endDate + "' GROUP BY WORK_PERMIT_TYPE_ID,NAME ORDER BY QTY DESC"; - SqlCommand comJob = new SqlCommand(sqlJob, connection); - SqlDataAdapter jobData = new SqlDataAdapter(comJob); - jobData.Fill(tableJob); - result.Data.jobTodayQty = JobTodayQtyData(tableJob); + //string sqlJob = "select WORK_PERMIT_TYPE_ID,NAME,count(*) as QTY from vhome_jobTodayNew where create_time >='" + startDate + "' and create_time<='" + endDate + "' GROUP BY WORK_PERMIT_TYPE_ID,NAME ORDER BY QTY DESC"; + //SqlCommand comJob = new SqlCommand(sqlJob, connection); + //SqlDataAdapter jobData = new SqlDataAdapter(comJob); + //jobData.Fill(tableJob); + //result.Data.jobTodayQty = JobTodayQtyData(tableJob); connection.Close(); } catch (Exception ex) @@ -1069,6 +1070,24 @@ namespace APT.SC.WebApi.Controllers.Api.BI else throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); } + List jobTodayQtys = new List(); + if (list != null && list.Any()) + { + var groupBy = list.GroupBy(t=>t.jobName); + if (groupBy != null && groupBy.Any()) + { + foreach (var item in groupBy) + { + jobTodayQtys.Add(new JobTodayQty() + { + qty = item.Count(), + workTypeId = null, + name = item.Key.ToString(), + }); + } + } + } + result.Data.jobTodayQty = jobTodayQtys.ToList(); } return result; From 7116e4eff45861805531cc1d11be46cbecc7b17e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Mon, 25 May 2026 17:35:06 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/HiddenDangerRectifyRecordController.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs index f96bea4..c23370b 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/HiddenDangerRectifyRecordController.cs @@ -665,6 +665,10 @@ namespace APT.SK.WebApi.Controllers this.ThrowError("030017"); pageFilter.IgnoreDataRule = true; var entity = this.GetEntity(id); + if (entity == null) + { + throw new Exception("请在弹窗页重新选择公司"); + } FilterRule ruleArea = new FilterRule(); ruleArea.Field = "RISK_AREA_ID"; ruleArea.Value = entity.RISK_AREA_ID; From 010d6f2246a3d46ba64d27e690c504b5b8efbba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Mon, 25 May 2026 18:13:38 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/BIController/BIKanBanController.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs index 69f85c1..221e9b3 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -1020,6 +1020,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI { throw new Exception("只能查询本年度数据,请修改结束时间!"); } + var company = "邦泰"; + if (!string.IsNullOrEmpty(filter.Keyword)) + { + company = filter.Keyword; + } JsonActionResult result = new JsonActionResult(); result.Data = new JobManage(); var list = new List(); @@ -1033,7 +1038,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI connection.Open(); //当日危险作业清单 - string sql = "select * from vhome_jobTodayList where create_time >='"+ startDate +"' and create_time<='" + endDate+"'"; + string sql = "select * from vhome_jobTodayList where create_time >='"+ startDate +"' and create_time<='" + endDate+"' and companyName ='" + company + "'"; SqlCommand com = new SqlCommand(sql, connection); SqlDataAdapter data = new SqlDataAdapter(com); data.Fill(tableList); From d9448e7976d4085c70c59c0ca0cb62cf57575e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Mon, 25 May 2026 18:35:09 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E4=BA=BA=E6=98=AF=E8=87=AA=E5=B7=B1=EF=BC=8C=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=B7=BB=E5=8A=A0=E4=B8=80=E6=9D=A1=E5=B7=B2=E5=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CrucialLicenseJobController.cs | 20 +++++++++++++++++++ .../CrucialLicenseJobOutsourceController.cs | 20 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobController.cs index b6fc23b..dac3f98 100644 --- a/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobController.cs +++ b/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobController.cs @@ -1427,6 +1427,26 @@ namespace APT.FO.WebApi.Controllers { var sendUserIds = new List(); //var curentApprove = appdetails.FirstOrDefault(i => i.NUM == appdetails.Min(x => x.NUM) && i.NODE_APPROVE_STATUS == (int)NodeApproveStatus.Doing); + //如果第一个批的人刚好是自己,加一条已办的审批记录 + var applyApprove = appdetails.Where(i => i.NUM == appdetails.Min(x => x.NUM) && i.APPROVE_USER_ID == applyUserId && i.NODE_APPROVE_STATUS == (int)NodeApproveStatus.Doing).ToList(); + if (applyApprove != null && applyApprove.Any()) + { + //本人默认审批,存入一条已办 + T_FM_NOTIFICATION_TASK curentTask = new T_FM_NOTIFICATION_TASK(); + curentTask.CODE = DateTime.Now.ToString("yyyyMMddHHmmss"); + curentTask.NOTICE_TITLE = approve.NAME + "-" + operationStep?.NAME + "审批"; + curentTask.SOURCE_DATA_ID = approve.ID; + curentTask.ORG_ID = approve.ORG_ID; + curentTask.ID = Guid.NewGuid(); + curentTask.TASK_STARTDT = DateTime.Now; + curentTask.TASK_ENDDT = DateTime.Now.AddHours(24); + curentTask.NOTICE_TYPE = (int)FMNoticeTypeEnum.消息; + curentTask.NOTICE_STATUS = (int)FMNoticeStatusEnum.正常已办; + curentTask.USER_ID = (Guid)applyUserId; + curentTask.USER_NAME = users.FirstOrDefault(t => t.ID == applyUserId)?.NAME; + curentTask.SOURCE_FORMCODE = approve.APPROVE_CODE; + notices.Add(curentTask); + } var detailTemps = appdetails.Where(i => i.NUM == appdetails.Min(x => x.NUM) && i.APPROVE_USER_ID != applyUserId && i.NODE_APPROVE_STATUS == (int)NodeApproveStatus.Doing).ToList(); if (detailTemps != null && detailTemps.Any()) { diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobOutsourceController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobOutsourceController.cs index 29fd3f9..17fced3 100644 --- a/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobOutsourceController.cs +++ b/APT.MicroApi/APT.FO.WebApi/Controllers/CrucialLicenseJobOutsourceController.cs @@ -371,6 +371,26 @@ namespace APT.FO.WebApi.Controllers //所有节点均无审核人,直接归档 if (appdetails != null && appdetails.Any())//curentApprove == null { + // 如果第一个批的人刚好是自己,加一条已办的审批记录 + var applyApprove = appdetails.Where(i => i.NUM == appdetails.Min(x => x.NUM) && i.APPROVE_USER_ID == applyUserId && i.NODE_APPROVE_STATUS == (int)NodeApproveStatus.Doing).ToList(); + if (applyApprove != null && applyApprove.Any()) + { + //本人默认审批,存入一条已办 + T_FM_NOTIFICATION_TASK curentTask = new T_FM_NOTIFICATION_TASK(); + curentTask.CODE = DateTime.Now.ToString("yyyyMMddHHmmss"); + curentTask.NOTICE_TITLE = approve.NAME + "-" + operationStep?.NAME + "审批"; + curentTask.SOURCE_DATA_ID = approve.ID; + curentTask.ORG_ID = approve.ORG_ID; + curentTask.ID = Guid.NewGuid(); + curentTask.TASK_STARTDT = DateTime.Now; + curentTask.TASK_ENDDT = DateTime.Now.AddHours(24); + curentTask.NOTICE_TYPE = (int)FMNoticeTypeEnum.消息; + curentTask.NOTICE_STATUS = (int)FMNoticeStatusEnum.正常已办; + curentTask.USER_ID = (Guid)applyUserId; + curentTask.USER_NAME = users.FirstOrDefault(t => t.ID == applyUserId)?.NAME; + curentTask.SOURCE_FORMCODE = approve.APPROVE_CODE; + notices.Add(curentTask); + } var sendUserIds = new List(); var curentApprove = appdetails.FirstOrDefault(i => i.APPROVE_USER_ID == applyUserId); if (curentApprove != null) From 0d88654fdb552e2fdadbd89c4e3568f84b7b8296 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Tue, 26 May 2026 11:19:21 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/NotificationTaskController.cs | 10 ++-- .../ChangeShiftRecordController.cs | 57 +++++++++++++++++++ 2 files changed, 62 insertions(+), 5 deletions(-) diff --git a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/NotificationTaskController.cs b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/NotificationTaskController.cs index bea710d..2f74254 100644 --- a/APT.MicroApi/APT.FM.WebApi/Controllers/Api/NotificationTaskController.cs +++ b/APT.MicroApi/APT.FM.WebApi/Controllers/Api/NotificationTaskController.cs @@ -268,8 +268,10 @@ namespace APT.FM.WebApi.Controllers.Api { var result = new PagedActionResult(); var loginUserId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID; - var admiId = this.GetEntity(t => t.CODE == "admin")?.ID; - if (loginUserId == null || loginUserId == admiId) + var loginDepartmentId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; + var admiId = this.GetEntity(t => t.CODE == "admin")?.ID; + var depart = this.GetEntity(loginDepartmentId.ToString()); + if (loginUserId == null || loginUserId == admiId ||(depart!=null && depart.DEPARTMENT_TYPE == 5)) { DataOrder order2 = new DataOrder(); order2.Field = "TASK_STARTDT"; @@ -279,10 +281,8 @@ namespace APT.FM.WebApi.Controllers.Api } else { - var loginDepartmentId = this.GetEntity(loginUserId.ToString())?.DEPARTMENT_ID; - if (loginDepartmentId != null) + if (depart != null) { - var depart = this.GetEntity(loginDepartmentId.ToString()); if (depart.DEPARTMENT_TYPE == 20 && depart.USER_ID != loginUserId) { DataOrder order2 = new DataOrder(); diff --git a/APT.MicroApi/APT.FO.WebApi/Controllers/ChangeShiftRecordController.cs b/APT.MicroApi/APT.FO.WebApi/Controllers/ChangeShiftRecordController.cs index ef83d02..f963571 100644 --- a/APT.MicroApi/APT.FO.WebApi/Controllers/ChangeShiftRecordController.cs +++ b/APT.MicroApi/APT.FO.WebApi/Controllers/ChangeShiftRecordController.cs @@ -244,6 +244,50 @@ namespace APT.FO.WebApi.Controllers.Api.FO else { pageFilter.IgnoreDataRule = false; + } + var curUser = ""; var changeDept = ""; var changeUser = ""; + if (pageFilter != null && pageFilter.FilterGroup != null && pageFilter.FilterGroup.Groups != null) + { + foreach (var item in pageFilter.FilterGroup.Groups) + { + var curUserTemp = item.Rules.FirstOrDefault(t => t.Field == "CURRENT_USER"); + if (curUserTemp != null) + { + curUser = curUserTemp.Value.ToString(); + item.Rules.Remove(curUserTemp); + } + var changeDeptTemp = item.Rules.FirstOrDefault(t => t.Field == "CHANGE_DEPART"); + if (changeDeptTemp != null) + { + changeDept = changeDeptTemp.Value.ToString(); + item.Rules.Remove(changeDeptTemp); + } + var changeUserTemp = item.Rules.FirstOrDefault(t => t.Field == "CHANGE_USER"); + if (changeUserTemp != null) + { + changeUser = changeUserTemp.Value.ToString(); + item.Rules.Remove(changeUserTemp); + } + } + var rules = pageFilter.FilterGroup.Rules.ToList(); + foreach (var item in rules) + { + if (item.Field == "CURRENT_USER") + { + curUser = item.Value.ToString(); + pageFilter.FilterGroup.Rules.Remove(item); + } + if (item.Field == "CHANGE_DEPART") + { + changeDept = item.Value.ToString(); + pageFilter.FilterGroup.Rules.Remove(item); + } + if (item.Field == "CHANGE_USER") + { + changeUser = item.Value.ToString(); + pageFilter.FilterGroup.Rules.Remove(item); + } + } } result = this.GetOrderPageEntities(null, pageFilter); //else @@ -280,6 +324,19 @@ namespace APT.FO.WebApi.Controllers.Api.FO } } } + if (!string.IsNullOrEmpty(curUser)) + { + result.Data = result.Data.Where(t=>t.CURRENT_USER.Contains(curUser)).ToList(); + } + if (!string.IsNullOrEmpty(changeDept)) + { + result.Data = result.Data.Where(t => t.CHANGE_DEPART.Contains(changeDept)).ToList(); + } + if (!string.IsNullOrEmpty(changeUser)) + { + result.Data = result.Data.Where(t => t.CHANGE_USER.Contains(changeUser)).ToList(); + } + result.TotalCount = result.Data.Count(); } return result; }