From 7715352579d9d48c28f8f2dad12f2b4fff1c4e4a Mon Sep 17 00:00:00 2001
From: fei550 <1420031550@qq.com>
Date: Thu, 2 Apr 2026 11:55:50 +0800
Subject: [PATCH 1/7] =?UTF-8?q?=E7=84=8A=E6=8E=A5=E4=BB=BB=E5=8A=A1?=
=?UTF-8?q?=E5=8D=95=E7=94=9F=E6=88=90=E5=87=BA=E5=BA=93=E7=94=B3=E8=AF=B7?=
=?UTF-8?q?=E5=8D=95=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
SGGL/BLL/CLGL/TwInOutplanmasterService.cs | 4 ++--
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 2 +-
.../HJGL/WeldingManage/WeldTask.aspx.cs | 2 --
.../HiddenRectificationList.aspx | 1 +
.../common/mainMenu_HJGL3.aspx.cs | 19 +++++++++++--------
5 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/SGGL/BLL/CLGL/TwInOutplanmasterService.cs b/SGGL/BLL/CLGL/TwInOutplanmasterService.cs
index 39b09813..94db0e6a 100644
--- a/SGGL/BLL/CLGL/TwInOutplanmasterService.cs
+++ b/SGGL/BLL/CLGL/TwInOutplanmasterService.cs
@@ -750,7 +750,7 @@ namespace BLL
ProjectId = weldTask.ProjectId,
// CusBillCode = string.Format("{0:yyyyMMdd}", DateTime.Now) + UnitService.GetUnitCodeByUnitId(weldTask.UnitId) + "-" + UnitWorkService.getUnitWorkByUnitWorkId(weldTask.UnitWorkId)?.UnitWorkCode + "AP-PF01",
CusBillCode = TwInOutplanmasterService.GetCusBillCodeByTaskCode(weldTaskCode, TwConst.TypeInt.领料出库, TwConst.Category.管件),
- WarehouseCode = PipelineService.GetPipeArea().Where(x => x.Value == PipelineService.GetPipelineByPipelineId(weldTask.PipelineId).PipeArea).Select(x => x.Text).FirstOrDefault(),
+ WarehouseCode = BLL.Base_WarehouseService.GetWarehouseByWarehouseId(PipelineService.GetPipelineByPipelineId(weldTask.PipelineId).WarehouseId).WarehouseName,
Source = 1,
InOutType = (int)TwConst.InOutType.出库,
TypeInt = (int)TwConst.TypeInt.领料出库,
@@ -789,7 +789,7 @@ namespace BLL
Id = Guid.NewGuid().ToString(),
ProjectId = weldTask.ProjectId,
CusBillCode = TwInOutplanmasterService.GetCusBillCodeByTaskCode(weldTaskCode, TwConst.TypeInt.领料出库, TwConst.Category.管段),
- WarehouseCode = PipelineService.GetPipeArea().Where(x => x.Value == PipelineService.GetPipelineByPipelineId(weldTask.PipelineId).PipeArea).Select(x => x.Text).FirstOrDefault(),
+ WarehouseCode = BLL.Base_WarehouseService.GetWarehouseByWarehouseId(PipelineService.GetPipelineByPipelineId(weldTask.PipelineId).WarehouseId).WarehouseName,
Source = 1,
InOutType = (int)TwConst.InOutType.出库,
TypeInt = (int)TwConst.TypeInt.领料出库,
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 223f44ea..11586171 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -17017,7 +17017,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldTask.aspx.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldTask.aspx.cs
index 01992a81..15d9cfe6 100644
--- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldTask.aspx.cs
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldTask.aspx.cs
@@ -1316,8 +1316,6 @@ namespace FineUIPro.Web.HJGL.WeldingManage
}
}
-
-
protected void btnPrintJoint_Click(object sender, EventArgs e)
{
var rows = Grid1.SelectedRowIndexArray;
diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationList.aspx b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationList.aspx
index 953968eb..84c16e77 100644
--- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationList.aspx
+++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationList.aspx
@@ -69,6 +69,7 @@
+
<%--
--%>
diff --git a/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs
index f5ee4fe7..bcea3b54 100644
--- a/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs
+++ b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs
@@ -51,11 +51,11 @@ namespace FineUIPro.Web.common
this.tvControlItem.Nodes.Add(rootNode2);
// 优化:一次性获取所有管线统计数据,避免 N+1 查询
- var pipelineCountByUnitWork = (from x in Funs.DB.HJGL_Pipeline
+ var pipelineCountByUnitWork = (from x in Funs.DB.View_HJGL_Pipeline
where x.ProjectId == this.CurrUser.LoginProjectId
group x by x.UnitWorkId into g
- select new { UnitWorkId = g.Key, Count = g.Count() })
- .ToDictionary(x => x.UnitWorkId, x => x.Count);
+ select new { UnitWorkId = g.Key, Count = g.Count(), TotalDin = g.Sum(x => x.TotalDin) })
+ .ToDictionary(x => x.UnitWorkId, x => new { x.Count, x.TotalDin });
var pUnits = (from x in Funs.DB.Project_ProjectUnit where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
// 获取当前用户所在单位
@@ -74,14 +74,15 @@ namespace FineUIPro.Web.common
if (unitWork1.Count() > 0)
{
- foreach (var q in unitWork1)
+ foreach (var q in unitWork1)
{
// 优化:从内存字典中获取管线数量,避免数据库查询
- int a = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId] : 0;
+ int a = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId].Count : 0;
+ decimal totalDia = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId].TotalDin ?? 0 : 0;
var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
TreeNode tn1 = new TreeNode();
tn1.NodeID = q.UnitWorkId;
- tn1.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线";
+ tn1.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线" + "(总达因:" + totalDia.ToString() + ")";
tn1.ToolTip = "施工单位:" + unitNamesUnitIds;
tn1.EnableClickEvent = true;
rootNode1.Nodes.Add(tn1);
@@ -92,11 +93,13 @@ namespace FineUIPro.Web.common
foreach (var q in unitWork2)
{
// 优化:从内存字典中获取管线数量,避免数据库查询
- int a = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId] : 0;
+ int a = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId].Count : 0;
+ decimal totalDia = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId].TotalDin??0 : 0;
+
var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
TreeNode tn2 = new TreeNode();
tn2.NodeID = q.UnitWorkId;
- tn2.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线";
+ tn2.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线" + "(总达因:" + totalDia.ToString() + ")";
tn2.ToolTip = "施工单位:" + unitNamesUnitIds;
tn2.EnableClickEvent = true;
rootNode2.Nodes.Add(tn2);
From 2e16ebb9d30f0bc93792da815d67ba58fa843a80 Mon Sep 17 00:00:00 2001
From: fei550 <1420031550@qq.com>
Date: Thu, 2 Apr 2026 15:47:47 +0800
Subject: [PATCH 2/7] =?UTF-8?q?fix:=E7=84=8A=E6=8E=A5=E4=BB=BB=E5=8A=A1?=
=?UTF-8?q?=E5=8D=95=E6=89=93=E5=8D=B0=E6=9D=90=E6=96=99=E5=8C=B9=E9=85=8D?=
=?UTF-8?q?=E7=8E=87=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
SGGL/BLL/CLGL/TwArrivalStatisticsService.cs | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/SGGL/BLL/CLGL/TwArrivalStatisticsService.cs b/SGGL/BLL/CLGL/TwArrivalStatisticsService.cs
index 85306403..5ac03dab 100644
--- a/SGGL/BLL/CLGL/TwArrivalStatisticsService.cs
+++ b/SGGL/BLL/CLGL/TwArrivalStatisticsService.cs
@@ -1,5 +1,6 @@
using Model;
+using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -125,9 +126,7 @@ namespace BLL
{
var twPipeMatMatchOutputs = new List();
var pipelineModel = PipelineService.GetPipelineByPipelineId(pipelineId);
- string warehouseCode = PipelineService
- .GetPipeArea().FirstOrDefault(x => x.Value == pipelineModel.PipeArea.ToString())
- ?.Text;
+ string warehouseCode = BLL.Base_WarehouseService.GetWarehouseByWarehouseId(PipelineService.GetPipelineByPipelineId(pipelineModel.PipelineId).WarehouseId).WarehouseName;
// 获取所需材料列表
var requiredMaterials = (from x in db.HJGL_PipeLineMat
join y in db.HJGL_MaterialCodeLib on x.MaterialCode equals y.MaterialCode
@@ -152,7 +151,9 @@ namespace BLL
).ToList();
twPipeMatMatchOutputs = GetMatMatchOutput(requiredMaterials, warehouseCode, pipelineModel.ProjectId);
- var result = twPipeMatMatchOutputs.Count == 0 ? 0 : twPipeMatMatchOutputs.Sum(x => x.MatchRate) / twPipeMatMatchOutputs.Count;
+ var result = twPipeMatMatchOutputs.Any()
+ ? twPipeMatMatchOutputs.Average(x => x.MatchRate)
+ : 0;
return result;
}
}
From c31c70a82870d6f7e35d02d661b4251b2cd87a33 Mon Sep 17 00:00:00 2001
From: fei550 <1420031550@qq.com>
Date: Fri, 3 Apr 2026 00:46:38 +0800
Subject: [PATCH 3/7] 1
---
SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs | 31 +++++++++++++------
.../common/mainMenu_HJGL3.aspx.cs | 9 +++---
2 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs
index a2455755..3b0232d4 100644
--- a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs
+++ b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs
@@ -280,17 +280,28 @@ namespace FineUIPro.Web.CLGL
}
string planId = Grid1.SelectedRowID;
var planMaster = BLL.TwInOutplanmasterService.GetById(planId);
- if (planMaster.State != (int)TwConst.State.已完成)
+ switch (planMaster.State)
{
- Alert.ShowInTop("请选择有效的计划!", MessageBoxIcon.Warning);
- return;
- }
- else
- {
- TwInputmasterService.RevokeGenInMasterByPlanId(planId);
- BindGrid();
- ShowNotify("撤销入库单成功!", MessageBoxIcon.Success);
- }
+ case (int)TwConst.State.已审核:
+ planMaster.State= (int)TwConst.State.待审核;
+ planMaster.AuditMan = null;
+ planMaster.AuditDate = null;
+ TwInOutplanmasterService.Update(planMaster);
+ BindGrid();
+ ShowNotify("撤销审核成功!", MessageBoxIcon.Success);
+
+ break;
+ case (int)TwConst.State.已完成:
+ TwInputmasterService.RevokeGenInMasterByPlanId(planId);
+ BindGrid();
+ ShowNotify("撤销入库单成功!", MessageBoxIcon.Success);
+ break;
+
+
+ default:
+ Alert.ShowInTop("请选择有效的计划!", MessageBoxIcon.Warning);
+ break;
+ }
}
protected void btnSearch_Click(object sender, EventArgs e)
diff --git a/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs
index bcea3b54..e96b1dee 100644
--- a/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs
+++ b/SGGL/FineUIPro.Web/common/mainMenu_HJGL3.aspx.cs
@@ -78,11 +78,10 @@ namespace FineUIPro.Web.common
{
// 优化:从内存字典中获取管线数量,避免数据库查询
int a = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId].Count : 0;
- decimal totalDia = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId].TotalDin ?? 0 : 0;
var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
TreeNode tn1 = new TreeNode();
tn1.NodeID = q.UnitWorkId;
- tn1.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线" + "(总达因:" + totalDia.ToString() + ")";
+ tn1.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线" ;
tn1.ToolTip = "施工单位:" + unitNamesUnitIds;
tn1.EnableClickEvent = true;
rootNode1.Nodes.Add(tn1);
@@ -94,12 +93,10 @@ namespace FineUIPro.Web.common
{
// 优化:从内存字典中获取管线数量,避免数据库查询
int a = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId].Count : 0;
- decimal totalDia = pipelineCountByUnitWork.ContainsKey(q.UnitWorkId) ? pipelineCountByUnitWork[q.UnitWorkId].TotalDin??0 : 0;
-
var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
TreeNode tn2 = new TreeNode();
tn2.NodeID = q.UnitWorkId;
- tn2.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线" + "(总达因:" + totalDia.ToString() + ")";
+ tn2.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线" ;
tn2.ToolTip = "施工单位:" + unitNamesUnitIds;
tn2.EnableClickEvent = true;
rootNode2.Nodes.Add(tn2);
@@ -260,6 +257,7 @@ JointData AS (
j.Size,
j.WeldingDailyId,
j.JointAttribute,
+ j.PipelineId,
p.PipeArea,
p.UnitWorkId
FROM dbo.HJGL_WeldJoint j
@@ -326,6 +324,7 @@ JointData AS (
j.Size,
j.WeldingDailyId,
j.JointAttribute,
+ j.PipelineId,
p.PipeArea,
p.UnitWorkId
FROM dbo.HJGL_WeldJoint j
From aa7f9f949942d86591872d1e14535d463d155679 Mon Sep 17 00:00:00 2001
From: fei550 <1420031550@qq.com>
Date: Fri, 3 Apr 2026 09:32:00 +0800
Subject: [PATCH 4/7] =?UTF-8?q?=E5=AE=89=E5=85=A8=E5=B7=A1=E6=A3=80?=
=?UTF-8?q?=E9=97=AA=E9=80=80bug=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../HSSE_Hazard_HazardRegisterService.cs | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/SGGL/BLL/HSSE/HiddenInspection/HSSE_Hazard_HazardRegisterService.cs b/SGGL/BLL/HSSE/HiddenInspection/HSSE_Hazard_HazardRegisterService.cs
index 6c23875f..c89a0a70 100644
--- a/SGGL/BLL/HSSE/HiddenInspection/HSSE_Hazard_HazardRegisterService.cs
+++ b/SGGL/BLL/HSSE/HiddenInspection/HSSE_Hazard_HazardRegisterService.cs
@@ -45,7 +45,10 @@ namespace BLL
public static IEnumerable getListData(string projectId, string checkMan, string type, string workAreaName, string responsibilityUnitName, DateTime? startTime, DateTime? endTime, DateTime? startRectificationTime, DateTime? endRectificationTime
, string states, string personId, string unitId, Grid Grid1)
{
- IQueryable getDataList = getDataLists;
+ var db= Funs.DB;
+ IQueryable getDataList = from x in db.View_Hazard_HazardRegisterList
+ where x.ProblemTypes == "1"
+ select x;
if (!string.IsNullOrEmpty(projectId))
{
getDataList = getDataList.Where(e => e.ProjectId == projectId);
@@ -101,7 +104,7 @@ namespace BLL
return null;
}
getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
- return from x in getDataList
+ return (from x in getDataList
select new
{
x.HazardRegisterId,
@@ -122,7 +125,7 @@ namespace BLL
x.CheckManName,
x.RegisterDate,
x.StatesStr,
- };
+ }).ToList();
}
#endregion
From 15b3c87ac1c4cf4a496def63cba87a1de5c899b2 Mon Sep 17 00:00:00 2001
From: fei550 <1420031550@qq.com>
Date: Fri, 3 Apr 2026 18:54:02 +0800
Subject: [PATCH 5/7] 1
---
SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs | 11 ++++-------
.../FineUIPro.Web/HSSE/License/LicenseManager.aspx.cs | 2 +-
2 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs b/SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs
index 54997fca..a8c215a7 100644
--- a/SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs
+++ b/SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs
@@ -18,12 +18,8 @@ namespace BLL
{
get;
set;
- }
-
- ///
- /// 定义变量
- ///
- private static IQueryable getDataLists = from x in Funs.DB.SitePerson_PersonInOut select x;
+ }
+
///
/// 获取分页列表
@@ -37,7 +33,8 @@ namespace BLL
///
public static IEnumerable getListData(string projectId, string unitId, string name, string idCard, string inOutWay, DateTime? startDate, DateTime? endDate, Grid Grid1)
{
- IQueryable getDataList = getDataLists.Where(x => x.ProjectId == projectId && (inOutWay == "0" || x.InOutWay == inOutWay));
+ IQueryable getDataList = from x in Funs.DB.SitePerson_PersonInOut select x;
+ getDataList = getDataList.Where(x => x.ProjectId == projectId && (inOutWay == "0" || x.InOutWay == inOutWay));
if (!string.IsNullOrEmpty(unitId) && unitId != Const._Null)
{
getDataList = getDataList.Where(e => e.UnitId == unitId);
diff --git a/SGGL/FineUIPro.Web/HSSE/License/LicenseManager.aspx.cs b/SGGL/FineUIPro.Web/HSSE/License/LicenseManager.aspx.cs
index ab3efca6..2b960f06 100644
--- a/SGGL/FineUIPro.Web/HSSE/License/LicenseManager.aspx.cs
+++ b/SGGL/FineUIPro.Web/HSSE/License/LicenseManager.aspx.cs
@@ -64,7 +64,7 @@ namespace FineUIPro.Web.HSSE.License
///
private void BindGrid()
{
- string strSql = "SELECT LicenseManager.LicenseManagerId,LicenseManager.ProjectId,LicenseManager.LicenseTypeId,CodeRecords.Code AS LicenseManagerCode,LicenseManager.LicenseManageName,LicenseManager.UnitId,LicenseManager.LicenseManageContents,LicenseManager.CompileMan,LicenseManager.CompileDate,LicenseManager.States,LicenseManager.ProjectCode,LicenseManager.ProjectName,LicenseManager.LicenseTypeName,LicenseManager.UnitName,LicenseManager.PersonName,LicenseManager.WorkAreaName,LicenseManager.StartDate,LicenseManager.EndDate"
+ string strSql = "SELECT LicenseManager.LicenseManagerId,LicenseManager.ProjectId,LicenseManager.LicenseTypeId,CodeRecords.Code AS LicenseManagerCode,LicenseManager.LicenseManageName,LicenseManager.UnitId,LicenseManager.LicenseManageContents,LicenseManager.CompileMan,LicenseManager.CompileDate,LicenseManager.States,LicenseManager.ProjectCode,LicenseManager.ProjectName,LicenseManager.LicenseTypeName,LicenseManager.UnitName,LicenseManager.UserName,LicenseManager.WorkAreaName,LicenseManager.StartDate,LicenseManager.EndDate"
+ @" ,(CASE WHEN LicenseManager.States = " + BLL.Const.State_0 + " OR LicenseManager.States IS NULL THEN '待['+OperatePerson.PersonName+']提交' WHEN LicenseManager.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperatePerson.PersonName+']办理' END) AS FlowOperateName,LicenseManager.SourceDes"
+ @" FROM View_License_LicenseManager AS LicenseManager "
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON LicenseManager.LicenseManagerId=CodeRecords.DataId "
From f828ad7ac566d8c0d216ccb4206d644daca63931 Mon Sep 17 00:00:00 2001
From: 10191 <506754232@qq.com>
Date: Sat, 4 Apr 2026 19:39:16 +0800
Subject: [PATCH 6/7] 11
---
SGGL/BLL/API/APIPersonService.cs | 26 +++
.../BLL/HSSE/SitePerson/PersonInOutService.cs | 181 ++++++++++++++++++
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 2 +-
SGGL/Model/APIItem/PersonInOutItem.cs | 19 ++
SGGL/Model/Model.csproj | 1 +
SGGL/WebAPI/Controllers/PersonController.cs | 56 +++++-
6 files changed, 277 insertions(+), 8 deletions(-)
create mode 100644 SGGL/Model/APIItem/PersonInOutItem.cs
diff --git a/SGGL/BLL/API/APIPersonService.cs b/SGGL/BLL/API/APIPersonService.cs
index 7a24e5dc..5b573cf4 100644
--- a/SGGL/BLL/API/APIPersonService.cs
+++ b/SGGL/BLL/API/APIPersonService.cs
@@ -1508,5 +1508,31 @@ namespace BLL
return strValues;
}
+ public static string getStrTrainingTestRecordByPersonId(string personId)
+ {
+ string strValues = string.Empty;
+ var getDataLists = from x in Funs.DB.Training_TestRecord
+ join z in Funs.DB.Training_TestPlan on x.TestPlanId equals z.TestPlanId
+ where x.TestManId == personId
+ orderby z.PlanDate descending
+ select new
+ {
+ z.PlanName,
+ z.PlanDate,
+ CheckResultName = x.TestScores >=60 ? "合格" : "不合格",
+ z.TestPlanId,
+ };
+ if (getDataLists.Count() > 0)
+ {
+ foreach (var item in getDataLists)
+ {
+ string strV = string.Format("{0:yyyy-MM-dd HH:mm}", item.PlanDate) + " " + item.PlanName + " " + item.CheckResultName + ";";
+ strValues += strV;
+ }
+ }
+
+ return strValues;
+ }
+
}
}
\ No newline at end of file
diff --git a/SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs b/SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs
index 54997fca..fd3cb4c9 100644
--- a/SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs
+++ b/SGGL/BLL/HSSE/SitePerson/PersonInOutService.cs
@@ -1,4 +1,5 @@
using FineUIPro;
+using Model;
using System;
using System.Collections;
using System.Collections.Generic;
@@ -183,6 +184,88 @@ namespace BLL
}
}
}
+ public static void AddPersonInOut(List personInOutList)
+ {
+ using (Model.SGGLDB db1 = new Model.SGGLDB(Funs.ConnString))
+ {
+ List personIds = new List();
+ List newPersonInOutList = new List();
+ List needInsertPersonInOutList = new List();
+ foreach (var personInOut in personInOutList)
+ {
+ Model.SitePerson_PersonInOut newPersonInOut = new Model.SitePerson_PersonInOut
+ {
+ PersonInOutId = SQLHelper.GetNewID(),
+ IsIn = personInOut.IsIn ?? true,
+ ChangeTime = personInOut.ChangeTime,
+ InOutWay = personInOut.InOutWay ?? Const.InOutWay_Other,
+ WorkAreaId = personInOut.WorkAreaId,
+ WorkAreaName = personInOut.WorkAreaName,
+ OldID = personInOut.OldID,
+ Address = personInOut.Address,
+ Remark = personInOut.Remark,
+ };
+ if (!string.IsNullOrEmpty(personInOut.PersonId))
+ {
+ personIds.Add(personInOut.PersonId);
+ }
+ if (!string.IsNullOrEmpty(personInOut.IdentityCard))
+ {
+ personIds.Add(personInOut.IdentityCard);
+ }
+ newPersonInOutList.Add(personInOut);
+ }
+
+ List person_Peoples = new List();
+ person_Peoples.AddRange(db1.SitePerson_Person.Where(x => x.ProjectId == personInOutList[0].ProjectId && personIds.Contains(x.PersonId)).ToList());
+ person_Peoples.AddRange(db1.SitePerson_Person.Where(x => x.ProjectId == personInOutList[0].ProjectId && personIds.Contains(x.IdentityCard)).ToList());
+ foreach (var newPersonInOut in newPersonInOutList)
+ {
+ Model.SitePerson_Person getPerson = new Model.SitePerson_Person();
+ getPerson = person_Peoples.FirstOrDefault(x => x.PersonId == newPersonInOut.PersonId || x.IdentityCard == newPersonInOut.IdentityCard);
+ if (getPerson != null && !string.IsNullOrEmpty(getPerson.PersonId))
+ {
+ newPersonInOut.ProjectId = getPerson.ProjectId;
+ newPersonInOut.PersonId = getPerson.PersonId;
+ newPersonInOut.PersonName = getPerson.PersonName;
+ newPersonInOut.IdentityCard = getPerson.IdentityCard;
+ newPersonInOut.UnitId = getPerson.UnitId;
+ newPersonInOut.UnitName = UnitService.GetUnitNameByUnitId(getPerson.UnitId);
+ newPersonInOut.WorkPostId = getPerson.WorkPostId;
+ if (!string.IsNullOrEmpty(getPerson.WorkPostId))
+ {
+ var getWorkPost = WorkPostService.GetWorkPostById(getPerson.WorkPostId);
+ if (getWorkPost != null)
+ {
+ newPersonInOut.WorkPostName = getWorkPost.WorkPostName;
+ newPersonInOut.PostType = getWorkPost.PostType;
+ }
+ }
+ if (string.IsNullOrEmpty(newPersonInOut.WorkAreaName) && !string.IsNullOrEmpty(newPersonInOut.WorkAreaId))
+ {
+ newPersonInOut.WorkAreaName = UnitWorkService.GetUnitWorkName(newPersonInOut.WorkAreaId);
+ }
+ }
+
+ if (!getPerson.OutTime.HasValue || getPerson.OutTime > DateTime.Now)
+ {
+ //// 插入当日记录表
+ needInsertPersonInOutList.Add(newPersonInOut);
+ }
+ }
+ db1.SitePerson_PersonInOut.InsertAllOnSubmit(newPersonInOutList);
+ db1.SubmitChanges();
+
+ if (needInsertPersonInOutList.Count>0)
+ {
+ //// 插入当日记录表
+ PersonInOutService.InsertPersonInOutNowNow(needInsertPersonInOutList);
+ }
+ }
+
+ }
+
+
#endregion
#region 插入当日出入记录表
@@ -273,6 +356,104 @@ namespace BLL
}
}
}
+ public static void InsertPersonInOutNowNow(List PersonInOuts)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ List unitIds = new List();
+ List newPersonInOutList = new List();
+ foreach (var PersonInOut in PersonInOuts)
+ {
+ Model.SitePerson_PersonInOutNow newPersonInOut = new Model.SitePerson_PersonInOutNow
+ {
+ PersonInOutId = PersonInOut.PersonInOutId,
+ ProjectId = PersonInOut.ProjectId,
+ UnitId = PersonInOut.UnitId,
+ UnitName = PersonInOut.UnitName,
+ PersonId = PersonInOut.PersonId,
+ PersonName = PersonInOut.PersonName,
+ IsIn = PersonInOut.IsIn,
+ ChangeTime = PersonInOut.ChangeTime,
+ WorkPostId = PersonInOut.WorkPostId,
+ WorkPostName = PersonInOut.WorkPostName,
+ PostType = PersonInOut.PostType,
+ Name = PersonInOut.PersonName,
+ IdentityCard = PersonInOut.IdentityCard,
+ IdcardNumber = PersonInOut.IdentityCard,
+ CheckType = "ZHENGCHANG_KAOQINLEIBIE",
+ CheckWay = "FACE_FANGSHI",
+ InOutWay = PersonInOut.InOutWay,
+ Address = PersonInOut.Address,
+ Remark = PersonInOut.Remark,
+ };
+ unitIds.Add(PersonInOut.UnitId);
+ newPersonInOutList.Add(newPersonInOut);
+ }
+ db.SitePerson_PersonInOutNow.InsertAllOnSubmit(newPersonInOutList);
+ db.SubmitChanges();
+
+ string proCode = ProjectService.GetContractNoByProjectId(PersonInOuts[0].ProjectId);
+ var getRealNameP = db.RealName_Project.FirstOrDefault(x => x.ProCode == proCode);
+
+ /// 监理 业主 不进入
+ var getPUnitS = db.Project_ProjectUnit.Where(x => x.ProjectId == PersonInOuts[0].ProjectId && unitIds.Contains(x.UnitId)).ToList();
+
+ foreach (var newPersonInOut in newPersonInOutList)
+ {
+ var getPUnit = getPUnitS.FirstOrDefault(x => x.UnitId == newPersonInOut.UnitId);
+ if (getPUnit.UnitType != Const.ProjectUnitType_3 && getPUnit.UnitType != Const.ProjectUnitType_4 && getPUnit.IsSynchro == true)
+ {
+ if (getRealNameP != null && newPersonInOut.ChangeTime.HasValue)
+ {
+ var getNow = db.RealName_PersonInOutNow.FirstOrDefault(x => x.PersonInOutId == newPersonInOut.PersonInOutId);
+ if (getNow == null)
+ {
+ int hour = newPersonInOut.ChangeTime.Value.Hour;
+ bool isIn = newPersonInOut.IsIn ?? true;
+ DateTime date = newPersonInOut.ChangeTime.Value;
+ var getMorning = db.RealName_PersonInOutNow.FirstOrDefault(x => x.PersonId == newPersonInOut.PersonId
+ && ((x.ChangeTime.Value.Hour < 12 && hour < 12) || (x.ChangeTime.Value.Hour >= 12 && hour >= 12))
+ && x.ChangeTime >= date.Date && x.ChangeTime.Value < date.Date.AddDays(1)
+ && ((x.IsIn == true && x.ChangeTime < date) || (x.IsIn == false && x.ChangeTime > date)));
+ if (getMorning == null)
+ {
+ Model.RealName_PersonInOutNow newR = new Model.RealName_PersonInOutNow
+ {
+ PersonInOutId = newPersonInOut.PersonInOutId,
+ ProjectId = newPersonInOut.ProjectId,
+ UnitId = newPersonInOut.UnitId,
+ PersonId = newPersonInOut.PersonId,
+ IsIn = newPersonInOut.IsIn,
+ ChangeTime = newPersonInOut.ChangeTime,
+ WorkPostId = newPersonInOut.WorkPostId,
+ PostType = newPersonInOut.PostType,
+ ProCode = proCode,
+ Name = newPersonInOut.PersonName,
+ IdcardType = "SHENFEN_ZHENGJIAN",
+ IdcardNumber = newPersonInOut.IdentityCard,
+ CheckType = "ZHENGCHANG_KAOQINLEIBIE",
+ CheckWay = "FACE_FANGSHI",
+ };
+ db.RealName_PersonInOutNow.InsertOnSubmit(newR);
+
+ }
+ }
+ }
+ }
+ }
+ db.SubmitChanges();
+ var getLastList = from x in db.SitePerson_PersonInOutNow
+ where x.ChangeTime <= PersonInOuts[0].ChangeTime.Value.AddHours(-48)
+ select x;
+ if (getLastList.Count() > 0)
+ {
+ db.SitePerson_PersonInOutNow.DeleteAllOnSubmit(getLastList);
+ db.SubmitChanges();
+ }
+ }
+ }
+
+
#endregion
#region 更新人员出入记录
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 223f44ea..34c38139 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -17017,7 +17017,7 @@
-
+
diff --git a/SGGL/Model/APIItem/PersonInOutItem.cs b/SGGL/Model/APIItem/PersonInOutItem.cs
new file mode 100644
index 00000000..88f99de0
--- /dev/null
+++ b/SGGL/Model/APIItem/PersonInOutItem.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Model.APIItem
+{
+ public class PersonInOutItem
+ {
+ public string projectId { get; set; }
+ public string idCard { get; set; }
+ public int isIn { get; set; }
+ public DateTime changeTime { get; set; }
+ public string deviceIp { get; set; }
+
+
+ }
+}
diff --git a/SGGL/Model/Model.csproj b/SGGL/Model/Model.csproj
index 59ed38c4..9e994fc2 100644
--- a/SGGL/Model/Model.csproj
+++ b/SGGL/Model/Model.csproj
@@ -156,6 +156,7 @@
+
diff --git a/SGGL/WebAPI/Controllers/PersonController.cs b/SGGL/WebAPI/Controllers/PersonController.cs
index 1e294520..38334cfc 100644
--- a/SGGL/WebAPI/Controllers/PersonController.cs
+++ b/SGGL/WebAPI/Controllers/PersonController.cs
@@ -1,6 +1,7 @@
using BLL;
using Model;
using System;
+using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
@@ -693,6 +694,9 @@ namespace WebAPI.Controllers
///
///
///
+ ///
+ [HttpGet]
+
public Model.ResponeData getPersonInOut(string projectId, string idCard, int isIn, DateTime changeTime)
{
var responeData = new Model.ResponeData();
@@ -705,7 +709,7 @@ namespace WebAPI.Controllers
IdentityCard = idCard,
IsIn = isIn == 1 ? true : false,
ChangeTime = changeTime,
- InOutWay = Const.InOutWay_1,
+ InOutWay = Const.InOutWay_1
};
PersonInOutService.AddPersonInOut(newInOut);
@@ -719,6 +723,41 @@ namespace WebAPI.Controllers
}
return responeData;
}
+ [HttpPost]
+ public Model.ResponeData getPersonInOut([FromBody] List personInOutItem)
+ {
+ var responeData = new Model.ResponeData();
+ if (personInOutItem.Count > 0)
+ {
+ try
+ {
+ List newInOutList = new List();
+ foreach (var item in personInOutItem)
+ {
+ Model.SitePerson_PersonInOut newInOut = new Model.SitePerson_PersonInOut
+ {
+ ProjectId = item.projectId,
+ IdentityCard = item.idCard,
+ IsIn = item.isIn == 1 ? true : false,
+ ChangeTime = item.changeTime,
+ InOutWay = Const.InOutWay_1,
+ Address = item.deviceIp
+ };
+ newInOutList.Add(newInOut);
+ }
+ PersonInOutService.AddPersonInOut(newInOutList);
+ }
+ catch (Exception ex)
+ {
+ responeData.code = 0;
+ responeData.message = ex.Message;
+ }
+ }
+ return responeData;
+ }
+
+
+
#endregion
#region 保存人员出入记录
@@ -819,11 +858,10 @@ namespace WebAPI.Controllers
responeData.data = (from x in Funs.DB.SitePerson_Person
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
join persons in Funs.DB.Person_Persons on x.IdentityCard equals persons.IdentityCard
- join traindetail in Funs.DB.EduTrain_TrainRecordDetail on x.PersonId equals traindetail.PersonId
- join train in Funs.DB.EduTrain_TrainRecord on traindetail.TrainingId equals train.TrainingId
- where x.ProjectId == projectId && !x.ExchangeTime.HasValue && train.ProjectId == projectId
- && x.States == Const.ProjectPersonStates_1 && x.CardNo.Length > 5 && persons.PhotoUrl != null
- // where personIds.Contains(x.PersonId)
+ join traindetail in Funs.DB.Training_TestRecord on x.PersonId equals traindetail.TestManId
+ where x.ProjectId == projectId && !x.ExchangeTime.HasValue && traindetail.ProjectId == projectId
+ && x.States == Const.ProjectPersonStates_1 && x.CardNo.Length > 5 && persons.PhotoUrl != null && traindetail.TestScores >= 60
+ // where personIds.Contains(x.PersonId)
select new
{
x.PersonId,
@@ -841,7 +879,7 @@ namespace WebAPI.Controllers
Funs.DB.ProjectData_TeamGroup.First(z => z.TeamGroupId == x.TeamGroupId).TeamGroupName,
persons.Telephone,
persons.Address,
- TrainRecord = APIPersonService.getStrTrainRecordByPersonId(x.PersonId),
+ TrainRecord = APIPersonService.getStrTrainingTestRecordByPersonId(x.PersonId),
x.ExchangeTime,
x.ExchangeTime2,
x.AuditorDate,
@@ -985,6 +1023,10 @@ namespace WebAPI.Controllers
}
#endregion
+
+
+
+
#region 获取人员信息出入场记录-查询
///
/// 获取人员信息出入场记录
From 70315a3da87179e9cc4615987f494f63422d6b2d Mon Sep 17 00:00:00 2001
From: 10191 <506754232@qq.com>
Date: Sat, 4 Apr 2026 19:44:04 +0800
Subject: [PATCH 7/7] 111
---
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index c3615012..d98a37e8 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -17017,11 +17017,10 @@
-<<<<<<< HEAD
-
-=======
+
+
->>>>>>> 15b3c87ac1c4cf4a496def63cba87a1de5c899b2
+