From 8404623780c7d5a99663305d56856f8c7aaf8cd2 Mon Sep 17 00:00:00 2001
From: wyw <571921741@qq.com>
Date: Fri, 6 Sep 2024 14:54:53 +0800
Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=20=20=E5=AE=89=E5=85=A8?=
=?UTF-8?q?=E6=A3=80=E6=9F=A5=E6=AC=A1=E6=95=B0=E7=BB=9F=E8=AE=A1=20?=
=?UTF-8?q?=E6=9C=88=E5=BA=A6=E9=9A=90=E6=82=A3=E6=95=B4=E6=94=B9=E6=83=85?=
=?UTF-8?q?=E5=86=B5=201=E3=80=81=E5=8E=BB=E9=99=A4=E7=94=9F=E4=BA=A7?=
=?UTF-8?q?=E5=8D=95=E5=85=83=202=E3=80=81=E6=98=BE=E7=A4=BA=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF=20=E4=BF=AE=E6=94=B9=E4=B8=BA=20=E9=83=A8=E9=97=A8+?=
=?UTF-8?q?=E7=8F=AD=E7=BB=84=20=E4=B9=8B=E5=89=8D=E5=8F=AA=E6=9C=89?=
=?UTF-8?q?=E9=83=A8=E9=97=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Services/BI/BIHomeService.cs | 45 +++++---
APT.MS.Domain/IServices/BI/IBIHomeService.cs | 3 +-
.../Api/BIController/BIHomeController.cs | 105 +++++++++---------
3 files changed, 87 insertions(+), 66 deletions(-)
diff --git a/APT.BaseData.Services/Services/BI/BIHomeService.cs b/APT.BaseData.Services/Services/BI/BIHomeService.cs
index 883746a..5499c43 100644
--- a/APT.BaseData.Services/Services/BI/BIHomeService.cs
+++ b/APT.BaseData.Services/Services/BI/BIHomeService.cs
@@ -9,6 +9,7 @@ using APT.BaseData.Domain.Entities.FM;
using APT.MS.Domain.Entities.BS;
using System.Linq.Expressions;
using System.Linq;
+using APT.BaseData.Domain.Enums;
namespace APT.BaseData.Services.Services.BI
{
@@ -71,17 +72,19 @@ namespace APT.BaseData.Services.Services.BI
/// 查询部门
/// 提前月份
///
- public IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5)
+ public IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5, FMDepartmentType? DEPARTMENT_TYPE = null)
{
- if (listDep == null || listDep.Count < 1)
- {
- return new List();
- }
+ //if (listDep == null || listDep.Count < 1)
+ //{
+ // return new List();
+ //}
DateTime dtMin = DateTime.Now.AddMonths(-1 * MonthBefo.Value);
-
- List listDepID = listDep.Select(e => e.ID).ToList();
-
+ List listDepID = null;
+ if (listDep != null && listDep.Count > 0)
+ {
+ listDepID = listDep.Select(e => e.ID).ToList();
+ }
Expression> expression = e => e.TYPE == BSCaculateType.RiskCorrect;
if (dtMin.Year == DateTime.Now.Year)
{
@@ -91,11 +94,17 @@ namespace APT.BaseData.Services.Services.BI
{
expression = expression.And(e => ((e.YEAR == dtMin.Year && e.MONTH >= dtMin.Month) || e.YEAR > dtMin.Year));
}
- if (listDepID.Count > 1)
- expression = expression.And(e => listDepID.Contains(e.DEPARTMENT_ID));
- else
- expression = expression.And(e => e.DEPARTMENT_ID == listDepID[0]);
-
+ if (DEPARTMENT_TYPE.HasValue)
+ {
+ expression = expression.And(e => e.DEPARTMENT_TYPE == DEPARTMENT_TYPE);
+ }
+ if (listDepID != null)
+ {
+ if (listDepID.Count > 1)
+ expression = expression.And(e => listDepID.Contains(e.DEPARTMENT_ID));
+ else
+ expression = expression.And(e => e.DEPARTMENT_ID == listDepID[0]);
+ }
BaseFilter filterR = new BaseFilter();
filterR.OrgId = OrgID;
//filterR.Order = DbOrder.ASC;
@@ -109,9 +118,15 @@ namespace APT.BaseData.Services.Services.BI
foreach (var item in listReason)
{
item.SOURCENAME = ((BSCorrectType)item.SOURCEVAL).GetDescription();
- item.DEPARTMENTNAME = listDep.First(e => e.ID == item.DEPARTMENT_ID).NAME;
+ if (listDep != null && listDep.Count > 0)
+ {
+ item.DEPARTMENTNAME = listDep.First(e => e.ID == item.DEPARTMENT_ID).NAME;
+ }
+ else
+ {
+ item.DEPARTMENTNAME = "公司级";
+ }
}
-
return listReason;
}
diff --git a/APT.MS.Domain/IServices/BI/IBIHomeService.cs b/APT.MS.Domain/IServices/BI/IBIHomeService.cs
index 9a481c4..fb6707b 100644
--- a/APT.MS.Domain/IServices/BI/IBIHomeService.cs
+++ b/APT.MS.Domain/IServices/BI/IBIHomeService.cs
@@ -1,4 +1,5 @@
using APT.BaseData.Domain.Entities.FM;
+using APT.BaseData.Domain.Enums;
using APT.MS.Domain.Entities.BI;
using System;
using System.Collections.Generic;
@@ -22,7 +23,7 @@ namespace APT.BaseData.Domain.IServices.BI
/// 查询部门
/// 提前月份
///
- IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5);
+ IEnumerable GetHomeCorrect(Guid? OrgID, List listDep, int? MonthBefo = 5, FMDepartmentType? DEPARTMENT_TYPE = null);
///
diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs
index 8a8526f..8abc55b 100644
--- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs
+++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIHomeController.cs
@@ -8,6 +8,7 @@ using System.Linq;
using APT.Utility;
using APT.MS.Domain.Entities.BI;
using APT.BaseData.Domain.IServices.BI;
+using APT.BaseData.Domain.Enums;
namespace APT.SC.WebApi.Controllers.Api.BI
{
@@ -642,7 +643,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
#region //月度 隐患整改情况
- List listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, listDep).ToList();
+ List listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, null, 5, FMDepartmentType.公司).ToList();//listDep
string Val = string.Empty;// 0 ,1,2,3
//string NameMonth = dtNow.AddMonths(-5).Month.ToString() + "月," + dtNow.AddMonths(-4).Month.ToString() + "月," + dtNow.AddMonths(-3).Month.ToString() + "月," + dtNow.AddMonths(-2).Month.ToString() + "月," + dtNow.AddMonths(-1).Month.ToString() + "月," + dtNow.Month.ToString() + "月";
string NameMonth = dtNow.AddMonths(-5).ToString("yyyy-MM") + "," + dtNow.AddMonths(-4).ToString("yyyy-MM") + "," + dtNow.AddMonths(-3).ToString("yyyy-MM") + "," + dtNow.AddMonths(-2).ToString("yyyy-MM") + "," + dtNow.AddMonths(-1).ToString("yyyy-MM") + "," + dtNow.ToString("yyyy-MM");
@@ -894,18 +895,21 @@ namespace APT.SC.WebApi.Controllers.Api.BI
//filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
//var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, filterD, null);//部门就可以了 因为都相向 统计了
- if (listDep != null && listDep.Any())
- {
+
+ var listDep1MineTypeBMBZ = GetEntities(t => t.DEPARTMENT_TYPE == 0|| t.DEPARTMENT_TYPE == 2, null, null); //FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
+
+ if (listDep1MineTypeBMBZ != null && listDep1MineTypeBMBZ.Any())
+ {
List ListSafeCheckYearMonth = new List();
int befoMonth = 12;
- List ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep.ToList(), befoMonth).ToList();
+ List ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep1MineTypeBMBZ.ToList(), befoMonth).ToList();
var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList();
//var enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
//if (enums != null)
//{
//var listTypeMine = GetEntities(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null);
- var listTypeMine = GetEntities(e => 1 == 1, null, null);
+ var listTypeMine = GetEntities(null, null, null);
if (listTypeMine != null && listTypeMine.Any())
{
var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value);
@@ -1013,17 +1017,17 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{
//按生产单元 获取数据
HomeDetailSafeCheckCountMonth result = new HomeDetailSafeCheckCountMonth();
- if (string.IsNullOrEmpty(filter.Keyword))
- {
- return result;
- }
- int MineType = int.Parse(filter.Keyword);
+ //if (string.IsNullOrEmpty(filter.Keyword))
+ //{
+ // return result;
+ //}
+ //int MineType = int.Parse(filter.Keyword);
BaseFilter filterD = new BaseFilter(filter.OrgId);
filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
- var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null);
+ var listDep1MineType = GetEntities(t => t.MineType.HasValue && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null);//&& t.MineType == MineType
//FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
if (listDep1MineType == null || !listDep1MineType.Any())
{
@@ -1044,22 +1048,22 @@ namespace APT.SC.WebApi.Controllers.Api.BI
if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1)
{
//深度查找 部门 MineType 只能存一个值
- enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
- if (enums == null)
- {
- throw new Exception("获取生产类型失败");
- }
+ //enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
+ //if (enums == null)
+ //{
+ // throw new Exception("获取生产类型失败");
+ //}
- var listDepID = GetEntities(e => e.ENUMS_ID == enums.ID, null, null).Select(e => e.DEPARTMENT_ID);
- if (listDepID != null && listDepID.Any())
+ //var listDepID = GetEntities(e => e.ENUMS_ID == enums.ID, null, null).Select(e => e.DEPARTMENT_ID);
+ //if (listDepID != null && listDepID.Any())
+ //{
+ listDep1MineType = GetEntities(t => (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null);// listDepID.Contains(t.ID) &&
+ if (listDep1MineType != null && listDep1MineType.Any())
{
- listDep1MineType = GetEntities(t => listDepID.Contains(t.ID) && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null);
- if (listDep1MineType != null && listDep1MineType.Any())
- {
- listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 1).ToList();
- listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 2).ToList();
- }
+ listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 1).ToList();
+ listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 2).ToList();
}
+ //}
}
if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1)
@@ -1072,26 +1076,27 @@ namespace APT.SC.WebApi.Controllers.Api.BI
List ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep1MineType.ToList(), befoMonth).ToList();
var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList();
- if (enums == null)
- {
- enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
- }
- if (enums != null)
- {
- var listTypeMine = GetEntities(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null);
- if (listTypeMine != null && listTypeMine.Any())
- {
- var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value);
- for (int i = 0; i < listCheckTypeIDT.Count; i++)
- {
- if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i]))
- {
- listCheckTypeIDT.RemoveAt(i);
- i--;
- }
- }
- }
- }
+
+ //if (enums == null)
+ //{
+ // enums = GetEntity(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
+ //}
+ //if (enums != null)
+ //{
+ //var listTypeMine = GetEntities(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null);
+ //if (listTypeMine != null && listTypeMine.Any())
+ //{
+ // var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value);
+ // for (int i = 0; i < listCheckTypeIDT.Count; i++)
+ // {
+ // if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i]))
+ // {
+ // listCheckTypeIDT.RemoveAt(i);
+ // i--;
+ // }
+ // }
+ //}
+ //}
var listCheckType = GetEntities(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList();
@@ -1254,11 +1259,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{
//按生产单元 获取数据
HomeDetailRiskCountMonth result = new HomeDetailRiskCountMonth();
- if (string.IsNullOrEmpty(filter.Keyword))
- {
- return result;
- }
- int MineType = int.Parse(filter.Keyword);
+ //if (string.IsNullOrEmpty(filter.Keyword))
+ //{
+ // return result;
+ //}
+ //int MineType = int.Parse(filter.Keyword);
BaseFilter filterD = new BaseFilter(filter.OrgId);
filterD.SelectField = new List { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
@@ -1266,7 +1271,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
///部门
//var listDep1MineTypeSum = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, filterD, null);
///车间 班组
- var listDep1MineType = GetEntities(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2 || t.DEPARTMENT_TYPE == 0), filterD, null);
+ var listDep1MineType = GetEntities(t => t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2 || t.DEPARTMENT_TYPE == 0, filterD, null);//t.MineType.HasValue && (&& t.MineType == MineType)
//FMDepartmentType 部门=0, 车间=1, 班组=2, 公司=3
if (listDep1MineType == null || !listDep1MineType.Any())