From 2736e8ad89c9395b873399b8bf48ec570ea83c7c Mon Sep 17 00:00:00 2001
From: fei550 <1420031550@qq.com>
Date: Wed, 17 Jun 2026 14:22:06 +0800
Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E7=84=8A=E5=89=8D?=
=?UTF-8?q?=E7=AE=A1=E7=90=86=EF=BC=8C=E6=9D=90=E6=96=99=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E6=9D=A1=E7=A0=81=E6=89=AB=E7=A0=81=E6=8E=A5=E5=8F=A3=EF=BC=8C?=
=?UTF-8?q?=E6=9D=90=E6=96=99=E4=BF=A1=E6=81=AF=E5=AF=BC=E5=85=A5=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E6=97=A0=E7=82=89=E6=89=B9=E5=8F=B7/=E6=9C=89?=
=?UTF-8?q?=E7=82=89=E6=89=B9=E5=8F=B7=20=E5=A4=9A=E7=A7=8D=E5=AF=BC?=
=?UTF-8?q?=E5=85=A5=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...LDB_V2026-06-17-lpf - (焊前管理菜单脚本).sql | 34 +
...SGGLDB_V2026-06-17-lpf(焊前管理建表脚本).sql | 103 ++
SGGL/BLL/API/APIBaseInfoService.cs | 21 +
.../API/HJGL/APIPreWeldInspectionService.cs | 161 +++
SGGL/BLL/BLL.csproj | 2 +
SGGL/BLL/CLGL/TwInOutplanmasterService.cs | 10 +-
SGGL/BLL/CLGL/TwInputdetailBarCodeService.cs | 6 +-
SGGL/BLL/Common/Const.cs | 15 +
.../HJGL/BaseInfo/MaterialCodeLibService.cs | 21 +
.../WeldingManage/PreWeldInspectionService.cs | 151 +++
SGGL/FineUIPro.Web/CLGL/InputMaster.aspx | 10 +-
.../Excel/DataIn/PipelineMatWithBatch.xlsx | Bin 0 -> 5338 bytes
.../File/Fastreport/发票存货入库单.frx | 12 +-
.../File/Fastreport/发票存货出库单.frx | 12 +-
SGGL/FineUIPro.Web/File/Fastreport/发货单.frx | 6 +-
.../File/Fastreport/材料入库单.frx | 10 +-
.../File/Fastreport/材料入库条码.frx | 29 +-
.../File/Fastreport/材料入库计划单.frx | 10 +-
.../File/Fastreport/材料出库单.frx | 10 +-
.../File/Fastreport/材料出库计划单.frx | 10 +-
.../File/Fastreport/组件打印.frx | 8 +-
SGGL/FineUIPro.Web/File/Fastreport/装箱单.frx | 16 +-
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 32 +
.../HJGL/PreWeld/CuttingCheck.aspx | 85 ++
.../HJGL/PreWeld/CuttingCheck.aspx.cs | 74 ++
.../PreWeld/CuttingCheck.aspx.designer.cs | 143 +++
.../HJGL/PreWeld/CuttingCheckEdit.aspx | 65 ++
.../HJGL/PreWeld/CuttingCheckEdit.aspx.cs | 92 ++
.../PreWeld/CuttingCheckEdit.aspx.designer.cs | 116 +++
.../HJGL/PreWeld/FitupCheck.aspx | 85 ++
.../HJGL/PreWeld/FitupCheck.aspx.cs | 74 ++
.../HJGL/PreWeld/FitupCheck.aspx.designer.cs | 143 +++
.../HJGL/PreWeld/FitupCheckEdit.aspx | 82 ++
.../HJGL/PreWeld/FitupCheckEdit.aspx.cs | 133 +++
.../PreWeld/FitupCheckEdit.aspx.designer.cs | 143 +++
.../HJGL/WeldingManage/PipelineMatIn.aspx | 2 +
.../HJGL/WeldingManage/PipelineMatIn.aspx.cs | 46 +-
.../PipelineMatIn.aspx.designer.cs | 9 +
SGGL/FineUIPro.Web/common/Menu_HJGL.xml | 3 +
.../APIItem/HJGL/PreWeldInspectionItem.cs | 110 ++
.../Model/CLGL/Tw_InputDetailBarCodeOutput.cs | 2 +
.../HJGL/MaterialCodeLibBarCodeOutput.cs | 14 +
SGGL/Model/Model.cs | 985 ++++++++++++++++++
SGGL/Model/Model.csproj | 2 +
SGGL/WebAPI/Controllers/BaseInfoController.cs | 41 +
.../PreWeldInspectionController.cs | 77 ++
SGGL/WebAPI/ErrLog.txt | 174 ++++
SGGL/WebAPI/Global.asax.cs | 4 +-
SGGL/WebAPI/WebAPI.csproj | 3 +-
49 files changed, 3307 insertions(+), 89 deletions(-)
create mode 100644 DataBase/版本日志/SGGLDB_V2026-06-17-lpf - (焊前管理菜单脚本).sql
create mode 100644 DataBase/版本日志/SGGLDB_V2026-06-17-lpf(焊前管理建表脚本).sql
create mode 100644 SGGL/BLL/API/HJGL/APIPreWeldInspectionService.cs
create mode 100644 SGGL/BLL/HJGL/WeldingManage/PreWeldInspectionService.cs
create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/PipelineMatWithBatch.xlsx
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx.designer.cs
create mode 100644 SGGL/Model/APIItem/HJGL/PreWeldInspectionItem.cs
create mode 100644 SGGL/Model/HJGL/MaterialCodeLibBarCodeOutput.cs
create mode 100644 SGGL/WebAPI/Controllers/HJGL/WeldingManage/PreWeldInspectionController.cs
diff --git a/DataBase/版本日志/SGGLDB_V2026-06-17-lpf - (焊前管理菜单脚本).sql b/DataBase/版本日志/SGGLDB_V2026-06-17-lpf - (焊前管理菜单脚本).sql
new file mode 100644
index 00000000..c01551ca
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_V2026-06-17-lpf - (焊前管理菜单脚本).sql
@@ -0,0 +1,34 @@
+INSERT INTO Sys_Menu (MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES (N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F001',N'焊前管理',NULL,N'',45,N'0',N'Menu_HJGL',0,0,1);
+INSERT INTO Sys_Menu (MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES (N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F003',N'组对抽检列表台账',NULL,N'HJGL/PreWeld/FitupCheck.aspx',20,N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F001',N'Menu_HJGL',0,1,1);
+GO
+
+INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ VALUES (NEWID(),N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F003',N'增加',2);
+ GO
+ INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ VALUES (NEWID(),N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F003',N'保存',6);
+ GO
+ INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ VALUES (NEWID(),N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F003',N'删除',4);
+ GO
+ INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ VALUES (NEWID(),N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F003',N'修改',3);
+ GO
+
+GO
+INSERT INTO Sys_Menu (MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES (N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F002',N'下料抽检记录台账',NULL,N'HJGL/PreWeld/CuttingCheck.aspx',10,N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F001',N'Menu_HJGL',0,1,1);
+
+INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ VALUES (NEWID(),N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F002',N'增加',2);
+ GO
+ INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ VALUES (NEWID(),N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F002',N'保存',6);
+ GO
+ INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ VALUES (NEWID(),N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F002',N'删除',4);
+ GO
+ INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
+ VALUES (NEWID(),N'D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F002',N'修改',3);
+ GO
+
+GO
\ No newline at end of file
diff --git a/DataBase/版本日志/SGGLDB_V2026-06-17-lpf(焊前管理建表脚本).sql b/DataBase/版本日志/SGGLDB_V2026-06-17-lpf(焊前管理建表脚本).sql
new file mode 100644
index 00000000..d6d5f433
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_V2026-06-17-lpf(焊前管理建表脚本).sql
@@ -0,0 +1,103 @@
+/* 焊前管理 - 下料抽检记录台账 */
+IF OBJECT_ID(N'dbo.HJGL_PreWeldCuttingCheck', N'U') IS NULL
+BEGIN
+ CREATE TABLE dbo.HJGL_PreWeldCuttingCheck
+ (
+ CuttingCheckId NVARCHAR(50) NOT NULL,
+ ProjectId NVARCHAR(50) NULL,
+ WeldJointId NVARCHAR(50) NOT NULL,
+
+ IsMaterialCodeBatchNoAccurate BIT NOT NULL CONSTRAINT DF_PreWeldCuttingCheck_CodeBatch DEFAULT(0),
+ IsMaterialQuantityAccurate BIT NOT NULL CONSTRAINT DF_PreWeldCuttingCheck_Quantity DEFAULT(0),
+ IsQualified BIT NOT NULL CONSTRAINT DF_PreWeldCuttingCheck_Qualified DEFAULT(0),
+
+ CheckPerson NVARCHAR(50) NULL,
+ CheckTime DATETIME NULL,
+
+ CreateUser NVARCHAR(50) NULL,
+ CreateTime DATETIME NULL,
+ Remark NVARCHAR(500) NULL,
+
+ CONSTRAINT PK_HJGL_PreWeldCuttingCheck PRIMARY KEY (CuttingCheckId),
+ CONSTRAINT FK_PreWeldCuttingCheck_WeldJoint FOREIGN KEY (WeldJointId)
+ REFERENCES dbo.HJGL_WeldJoint(WeldJointId)
+ );
+
+ CREATE UNIQUE INDEX UX_PreWeldCuttingCheck_WeldJointId
+ ON dbo.HJGL_PreWeldCuttingCheck(WeldJointId);
+
+ CREATE INDEX IX_PreWeldCuttingCheck_Project_CheckTime
+ ON dbo.HJGL_PreWeldCuttingCheck(ProjectId, CheckTime);
+END
+GO
+
+
+/* 焊前管理 - 组对抽检列表台账 */
+IF OBJECT_ID(N'dbo.HJGL_PreWeldFitupCheck', N'U') IS NULL
+BEGIN
+ CREATE TABLE dbo.HJGL_PreWeldFitupCheck
+ (
+ FitupCheckId NVARCHAR(50) NOT NULL,
+ ProjectId NVARCHAR(50) NULL,
+ WeldJointId NVARCHAR(50) NOT NULL,
+
+ GrooveTypeId NVARCHAR(50) NOT NULL,
+ GrooveProcessType NVARCHAR(100) NULL,
+ GrooveAngle DECIMAL(18, 2) NULL,
+ FitupGap DECIMAL(18, 2) NULL,
+ Misalignment DECIMAL(18, 2) NULL,
+
+ CheckPerson NVARCHAR(50) NULL,
+ CheckTime DATETIME NULL,
+
+ CreateUser NVARCHAR(50) NULL,
+ CreateTime DATETIME NULL,
+ Remark NVARCHAR(500) NULL,
+
+ CONSTRAINT PK_HJGL_PreWeldFitupCheck PRIMARY KEY (FitupCheckId),
+ CONSTRAINT FK_PreWeldFitupCheck_WeldJoint FOREIGN KEY (WeldJointId)
+ REFERENCES dbo.HJGL_WeldJoint(WeldJointId),
+ CONSTRAINT FK_PreWeldFitupCheck_GrooveType FOREIGN KEY (GrooveTypeId)
+ REFERENCES dbo.Base_GrooveType(GrooveTypeId)
+ );
+
+ CREATE UNIQUE INDEX UX_PreWeldFitupCheck_WeldJointId
+ ON dbo.HJGL_PreWeldFitupCheck(WeldJointId);
+
+ CREATE INDEX IX_PreWeldFitupCheck_Project_CheckTime
+ ON dbo.HJGL_PreWeldFitupCheck(ProjectId, CheckTime);
+
+ CREATE INDEX IX_PreWeldFitupCheck_GrooveTypeId
+ ON dbo.HJGL_PreWeldFitupCheck(GrooveTypeId);
+END
+GO
+
+
+/* 焊口主表增加组对抽检回写字段 */
+IF COL_LENGTH('dbo.HJGL_WeldJoint', 'GrooveProcessType') IS NULL
+BEGIN
+ ALTER TABLE dbo.HJGL_WeldJoint
+ ADD GrooveProcessType NVARCHAR(100) NULL;
+END
+GO
+
+IF COL_LENGTH('dbo.HJGL_WeldJoint', 'GrooveAngle') IS NULL
+BEGIN
+ ALTER TABLE dbo.HJGL_WeldJoint
+ ADD GrooveAngle DECIMAL(18, 2) NULL;
+END
+GO
+
+IF COL_LENGTH('dbo.HJGL_WeldJoint', 'FitupGap') IS NULL
+BEGIN
+ ALTER TABLE dbo.HJGL_WeldJoint
+ ADD FitupGap DECIMAL(18, 2) NULL;
+END
+GO
+
+IF COL_LENGTH('dbo.HJGL_WeldJoint', 'Misalignment') IS NULL
+BEGIN
+ ALTER TABLE dbo.HJGL_WeldJoint
+ ADD Misalignment DECIMAL(18, 2) NULL;
+END
+GO
\ No newline at end of file
diff --git a/SGGL/BLL/API/APIBaseInfoService.cs b/SGGL/BLL/API/APIBaseInfoService.cs
index ef753abe..1a965528 100644
--- a/SGGL/BLL/API/APIBaseInfoService.cs
+++ b/SGGL/BLL/API/APIBaseInfoService.cs
@@ -208,6 +208,27 @@ namespace BLL
return getDataLists;
}
}
+
+ ///
+ /// 获取坡口类型
+ ///
+ ///
+ public static List getGrooveType()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var getDataLists = (from x in db.Base_GrooveType
+ orderby x.GrooveTypeCode
+ select new Model.BaseInfoItem
+ {
+ BaseInfoId = x.GrooveTypeId,
+ BaseInfoCode = x.GrooveTypeCode,
+ BaseInfoName = x.GrooveTypeName
+ }
+ ).ToList();
+ return getDataLists;
+ }
+ }
#endregion
#region 根据类型获取巡检隐患类型表
diff --git a/SGGL/BLL/API/HJGL/APIPreWeldInspectionService.cs b/SGGL/BLL/API/HJGL/APIPreWeldInspectionService.cs
new file mode 100644
index 00000000..6fe3a872
--- /dev/null
+++ b/SGGL/BLL/API/HJGL/APIPreWeldInspectionService.cs
@@ -0,0 +1,161 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace BLL
+{
+ ///
+ /// 小程序焊前抽检接口服务
+ ///
+ public static class APIPreWeldInspectionService
+ {
+ ///
+ /// 根据焊口ID获取焊前抽检基础信息
+ ///
+ /// 焊口ID
+ /// 焊口基础信息
+ public static Model.PreWeldJointItem GetPreWeldJointByWeldJointId(string weldJointId)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var query = from x in db.HJGL_WeldJoint
+ join g in db.Base_GrooveType on x.GrooveTypeId equals g.GrooveTypeId into grooveTypes
+ from g in grooveTypes.DefaultIfEmpty()
+ where x.WeldJointId == weldJointId
+ select new Model.PreWeldJointItem
+ {
+ WeldJointId = x.WeldJointId,
+ WeldJointCode = x.WeldJointCode,
+ PipelineId = x.PipelineId,
+ PipelineCode = x.PipelineCode,
+ ProjectId = x.ProjectId,
+ GrooveTypeId = x.GrooveTypeId,
+ GrooveTypeCode = g == null ? string.Empty : g.GrooveTypeCode,
+ GrooveTypeName = g == null ? string.Empty : g.GrooveTypeName,
+ GrooveProcessType = x.GrooveProcessType,
+ GrooveAngle = x.GrooveAngle,
+ FitupGap = x.FitupGap,
+ Misalignment = x.Misalignment
+ };
+
+ return query.FirstOrDefault();
+ }
+ }
+
+ ///
+ /// 保存下料抽检,已存在同一焊口记录时更新原记录
+ ///
+ /// 下料抽检参数
+ public static void SaveCuttingCheck(Model.PreWeldCuttingCheckItem item)
+ {
+ if (item == null)
+ {
+ throw new ArgumentNullException("item");
+ }
+ if (string.IsNullOrEmpty(item.WeldJointId))
+ {
+ throw new ArgumentException("焊口ID不能为空。");
+ }
+
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var weldJoint = db.HJGL_WeldJoint.FirstOrDefault(x => x.WeldJointId == item.WeldJointId);
+ if (weldJoint == null)
+ {
+ throw new ArgumentException("未找到对应焊口。");
+ }
+
+ var check = db.HJGL_PreWeldCuttingCheck.FirstOrDefault(x => x.WeldJointId == item.WeldJointId);
+ if (check == null)
+ {
+ check = new Model.HJGL_PreWeldCuttingCheck
+ {
+ CuttingCheckId = Guid.NewGuid().ToString(),
+ WeldJointId = item.WeldJointId,
+ ProjectId = string.IsNullOrEmpty(item.ProjectId) ? weldJoint.ProjectId : item.ProjectId,
+ CreateUser = item.CreateUser ?? item.CheckPerson,
+ CreateTime = DateTime.Now
+ };
+ db.HJGL_PreWeldCuttingCheck.InsertOnSubmit(check);
+ }
+
+ check.ProjectId = string.IsNullOrEmpty(item.ProjectId) ? weldJoint.ProjectId : item.ProjectId;
+ check.IsMaterialCodeBatchNoAccurate = item.IsMaterialCodeBatchNoAccurate;
+ check.IsMaterialQuantityAccurate = item.IsMaterialQuantityAccurate;
+ // 下料抽检合格规则:材料编码及炉批号、材料数量两个检查项均准确才合格。
+ check.IsQualified = item.IsMaterialCodeBatchNoAccurate && item.IsMaterialQuantityAccurate;
+ check.CheckPerson = item.CheckPerson;
+ check.CheckTime = item.CheckTime ?? DateTime.Now;
+ check.Remark = item.Remark;
+
+ db.SubmitChanges();
+ }
+ }
+
+ ///
+ /// 保存组对抽检,已存在同一焊口记录时更新原记录并回写焊口主表
+ ///
+ /// 组对抽检参数
+ public static void SaveFitupCheck(Model.PreWeldFitupCheckItem item)
+ {
+ if (item == null)
+ {
+ throw new ArgumentNullException("item");
+ }
+ if (string.IsNullOrEmpty(item.WeldJointId))
+ {
+ throw new ArgumentException("焊口ID不能为空。");
+ }
+ if (string.IsNullOrEmpty(item.GrooveTypeId))
+ {
+ throw new ArgumentException("坡口类型不能为空。");
+ }
+
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var weldJoint = db.HJGL_WeldJoint.FirstOrDefault(x => x.WeldJointId == item.WeldJointId);
+ if (weldJoint == null)
+ {
+ throw new ArgumentException("未找到对应焊口。");
+ }
+ if (!db.Base_GrooveType.Any(x => x.GrooveTypeId == item.GrooveTypeId))
+ {
+ throw new ArgumentException("坡口类型不存在。");
+ }
+
+ var check = db.HJGL_PreWeldFitupCheck.FirstOrDefault(x => x.WeldJointId == item.WeldJointId);
+ if (check == null)
+ {
+ check = new Model.HJGL_PreWeldFitupCheck
+ {
+ FitupCheckId = Guid.NewGuid().ToString(),
+ WeldJointId = item.WeldJointId,
+ ProjectId = string.IsNullOrEmpty(item.ProjectId) ? weldJoint.ProjectId : item.ProjectId,
+ CreateUser = item.CreateUser ?? item.CheckPerson,
+ CreateTime = DateTime.Now
+ };
+ db.HJGL_PreWeldFitupCheck.InsertOnSubmit(check);
+ }
+
+ check.ProjectId = string.IsNullOrEmpty(item.ProjectId) ? weldJoint.ProjectId : item.ProjectId;
+ check.GrooveTypeId = item.GrooveTypeId;
+ check.GrooveProcessType = item.GrooveProcessType;
+ check.GrooveAngle = item.GrooveAngle;
+ check.FitupGap = item.FitupGap;
+ check.Misalignment = item.Misalignment;
+ check.CheckPerson = item.CheckPerson;
+ check.CheckTime = item.CheckTime ?? DateTime.Now;
+ check.Remark = item.Remark;
+
+ // 组对抽检字段需同步回写焊口主表,供焊口台账和后续业务复用。
+ weldJoint.GrooveTypeId = item.GrooveTypeId;
+ weldJoint.GrooveProcessType = item.GrooveProcessType;
+ weldJoint.GrooveAngle = item.GrooveAngle;
+ weldJoint.FitupGap = item.FitupGap;
+ weldJoint.Misalignment = item.Misalignment;
+
+ db.SubmitChanges();
+ }
+ }
+ }
+}
diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index e4612de1..5dd3238a 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -203,6 +203,7 @@
+
@@ -461,6 +462,7 @@
+
diff --git a/SGGL/BLL/CLGL/TwInOutplanmasterService.cs b/SGGL/BLL/CLGL/TwInOutplanmasterService.cs
index 0a610bb6..ad3fbe48 100644
--- a/SGGL/BLL/CLGL/TwInOutplanmasterService.cs
+++ b/SGGL/BLL/CLGL/TwInOutplanmasterService.cs
@@ -247,6 +247,12 @@ namespace BLL
try
{
temeplateDtoIns = MiniExcel.Query(path, startCell: "A1").ToList();
+ foreach (var item in temeplateDtoIns)
+ {
+ item.MaterialCode = item.MaterialCode.Trim();
+ item.HeatNo = item.HeatNo.Trim();
+ item.BatchNo = item.BatchNo.Trim();
+ }
}
catch (Exception ex)
{
@@ -621,12 +627,12 @@ namespace BLL
private static string CleanImportText(string value)
{
- return Convert.ToString(value).Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "").Trim();
+ return (value ?? string.Empty).Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "").Trim();
}
private static string CleanImportDateText(string value)
{
- return Convert.ToString(value).Replace("\n", "").Replace("\t", " ").Replace("\r", "").Trim();
+ return (value ?? string.Empty).Replace("\n", "").Replace("\t", " ").Replace("\r", "").Trim();
}
private static bool TryParseImportDate(string value, out DateTime date)
diff --git a/SGGL/BLL/CLGL/TwInputdetailBarCodeService.cs b/SGGL/BLL/CLGL/TwInputdetailBarCodeService.cs
index cec3453e..714ed8ef 100644
--- a/SGGL/BLL/CLGL/TwInputdetailBarCodeService.cs
+++ b/SGGL/BLL/CLGL/TwInputdetailBarCodeService.cs
@@ -50,7 +50,9 @@ namespace BLL
BatchNo = mat.BatchNo,
MaterialName = mat.MaterialName,
MaterialDef = mat.MaterialDef,
- BarCode = x.BarCode
+ MaterialSpec = mat.MaterialSpec,
+ MaterialUnit = mat.MaterialUnit,
+ BarCode = x.MaterialCode
};
return q.ToList();
@@ -119,7 +121,7 @@ namespace BLL
///
public static string BuildBarCode(Tw_InputMaster inputMaster, Tw_InputDetail inputDetail, string barCodeDetailId)
{
- return "IB" + barCodeDetailId.Replace("-", string.Empty).ToUpperInvariant();
+ return inputDetail == null ? string.Empty : inputDetail.MaterialCode;
}
}
}
diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs
index cd0cb11a..8878a8ea 100644
--- a/SGGL/BLL/Common/Const.cs
+++ b/SGGL/BLL/Common/Const.cs
@@ -2939,6 +2939,16 @@ namespace BLL
/// 焊接日常管理
///
public const string HJGL_WeldReportMenuId = "5TYHMD2F-2582-4DEB-905E-6E9DCFEFBGHO";
+
+ ///
+ /// 下料抽检记录台账
+ ///
+ public const string HJGL_PreWeldCuttingCheckMenuId = "D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F002";
+
+ ///
+ /// 组对抽检列表台账
+ ///
+ public const string HJGL_PreWeldFitupCheckMenuId = "D1B5A8B7-5D2A-4C51-9B7E-6A2F15B7F003";
#endregion
#region 预制设计
@@ -3456,6 +3466,11 @@ namespace BLL
///
public const string PipelineMatTemplateUrl = "File\\Excel\\DataIn\\PipelineMat.xlsx";
+ ///
+ /// 管线材料导入模板(包含炉号、批号)
+ ///
+ public const string PipelineMatWithBatchTemplateUrl = "File\\Excel\\DataIn\\PipelineMatWithBatch.xlsx";
+
///
/// 材料信息数据导入模板
///
diff --git a/SGGL/BLL/HJGL/BaseInfo/MaterialCodeLibService.cs b/SGGL/BLL/HJGL/BaseInfo/MaterialCodeLibService.cs
index c2ab5c3e..5a6f49f5 100644
--- a/SGGL/BLL/HJGL/BaseInfo/MaterialCodeLibService.cs
+++ b/SGGL/BLL/HJGL/BaseInfo/MaterialCodeLibService.cs
@@ -14,6 +14,27 @@
{
return Funs.DB.HJGL_MaterialCodeLib.FirstOrDefault(e => e.MaterialCode == materialCode);
}
+
+ ///
+ /// 根据材料主编码获取条码扫码所需的材料信息。
+ ///
+ public static Model.MaterialCodeLibBarCodeOutput GetBarCodeMaterialInfo(string materialCode)
+ {
+ return (from x in Funs.DB.HJGL_MaterialCodeLib
+ where x.MaterialCode == materialCode
+ select new Model.MaterialCodeLibBarCodeOutput
+ {
+ MaterialCode = x.MaterialCode,
+ Code = x.Code,
+ HeatNo = x.HeatNo,
+ BatchNo = x.BatchNo,
+ MaterialName = x.MaterialName,
+ MaterialDef = x.MaterialDef,
+ MaterialSpec = x.MaterialSpec,
+ MaterialUnit = x.MaterialUnit
+ }).FirstOrDefault();
+ }
+
public static List GetMaterialCodeLibList()
{
var q = (from x in Funs.DB.HJGL_MaterialCodeLib select x).ToList();
diff --git a/SGGL/BLL/HJGL/WeldingManage/PreWeldInspectionService.cs b/SGGL/BLL/HJGL/WeldingManage/PreWeldInspectionService.cs
new file mode 100644
index 00000000..71f0d24a
--- /dev/null
+++ b/SGGL/BLL/HJGL/WeldingManage/PreWeldInspectionService.cs
@@ -0,0 +1,151 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace BLL
+{
+ ///
+ /// 焊前抽检台账服务
+ ///
+ public static class PreWeldInspectionService
+ {
+ ///
+ /// 获取下料抽检台账
+ ///
+ public static Tuple, int> GetCuttingCheckList(string projectId, string pipelineCode, string weldJointCode, int pageIndex, int pageSize)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var query = from c in db.HJGL_PreWeldCuttingCheck
+ join w in db.HJGL_WeldJoint on c.WeldJointId equals w.WeldJointId
+ join p in db.Person_Persons on c.CheckPerson equals p.PersonId into persons
+ from p in persons.DefaultIfEmpty()
+ where string.IsNullOrEmpty(projectId) || c.ProjectId == projectId || w.ProjectId == projectId
+ select new
+ {
+ c,
+ w,
+ CheckPersonName = p == null ? string.Empty : p.PersonName
+ };
+
+ if (!string.IsNullOrEmpty(pipelineCode))
+ {
+ query = query.Where(x => x.w.PipelineCode.Contains(pipelineCode));
+ }
+ if (!string.IsNullOrEmpty(weldJointCode))
+ {
+ query = query.Where(x => x.w.WeldJointCode.Contains(weldJointCode));
+ }
+
+ int total = query.Count();
+ var data = query.OrderByDescending(x => x.c.CheckTime)
+ .Skip(pageIndex * pageSize)
+ .Take(pageSize)
+ .Select(x => new Model.PreWeldCuttingCheckItem
+ {
+ CuttingCheckId = x.c.CuttingCheckId,
+ ProjectId = x.c.ProjectId,
+ WeldJointId = x.c.WeldJointId,
+ PipelineCode = x.w.PipelineCode,
+ WeldJointCode = x.w.WeldJointCode,
+ IsMaterialCodeBatchNoAccurate = x.c.IsMaterialCodeBatchNoAccurate,
+ IsMaterialQuantityAccurate = x.c.IsMaterialQuantityAccurate,
+ IsQualified = x.c.IsQualified,
+ CheckPerson = x.c.CheckPerson,
+ CheckPersonName = x.CheckPersonName,
+ CheckTime = x.c.CheckTime,
+ CreateUser = x.c.CreateUser,
+ CreateTime = x.c.CreateTime,
+ Remark = x.c.Remark
+ })
+ .ToList();
+
+ return Tuple.Create(data, total);
+ }
+ }
+
+ ///
+ /// 获取组对抽检台账
+ ///
+ public static Tuple, int> GetFitupCheckList(string projectId, string pipelineCode, string weldJointCode, int pageIndex, int pageSize)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var query = from f in db.HJGL_PreWeldFitupCheck
+ join w in db.HJGL_WeldJoint on f.WeldJointId equals w.WeldJointId
+ join g in db.Base_GrooveType on f.GrooveTypeId equals g.GrooveTypeId into grooveTypes
+ from g in grooveTypes.DefaultIfEmpty()
+ join p in db.Person_Persons on f.CheckPerson equals p.PersonId into persons
+ from p in persons.DefaultIfEmpty()
+ where string.IsNullOrEmpty(projectId) || f.ProjectId == projectId || w.ProjectId == projectId
+ select new
+ {
+ f,
+ w,
+ g,
+ CheckPersonName = p == null ? string.Empty : p.PersonName
+ };
+
+ if (!string.IsNullOrEmpty(pipelineCode))
+ {
+ query = query.Where(x => x.w.PipelineCode.Contains(pipelineCode));
+ }
+ if (!string.IsNullOrEmpty(weldJointCode))
+ {
+ query = query.Where(x => x.w.WeldJointCode.Contains(weldJointCode));
+ }
+
+ int total = query.Count();
+ var data = query.OrderBy(x => x.w.PipelineCode).ThenBy(x => x.w.WeldJointCode)
+ .Skip(pageIndex * pageSize)
+ .Take(pageSize)
+ .Select(x => new Model.PreWeldFitupCheckItem
+ {
+ FitupCheckId = x.f.FitupCheckId,
+ ProjectId = x.f.ProjectId,
+ WeldJointId = x.w.WeldJointId,
+ PipelineCode = x.w.PipelineCode,
+ WeldJointCode = x.w.WeldJointCode,
+ GrooveTypeId = x.f.GrooveTypeId,
+ GrooveTypeCode = x.g == null ? string.Empty : x.g.GrooveTypeCode,
+ GrooveTypeName = x.g == null ? string.Empty : x.g.GrooveTypeName,
+ GrooveProcessType = x.f.GrooveProcessType,
+ GrooveAngle = x.f.GrooveAngle,
+ FitupGap = x.f.FitupGap,
+ Misalignment = x.f.Misalignment,
+ CheckPerson = x.f.CheckPerson,
+ CheckPersonName = x.CheckPersonName,
+ CheckTime = x.f.CheckTime,
+ CreateUser = x.f.CreateUser,
+ CreateTime = x.f.CreateTime,
+ Remark = x.f.Remark
+ })
+ .ToList();
+
+ return Tuple.Create(data, total);
+ }
+ }
+
+ ///
+ /// 获取下料抽检实体
+ ///
+ public static Model.HJGL_PreWeldCuttingCheck GetCuttingCheckById(string cuttingCheckId)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ return db.HJGL_PreWeldCuttingCheck.FirstOrDefault(x => x.CuttingCheckId == cuttingCheckId);
+ }
+ }
+
+ ///
+ /// 获取组对抽检实体
+ ///
+ public static Model.HJGL_PreWeldFitupCheck GetFitupCheckByWeldJointId(string weldJointId)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ return db.HJGL_PreWeldFitupCheck.FirstOrDefault(x => x.WeldJointId == weldJointId);
+ }
+ }
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx
index 6d157b9a..19c3dd18 100644
--- a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx
+++ b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx
@@ -159,7 +159,7 @@
FieldType="String" HeaderText="材料名称" TextAlign="Left" HeaderTextAlign="Center">
+ FieldType="String" HeaderText="材料描述" TextAlign="Left" HeaderTextAlign="Center" >
@@ -203,7 +203,13 @@
FieldType="String" HeaderText="材料名称" TextAlign="Left" HeaderTextAlign="Center">
+ FieldType="String" HeaderText="材料描述" TextAlign="Left" HeaderTextAlign="Center" >
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/PipelineMatWithBatch.xlsx b/SGGL/FineUIPro.Web/File/Excel/DataIn/PipelineMatWithBatch.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..fe6cc8cd4b519b11b815210705919039b4f91d76
GIT binary patch
literal 5338
zcmZ`-1yq!4*B!tCL`tLwq`N~}5P_jPB&C&{K^QPKCKsLKj!
zso@NDa^W#|a^imJ=%6~NdZS7jwQv%dI{s?0ycu?8C71ra^AkpgK0k!1LYhTT&1Y
zj~-AKcPKq`U83AR_p+k^e>dKvafWlrzTWp?@0Y#G_>g`Pm6QZIH1{#uvmC$r2JzvF
zd|s@tSRdsEKX)CBf9zf*rpesCs4pm1$wE^+Lxn@Q=E)=(eot96fdhCQuH8qXoxa)&
zy|4ndU^S3w{E-4)weL6{8UUb+4glQ!cM6tJXX~FibjC_6ckmJhUH8U%i7P4>2SV`K
z(~Sv@HJXB84R}J13iQa!le)@j*Wt$Qrjyk^P@
zs2ZFAM88mzP+6VY#oqV00Y-bZhWp1~
zT<_{}wBq9(|AnDULAYR~gYfVBu7dL|;+nML=?l%vcNEmL$_L+$k}13Ss1FlUNX_=@
zygWl2nHx@|k8$$Z$~{C3W?~Nq%g-*`uVUUrRMEe;ejNU=ab+u5`&`n!dBdH}A=ps(
zJOlK6WhODs%W#i=4Ss3!ikr1)omp(X9ddU^Elaw29R_SkD=;yQK1KhNyEWzuQC=Vb
zAVvWI+(U8q(t!tNW9?}D>(2L+y=?rrU*TdHqB=#ZDDeH%
zFpFs%&KeEVnhXA3)8~tZtmyMax{(Ky==+g0Zgt*(H+va
zJ9@X9hu@r%Q$OcU+vZsFE_%(RWkoHyBL7-48xms~@Z!M_hP*6gQ8D1ui%|(Qaq+IV
zIRUKLg_vS$OxGei$MNFASydf+)u82!B;;pW@~_U~_wm<)BZI%%?0mlbigR83;dSxc
zmhjq@GvE|qXzL2x+^%!?n#C>l3zHAueOmmaobqMAk2kPo$yy2%foK)h+Y69(zbk{M
zBjFjJSYw9__B$axUByA@POd*N#FWI6gEKCXz&h>68=n-X$$%qf>)NKDS`HQU&)mFB7BSyvR9
z*ww)r50B6FlI~8f^yYMa!eBb$bf;L#$J4@Z*NJ>%&yvW}Z)Z^e)?-oosPERxp1FZV
z5p)avM>)}?W~N}wy&d8Ly!!Bd!gQxxpwN8jCz*gv%?_4WeP8#i3BZm3*qx%DdreI!
z0gFeH)5K25lIOBo(n$=5|%jTK1#0?8uz
z+&_}h^U)ADp}j)XCyl8{$UFTNYdeMlEys>$*SEI$?Of*C^O?2cfEp>vDv`Xi{-J>r
zz2p`}3@4AkLb3ANJ0LVNEo-q3`1{wsK^2oTOWFZD)VXxWHM?JI9q2zYT7sMj$iKuq
z6xsn3=IaeGhQhY;ElTQGGclM;850fY42)LLVn<*Zgq(9_CA%EJDrmHWRhuJ|Uy{LF
zZ87xJ&pES%+lh?jx_g@=JNDY!N1I3ZEaOE6dh7f%J{l=ryo&f0>>&gr7t+bsZ%2&v
z`ZmdygD@MnXuD{YMQ9dt}P+s3N0HVCAT`vbqSk{4cL
z5@Q*p(U9QVh
zCS#b%iCnNeyRscNVaXio=Q)tq8+>YUQZehyL%i!Eh*aSD9IJ9~(3amD9DPZh5-DaP
z7g@!U#!uIbmfSt#CuClZ(*hUZaor0UDh-A#QkAsZtZ<}V3uTR5?fXQH9aZMN>&-~e8YE)fR>iR*E
zu@QF2f*E!G&Sqr1Z1pn0Hm+#mi28uCxFId>`B=j-cx5cVqmc%ivKCLgwjs@MaFNT5I{s|1wIjny?YzX8^H12Cp)RqtM&b?9?_jh~
zS;gEqm{d(NZI#}sg`DoVsj)0Z5;sev?yX(VTh%wOTkXPYW~(8FjRz+KuF8QW6Uru2
zPR8|1c|y(HNRi{WJ)^Zmu^>L1NikW#ssipf1vM-|#3#)gSH7I9*7)p+!RWsF{!bIhDqFjmyzP!B1Uj$Qm?(usF^QT3xH^xi`QbElfVm8n236!wIsU)nMW5#g^
z-n0iF4B$^svDUcACT=W+u&OLw+*haUrbrizI9x_x;~p4hWTuPUhdM1YMp4IitoOue
z6yLLI?5O=PAh+frNORZ|Yjh?tNzLZ%nZ_1r*$pS+*GrTY>U(1)*wk^l4%SmlH!Ncf
zw{g4O*rYo=)7fJ9>9F*}cXpvxBgr!4%k5+D)85f^_o;goGHU$oikeGeqLV$diX!?T
zTc?UB!vJ*>*5U=`tsFu5PW*}W{o*UYpStNSevux5(v9dH008foZd_m<4%RL|YY(aS
zSJW3?!pk^TnhM2DCOeH-j2L!0znYO9KaevhKXQ5EuNQhI1IDLBYBNuaPbq6&Vcr*4
zP3f$*`6yk)zU1KneI~J#XHdQ?(l{%S7a-Foml5Js+L)j@3Oy;wy$sq)dUsKV$oCv-6c&TpK>k!Va9>={?Lia~1=yfL_XhwKxj-7*`$pypAbO&TcWE0RLgc$4wP;
zak*X6KC*>SGbnQpxG1d9fF`xLN2IuxuHadHNMpRot<3SN2jH=xG~&@!C##6y7$pBd
zxw+Zwn83D-_xK!n0|)aLM!{sYF0Mz{#{IS#pJH2L@fue3Hl73&f+vnbr0v{t^^sIt
z=Njt!&o`Ddu9VM*KUh9@OnP8_fXUnEak_MMwU(gH5^5$OXe`|Jg)qBtz3YPevn*b&
z#RKXOh@@5tiAkuz81A;S=LU`)MTXcU)NGIR6HH091gx{wTI6h8gzQT8<5L;kM{l#V
za^#Wne?he>4`^RBqcEfDZd<%iKPnmWqzYcCJD}%)S3eewT9Hxu@z>(1XyM0;xI8vG
zMgMIZ15W|gN^fPN)AO;48DGCnKZU_*`=;sBK#7M~`sx|Uge6+9h$@x#n=w0Dpsfnp
zKJ}F%t*s5d{rDXx-F`_2F4%r$79Y)7$mK_fWz0w~1(F$ib{O~ePq4(90&@y!&^~9N
z(UGI)-<7YxrNzRf>p)=9G{4PS@?saeG~j-X_NQzgEAHJNLdi7`C0&$q0jAE@4lX?0
zKkv1%eGqg$Tsa?W_`^i`&MXW4O7jpxsd?t~kY_~lQFq(t-c_*$Oli@%t}m~CTkhS&
zI4a-@8Liytyorw^Jp=uCP2UagD_7=rpkD(92ii&X;T>mppSw!yHS8cOVP
zu`#xb>Cm-c-8)j&c9ogxOLs8k5Ef>s4xTZWhbatzjWWW+KBngt^04!c%xU5YIVd@U
zoyn1sN3|G*uYj%K{B}-IJ~)fy&|tULZT;1_kSTWL_1H9@==*MJyJcl=i*jj3OfJeM
z|6Vy}B2&$3#*imfoJV<1Ij-E8$i+KUmizLvH6D^H1M(|Pa>WIqkc1RO=r$?IlaJ(4
z%-J-Kw?CANP~CqxgB7!~Bg3!7-DNwv$YaEduj0c%L+3d5JVYFL%kV*E%TI^Ga&nn=j
z2xE_TGNfJnMC)j)=Ut($RRzsbnWhy_cE$6!$DKBjdL6DFdt*FGujz?rL~Sbg
z?vim59o_4EH_rExRB
z%_04F05hzAo&NX8elx($+4P?Pb$&(If1lvLPO3Mf+?-VYiQs}XdgG@+^osparRMh{!4{w
VC<8HnehCNl_CfiC9MR9G{{vG`K^Xu5
literal 0
HcmV?d00001
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/发票存货入库单.frx b/SGGL/FineUIPro.Web/File/Fastreport/发票存货入库单.frx
index 8a323cc9..e4df21c6 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/发票存货入库单.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/发票存货入库单.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -94,7 +94,7 @@ namespace FastReport
}
-
+
@@ -134,8 +134,8 @@ namespace FastReport
-
-
+
+
@@ -167,7 +167,7 @@ namespace FastReport
-
+
@@ -228,7 +228,7 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/发票存货出库单.frx b/SGGL/FineUIPro.Web/File/Fastreport/发票存货出库单.frx
index 35711973..3a640b1c 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/发票存货出库单.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/发票存货出库单.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -96,7 +96,7 @@ namespace FastReport
}
-
+
@@ -139,8 +139,8 @@ namespace FastReport
-
-
+
+
@@ -166,7 +166,7 @@ namespace FastReport
-
+
@@ -227,7 +227,7 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/发货单.frx b/SGGL/FineUIPro.Web/File/Fastreport/发货单.frx
index ff204e02..c4d76467 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/发货单.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/发货单.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -42,7 +42,7 @@ namespace FastReport
}
-
+
@@ -71,7 +71,7 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/材料入库单.frx b/SGGL/FineUIPro.Web/File/Fastreport/材料入库单.frx
index 4b64d246..85cbaff0 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/材料入库单.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/材料入库单.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -84,7 +84,7 @@ namespace FastReport
}
-
+
@@ -137,7 +137,7 @@ namespace FastReport
-
+
@@ -161,7 +161,7 @@ namespace FastReport
-
+
@@ -198,7 +198,7 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/材料入库条码.frx b/SGGL/FineUIPro.Web/File/Fastreport/材料入库条码.frx
index 0df764c4..db3a94ea 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/材料入库条码.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/材料入库条码.frx
@@ -1,26 +1,5 @@
-
-
- using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Windows.Forms;
-using System.Drawing;
-using System.Data;
-using FastReport;
-using FastReport.Data;
-using FastReport.Dialog;
-using FastReport.Barcode;
-using FastReport.Table;
-using FastReport.Utils;
-
-namespace FastReport
-{
- public class ReportScript
- {
- }
-}
-
+
+
@@ -34,8 +13,8 @@ namespace FastReport
-
-
+
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/材料入库计划单.frx b/SGGL/FineUIPro.Web/File/Fastreport/材料入库计划单.frx
index 92f84e74..4950808b 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/材料入库计划单.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/材料入库计划单.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -84,7 +84,7 @@ namespace FastReport
}
-
+
@@ -137,7 +137,7 @@ namespace FastReport
-
+
@@ -161,7 +161,7 @@ namespace FastReport
-
+
@@ -195,7 +195,7 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/材料出库单.frx b/SGGL/FineUIPro.Web/File/Fastreport/材料出库单.frx
index 81a439cb..6c73c25e 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/材料出库单.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/材料出库单.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -84,7 +84,7 @@ namespace FastReport
}
-
+
@@ -137,7 +137,7 @@ namespace FastReport
-
+
@@ -161,7 +161,7 @@ namespace FastReport
-
+
@@ -198,7 +198,7 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/材料出库计划单.frx b/SGGL/FineUIPro.Web/File/Fastreport/材料出库计划单.frx
index b0a5e3d0..ecac1ae2 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/材料出库计划单.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/材料出库计划单.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -84,7 +84,7 @@ namespace FastReport
}
-
+
@@ -137,7 +137,7 @@ namespace FastReport
-
+
@@ -161,7 +161,7 @@ namespace FastReport
-
+
@@ -195,7 +195,7 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/组件打印.frx b/SGGL/FineUIPro.Web/File/Fastreport/组件打印.frx
index 8bdea399..e631d637 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/组件打印.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/组件打印.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -99,7 +99,7 @@ namespace FastReport
}
-
+
@@ -149,7 +149,7 @@ namespace FastReport
-
+
@@ -165,7 +165,7 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/装箱单.frx b/SGGL/FineUIPro.Web/File/Fastreport/装箱单.frx
index 97891a02..3adf14b6 100644
--- a/SGGL/FineUIPro.Web/File/Fastreport/装箱单.frx
+++ b/SGGL/FineUIPro.Web/File/Fastreport/装箱单.frx
@@ -1,5 +1,5 @@
-
+
using System;
using System.Collections;
using System.Collections.Generic;
@@ -42,7 +42,7 @@ namespace FastReport
}
-
+
@@ -63,9 +63,9 @@ namespace FastReport
-
+
-
+
@@ -99,7 +99,7 @@ namespace FastReport
-
+
@@ -116,9 +116,9 @@ namespace FastReport
-
+
-
+
@@ -138,6 +138,6 @@ namespace FastReport
-
+
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 3aa70c7b..8adc138b 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1647,6 +1647,10 @@
+
+
+
+
@@ -11037,6 +11041,34 @@
PackagingManageView.aspx
+
+ CuttingCheck.aspx
+ ASPXCodeBehind
+
+
+ CuttingCheck.aspx
+
+
+ CuttingCheckEdit.aspx
+ ASPXCodeBehind
+
+
+ CuttingCheckEdit.aspx
+
+
+ FitupCheck.aspx
+ ASPXCodeBehind
+
+
+ FitupCheck.aspx
+
+
+ FitupCheckEdit.aspx
+ ASPXCodeBehind
+
+
+ FitupCheckEdit.aspx
+
InstallList.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx
new file mode 100644
index 00000000..8e127ee3
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx
@@ -0,0 +1,85 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CuttingCheck.aspx.cs" Inherits="FineUIPro.Web.HJGL.PreWeld.CuttingCheck" %>
+
+
+
+
+ 下料抽检记录台账
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx.cs b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx.cs
new file mode 100644
index 00000000..aa1cfa99
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx.cs
@@ -0,0 +1,74 @@
+using BLL;
+using System;
+
+namespace FineUIPro.Web.HJGL.PreWeld
+{
+ public partial class CuttingCheck : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
+ BindGrid();
+ }
+ }
+
+ private void BindGrid()
+ {
+ var result = PreWeldInspectionService.GetCuttingCheckList(
+ CurrUser.LoginProjectId,
+ txtPipelineCode.Text.Trim(),
+ txtWeldJointCode.Text.Trim(),
+ Grid1.PageIndex,
+ Grid1.PageSize);
+ Grid1.RecordCount = result.Item2;
+ Grid1.DataSource = result.Item1;
+ Grid1.DataBind();
+ }
+
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ Grid1.PageIndex = e.NewPageIndex;
+ BindGrid();
+ }
+
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ Grid1.PageIndex = 0;
+ BindGrid();
+ }
+
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.PersonId, Const.HJGL_PreWeldCuttingCheckMenuId, Const.BtnAdd))
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference("CuttingCheckEdit.aspx"));
+ }
+ }
+
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.PersonId, Const.HJGL_PreWeldCuttingCheckMenuId, Const.BtnModify))
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("CuttingCheckEdit.aspx?CuttingCheckId={0}", Grid1.SelectedRowID)));
+ }
+ }
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx.designer.cs
new file mode 100644
index 00000000..1f0181e6
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheck.aspx.designer.cs
@@ -0,0 +1,143 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HJGL.PreWeld
+{
+
+
+ public partial class CuttingCheck
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// txtPipelineCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtPipelineCode;
+
+ ///
+ /// txtWeldJointCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtWeldJointCode;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx
new file mode 100644
index 00000000..b6fe93ad
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx
@@ -0,0 +1,65 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CuttingCheckEdit.aspx.cs" Inherits="FineUIPro.Web.HJGL.PreWeld.CuttingCheckEdit" %>
+
+
+
+
+ 编辑下料抽检
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx.cs b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx.cs
new file mode 100644
index 00000000..ee6b9114
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx.cs
@@ -0,0 +1,92 @@
+using BLL;
+using System;
+using System.Linq;
+
+namespace FineUIPro.Web.HJGL.PreWeld
+{
+ public partial class CuttingCheckEdit : PageBase
+ {
+ public string CuttingCheckId
+ {
+ get { return (string)ViewState["CuttingCheckId"]; }
+ set { ViewState["CuttingCheckId"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ btnClose.OnClientClick = ActiveWindow.GetHideReference();
+ CuttingCheckId = Request.Params["CuttingCheckId"];
+ BindWeldJoint();
+ if (!string.IsNullOrEmpty(CuttingCheckId))
+ {
+ BindData();
+ }
+ else
+ {
+ dpCheckTime.SelectedDate = DateTime.Now;
+ }
+ }
+ }
+
+ private void BindWeldJoint()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var data = (from x in db.HJGL_WeldJoint
+ where x.ProjectId == CurrUser.LoginProjectId
+ orderby x.PipelineCode, x.WeldJointCode
+ select new
+ {
+ x.WeldJointId,
+ WeldJointName = x.PipelineCode + " / " + x.WeldJointCode
+ }).ToList();
+ drpWeldJoint.DataTextField = "WeldJointName";
+ drpWeldJoint.DataValueField = "WeldJointId";
+ drpWeldJoint.DataSource = data;
+ drpWeldJoint.DataBind();
+ }
+ }
+
+ private void BindData()
+ {
+ var model = PreWeldInspectionService.GetCuttingCheckById(CuttingCheckId);
+ if (model == null)
+ {
+ return;
+ }
+
+ drpWeldJoint.SelectedValue = model.WeldJointId;
+ chkMaterialCodeBatchNo.Checked = model.IsMaterialCodeBatchNoAccurate;
+ chkMaterialQuantity.Checked = model.IsMaterialQuantityAccurate;
+ dpCheckTime.SelectedDate = model.CheckTime;
+ txtRemark.Text = model.Remark;
+ }
+
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ if (!CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.PersonId, Const.HJGL_PreWeldCuttingCheckMenuId, Const.BtnSave))
+ {
+ Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var item = new Model.PreWeldCuttingCheckItem
+ {
+ ProjectId = CurrUser.LoginProjectId,
+ WeldJointId = drpWeldJoint.SelectedValue,
+ IsMaterialCodeBatchNoAccurate = chkMaterialCodeBatchNo.Checked,
+ IsMaterialQuantityAccurate = chkMaterialQuantity.Checked,
+ CheckPerson = CurrUser.PersonId,
+ CheckTime = dpCheckTime.SelectedDate ?? DateTime.Now,
+ CreateUser = CurrUser.PersonId,
+ Remark = txtRemark.Text.Trim()
+ };
+
+ APIPreWeldInspectionService.SaveCuttingCheck(item);
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
+ }
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx.designer.cs
new file mode 100644
index 00000000..940ccf53
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/CuttingCheckEdit.aspx.designer.cs
@@ -0,0 +1,116 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HJGL.PreWeld
+{
+
+
+ public partial class CuttingCheckEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// drpWeldJoint 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpWeldJoint;
+
+ ///
+ /// chkMaterialCodeBatchNo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox chkMaterialCodeBatchNo;
+
+ ///
+ /// chkMaterialQuantity 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox chkMaterialQuantity;
+
+ ///
+ /// dpCheckTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker dpCheckTime;
+
+ ///
+ /// txtRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtRemark;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// btnClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnClose;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx
new file mode 100644
index 00000000..f925885f
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx
@@ -0,0 +1,85 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FitupCheck.aspx.cs" Inherits="FineUIPro.Web.HJGL.PreWeld.FitupCheck" %>
+
+
+
+
+ 组对抽检列表台账
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx.cs b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx.cs
new file mode 100644
index 00000000..d9113eea
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx.cs
@@ -0,0 +1,74 @@
+using BLL;
+using System;
+
+namespace FineUIPro.Web.HJGL.PreWeld
+{
+ public partial class FitupCheck : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
+ BindGrid();
+ }
+ }
+
+ private void BindGrid()
+ {
+ var result = PreWeldInspectionService.GetFitupCheckList(
+ CurrUser.LoginProjectId,
+ txtPipelineCode.Text.Trim(),
+ txtWeldJointCode.Text.Trim(),
+ Grid1.PageIndex,
+ Grid1.PageSize);
+ Grid1.RecordCount = result.Item2;
+ Grid1.DataSource = result.Item1;
+ Grid1.DataBind();
+ }
+
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ Grid1.PageIndex = e.NewPageIndex;
+ BindGrid();
+ }
+
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ Grid1.PageIndex = 0;
+ BindGrid();
+ }
+
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.PersonId, Const.HJGL_PreWeldFitupCheckMenuId, Const.BtnAdd))
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference("FitupCheckEdit.aspx"));
+ }
+ }
+
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.PersonId, Const.HJGL_PreWeldFitupCheckMenuId, Const.BtnModify))
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("FitupCheckEdit.aspx?WeldJointId={0}", Grid1.SelectedRowID)));
+ }
+ }
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx.designer.cs
new file mode 100644
index 00000000..36fe2914
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheck.aspx.designer.cs
@@ -0,0 +1,143 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HJGL.PreWeld
+{
+
+
+ public partial class FitupCheck
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// txtPipelineCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtPipelineCode;
+
+ ///
+ /// txtWeldJointCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtWeldJointCode;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx
new file mode 100644
index 00000000..280c2da3
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx
@@ -0,0 +1,82 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FitupCheckEdit.aspx.cs" Inherits="FineUIPro.Web.HJGL.PreWeld.FitupCheckEdit" %>
+
+
+
+
+ 编辑组对抽检
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx.cs b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx.cs
new file mode 100644
index 00000000..dd4ab52e
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx.cs
@@ -0,0 +1,133 @@
+using BLL;
+using System;
+using System.Linq;
+
+namespace FineUIPro.Web.HJGL.PreWeld
+{
+ public partial class FitupCheckEdit : PageBase
+ {
+ public string WeldJointId
+ {
+ get { return (string)ViewState["WeldJointId"]; }
+ set { ViewState["WeldJointId"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ btnClose.OnClientClick = ActiveWindow.GetHideReference();
+ WeldJointId = Request.Params["WeldJointId"];
+ BindWeldJoint();
+ BindGrooveType();
+ if (!string.IsNullOrEmpty(WeldJointId))
+ {
+ BindData();
+ }
+ else
+ {
+ dpCheckTime.SelectedDate = DateTime.Now;
+ }
+ }
+ }
+
+ private void BindWeldJoint()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var data = (from x in db.HJGL_WeldJoint
+ where x.ProjectId == CurrUser.LoginProjectId
+ orderby x.PipelineCode, x.WeldJointCode
+ select new
+ {
+ x.WeldJointId,
+ WeldJointName = x.PipelineCode + " / " + x.WeldJointCode
+ }).ToList();
+ drpWeldJoint.DataTextField = "WeldJointName";
+ drpWeldJoint.DataValueField = "WeldJointId";
+ drpWeldJoint.DataSource = data;
+ drpWeldJoint.DataBind();
+ }
+ }
+
+ private void BindGrooveType()
+ {
+ drpGrooveType.DataTextField = "BaseInfoName";
+ drpGrooveType.DataValueField = "BaseInfoId";
+ drpGrooveType.DataSource = APIBaseInfoService.getGrooveType();
+ drpGrooveType.DataBind();
+ }
+
+ private void BindData()
+ {
+ var model = PreWeldInspectionService.GetFitupCheckByWeldJointId(WeldJointId);
+ var weldJoint = APIPreWeldInspectionService.GetPreWeldJointByWeldJointId(WeldJointId);
+ if (weldJoint != null)
+ {
+ drpWeldJoint.SelectedValue = weldJoint.WeldJointId;
+ drpWeldJoint.Enabled = false;
+ drpGrooveType.SelectedValue = weldJoint.GrooveTypeId;
+ txtGrooveProcessType.Text = weldJoint.GrooveProcessType;
+ if (weldJoint.GrooveAngle.HasValue)
+ {
+ numGrooveAngle.Text = weldJoint.GrooveAngle.Value.ToString();
+ }
+ if (weldJoint.FitupGap.HasValue)
+ {
+ numFitupGap.Text = weldJoint.FitupGap.Value.ToString();
+ }
+ if (weldJoint.Misalignment.HasValue)
+ {
+ numMisalignment.Text = weldJoint.Misalignment.Value.ToString();
+ }
+ }
+ if (model != null)
+ {
+ drpGrooveType.SelectedValue = model.GrooveTypeId;
+ txtGrooveProcessType.Text = model.GrooveProcessType;
+ if (model.GrooveAngle.HasValue)
+ {
+ numGrooveAngle.Text = model.GrooveAngle.Value.ToString();
+ }
+ if (model.FitupGap.HasValue)
+ {
+ numFitupGap.Text = model.FitupGap.Value.ToString();
+ }
+ if (model.Misalignment.HasValue)
+ {
+ numMisalignment.Text = model.Misalignment.Value.ToString();
+ }
+ dpCheckTime.SelectedDate = model.CheckTime;
+ txtRemark.Text = model.Remark;
+ }
+ }
+
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ if (!CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.PersonId, Const.HJGL_PreWeldFitupCheckMenuId, Const.BtnSave))
+ {
+ Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var item = new Model.PreWeldFitupCheckItem
+ {
+ ProjectId = CurrUser.LoginProjectId,
+ WeldJointId = drpWeldJoint.SelectedValue,
+ GrooveTypeId = drpGrooveType.SelectedValue,
+ GrooveProcessType = txtGrooveProcessType.Text.Trim(),
+ GrooveAngle = string.IsNullOrWhiteSpace(numGrooveAngle.Text) ? (decimal?)null : Convert.ToDecimal(numGrooveAngle.Text),
+ FitupGap = string.IsNullOrWhiteSpace(numFitupGap.Text) ? (decimal?)null : Convert.ToDecimal(numFitupGap.Text),
+ Misalignment = string.IsNullOrWhiteSpace(numMisalignment.Text) ? (decimal?)null : Convert.ToDecimal(numMisalignment.Text),
+ CheckPerson = CurrUser.PersonId,
+ CheckTime = dpCheckTime.SelectedDate ?? DateTime.Now,
+ CreateUser = CurrUser.PersonId,
+ Remark = txtRemark.Text.Trim()
+ };
+
+ APIPreWeldInspectionService.SaveFitupCheck(item);
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
+ }
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx.designer.cs
new file mode 100644
index 00000000..61e38245
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/PreWeld/FitupCheckEdit.aspx.designer.cs
@@ -0,0 +1,143 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HJGL.PreWeld
+{
+
+
+ public partial class FitupCheckEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// drpWeldJoint 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpWeldJoint;
+
+ ///
+ /// drpGrooveType 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpGrooveType;
+
+ ///
+ /// txtGrooveProcessType 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtGrooveProcessType;
+
+ ///
+ /// numGrooveAngle 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox numGrooveAngle;
+
+ ///
+ /// numFitupGap 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox numFitupGap;
+
+ ///
+ /// numMisalignment 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox numMisalignment;
+
+ ///
+ /// dpCheckTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker dpCheckTime;
+
+ ///
+ /// txtRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtRemark;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// btnClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnClose;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx b/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx
index de5ae6ab..bbc8655f 100644
--- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx
@@ -22,6 +22,8 @@
+
+
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx.cs
index 34e12ba8..122caf0c 100644
--- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx.cs
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx.cs
@@ -117,8 +117,8 @@ namespace FineUIPro.Web.HJGL.WeldingManage
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
- string uploadfilepath = rootPath + Const.PipelineMatTemplateUrl;
- string filePath = Const.PipelineMatTemplateUrl;
+ string filePath = ckIncludeBatch.Checked ? Const.PipelineMatWithBatchTemplateUrl : Const.PipelineMatTemplateUrl;
+ string uploadfilepath = rootPath + filePath;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
@@ -137,8 +137,11 @@ namespace FineUIPro.Web.HJGL.WeldingManage
{
Model.ResponeData responeData = new Model.ResponeData();
List result = new List();
+ bool includeBatch = ckIncludeBatch.Checked;
+ int minColumnCount = includeBatch ? 7 : 5;
- if (count < 5)
+ matList.Clear();
+ if (count < minColumnCount)
{
responeData.code = 0;
responeData.message = "导入Excel格式错误!Excel只有" + count.ToString().Trim() + "列";
@@ -204,14 +207,38 @@ namespace FineUIPro.Web.HJGL.WeldingManage
if (pds[i].D != null && !string.IsNullOrEmpty(pds[i].D.ToString()))
{
string materialCode = pds[i].D.ToString().Trim();
- var lib = from x in Funs.DB.HJGL_MaterialCodeLib where x.Code == materialCode select x;
- if (lib.Count() > 0)
+ item.MaterialCode2 = materialCode;
+ if (includeBatch)
{
- item.MaterialCode2 = materialCode;
+ string heatNo = pds[i].F == null ? string.Empty : pds[i].F.ToString().Trim();
+ string batchNo = pds[i].G == null ? string.Empty : pds[i].G.ToString().Trim();
+ if (string.IsNullOrEmpty(heatNo))
+ {
+ result.Add((i + 2) + "Line, [炉号] 不能为空");
+ }
+ if (string.IsNullOrEmpty(batchNo))
+ {
+ result.Add((i + 2) + "Line, [批号] 不能为空");
+ }
+
+ string mainMaterialCode = materialCode + "-" + heatNo + "-" + batchNo;
+ var lib = from x in Funs.DB.HJGL_MaterialCodeLib where x.MaterialCode == mainMaterialCode select x;
+ if (lib.Count() > 0)
+ {
+ item.MaterialCode = lib.First().MaterialCode;
+ }
+ else
+ {
+ result.Add("第" + (i + 2).ToString() + "行,材料编码库不存在此材料主编码-" + mainMaterialCode + "");
+ }
}
else
{
- result.Add("第" + (i + 2).ToString() + "行,材料编码库不存在此材料编码-" + materialCode + "");
+ var lib = from x in Funs.DB.HJGL_MaterialCodeLib where x.Code == materialCode select x;
+ if (lib.Count() == 0)
+ {
+ result.Add("第" + (i + 2).ToString() + "行,材料编码库不存在此材料编码-" + materialCode + "");
+ }
}
}
else
@@ -252,7 +279,9 @@ namespace FineUIPro.Web.HJGL.WeldingManage
// result.Add((i + 2) + "Line, [预制组件] 不能为空");
}
}
- var model = matList.Where(x => x.PipelineId == item.PipelineId && x.MaterialCode2 == item.MaterialCode2 && x.WeldJointId == item.WeldJointId && x.PrefabricatedComponents == item.PrefabricatedComponents);
+ var model = includeBatch
+ ? matList.Where(x => x.PipelineId == item.PipelineId && x.MaterialCode == item.MaterialCode && x.WeldJointId == item.WeldJointId && x.PrefabricatedComponents == item.PrefabricatedComponents)
+ : matList.Where(x => x.PipelineId == item.PipelineId && x.MaterialCode2 == item.MaterialCode2 && x.WeldJointId == item.WeldJointId && x.PrefabricatedComponents == item.PrefabricatedComponents);
if (model.Count() == 0)
{
matList.Add(item);
@@ -488,6 +517,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
&& x.WeldJointId == item.WeldJointId
&& x.PipelineId == item.PipelineId
&& x.PrefabricatedComponents == item.PrefabricatedComponents
+ && (string.IsNullOrEmpty(item.MaterialCode) || x.MaterialCode == item.MaterialCode)
select x;
if (pipeLineMat.Count() == 0 || pipeLineMat == null)
{
diff --git a/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx.designer.cs
index 9d1c6152..d4dcfb29 100644
--- a/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/HJGL/WeldingManage/PipelineMatIn.aspx.designer.cs
@@ -68,6 +68,15 @@ namespace FineUIPro.Web.HJGL.WeldingManage
///
protected global::FineUIPro.DropDownList DrpType;
+ ///
+ /// ckIncludeBatch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.CheckBox ckIncludeBatch;
+
///
/// hdFileName 控件。
///
diff --git a/SGGL/FineUIPro.Web/common/Menu_HJGL.xml b/SGGL/FineUIPro.Web/common/Menu_HJGL.xml
index 7b7f8d23..d21fac20 100644
--- a/SGGL/FineUIPro.Web/common/Menu_HJGL.xml
+++ b/SGGL/FineUIPro.Web/common/Menu_HJGL.xml
@@ -44,6 +44,9 @@
+
+
+
diff --git a/SGGL/Model/APIItem/HJGL/PreWeldInspectionItem.cs b/SGGL/Model/APIItem/HJGL/PreWeldInspectionItem.cs
new file mode 100644
index 00000000..125ea362
--- /dev/null
+++ b/SGGL/Model/APIItem/HJGL/PreWeldInspectionItem.cs
@@ -0,0 +1,110 @@
+using System;
+
+namespace Model
+{
+ ///
+ /// 焊前抽检焊口信息
+ ///
+ public class PreWeldJointItem
+ {
+ public string WeldJointId { get; set; }
+
+ public string WeldJointCode { get; set; }
+
+ public string PipelineId { get; set; }
+
+ public string PipelineCode { get; set; }
+
+ public string ProjectId { get; set; }
+
+ public string GrooveTypeId { get; set; }
+
+ public string GrooveTypeCode { get; set; }
+
+ public string GrooveTypeName { get; set; }
+
+ public string GrooveProcessType { get; set; }
+
+ public decimal? GrooveAngle { get; set; }
+
+ public decimal? FitupGap { get; set; }
+
+ public decimal? Misalignment { get; set; }
+ }
+
+ ///
+ /// 下料抽检保存参数
+ ///
+ public class PreWeldCuttingCheckItem
+ {
+ public string CuttingCheckId { get; set; }
+
+ public string ProjectId { get; set; }
+
+ public string WeldJointId { get; set; }
+
+ public string PipelineCode { get; set; }
+
+ public string WeldJointCode { get; set; }
+
+ public bool IsMaterialCodeBatchNoAccurate { get; set; }
+
+ public bool IsMaterialQuantityAccurate { get; set; }
+
+ public bool IsQualified { get; set; }
+
+ public string CheckPerson { get; set; }
+
+ public string CheckPersonName { get; set; }
+
+ public DateTime? CheckTime { get; set; }
+
+ public string CreateUser { get; set; }
+
+ public DateTime? CreateTime { get; set; }
+
+ public string Remark { get; set; }
+ }
+
+ ///
+ /// 组对抽检保存参数
+ ///
+ public class PreWeldFitupCheckItem
+ {
+ public string FitupCheckId { get; set; }
+
+ public string ProjectId { get; set; }
+
+ public string WeldJointId { get; set; }
+
+ public string PipelineCode { get; set; }
+
+ public string WeldJointCode { get; set; }
+
+ public string GrooveTypeId { get; set; }
+
+ public string GrooveTypeCode { get; set; }
+
+ public string GrooveTypeName { get; set; }
+
+ public string GrooveProcessType { get; set; }
+
+ public decimal? GrooveAngle { get; set; }
+
+ public decimal? FitupGap { get; set; }
+
+ public decimal? Misalignment { get; set; }
+
+ public string CheckPerson { get; set; }
+
+ public string CheckPersonName { get; set; }
+
+ public DateTime? CheckTime { get; set; }
+
+ public string CreateUser { get; set; }
+
+ public DateTime? CreateTime { get; set; }
+
+ public string Remark { get; set; }
+ }
+}
diff --git a/SGGL/Model/CLGL/Tw_InputDetailBarCodeOutput.cs b/SGGL/Model/CLGL/Tw_InputDetailBarCodeOutput.cs
index c432dfac..b429880d 100644
--- a/SGGL/Model/CLGL/Tw_InputDetailBarCodeOutput.cs
+++ b/SGGL/Model/CLGL/Tw_InputDetailBarCodeOutput.cs
@@ -12,6 +12,8 @@ namespace Model
public string BatchNo { get; set; }
public string MaterialName { get; set; }
public string MaterialDef { get; set; }
+ public string MaterialSpec { get; set; }
+ public string MaterialUnit { get; set; }
public string BarCode { get; set; }
}
}
diff --git a/SGGL/Model/HJGL/MaterialCodeLibBarCodeOutput.cs b/SGGL/Model/HJGL/MaterialCodeLibBarCodeOutput.cs
new file mode 100644
index 00000000..f03c5adc
--- /dev/null
+++ b/SGGL/Model/HJGL/MaterialCodeLibBarCodeOutput.cs
@@ -0,0 +1,14 @@
+namespace Model
+{
+ public class MaterialCodeLibBarCodeOutput
+ {
+ public string MaterialCode { get; set; }
+ public string Code { get; set; }
+ public string HeatNo { get; set; }
+ public string BatchNo { get; set; }
+ public string MaterialName { get; set; }
+ public string MaterialDef { get; set; }
+ public string MaterialSpec { get; set; }
+ public string MaterialUnit { get; set; }
+ }
+}
diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs
index b6bf7b35..cc35937e 100644
--- a/SGGL/Model/Model.cs
+++ b/SGGL/Model/Model.cs
@@ -719,6 +719,12 @@ namespace Model
partial void InsertHJGL_PipeLineMat(HJGL_PipeLineMat instance);
partial void UpdateHJGL_PipeLineMat(HJGL_PipeLineMat instance);
partial void DeleteHJGL_PipeLineMat(HJGL_PipeLineMat instance);
+ partial void InsertHJGL_PreWeldCuttingCheck(HJGL_PreWeldCuttingCheck instance);
+ partial void UpdateHJGL_PreWeldCuttingCheck(HJGL_PreWeldCuttingCheck instance);
+ partial void DeleteHJGL_PreWeldCuttingCheck(HJGL_PreWeldCuttingCheck instance);
+ partial void InsertHJGL_PreWeldFitupCheck(HJGL_PreWeldFitupCheck instance);
+ partial void UpdateHJGL_PreWeldFitupCheck(HJGL_PreWeldFitupCheck instance);
+ partial void DeleteHJGL_PreWeldFitupCheck(HJGL_PreWeldFitupCheck instance);
partial void InsertHJGL_PreWeldingDaily(HJGL_PreWeldingDaily instance);
partial void UpdateHJGL_PreWeldingDaily(HJGL_PreWeldingDaily instance);
partial void DeleteHJGL_PreWeldingDaily(HJGL_PreWeldingDaily instance);
@@ -3818,6 +3824,22 @@ namespace Model
}
}
+ public System.Data.Linq.Table HJGL_PreWeldCuttingCheck
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
+ public System.Data.Linq.Table HJGL_PreWeldFitupCheck
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
public System.Data.Linq.Table HJGL_PreWeldingDaily
{
get
@@ -21461,6 +21483,8 @@ namespace Model
private EntitySet _HJGL_WeldJoint;
+ private EntitySet _HJGL_PreWeldFitupCheck;
+
#region 可扩展性方法定义
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@@ -21478,6 +21502,7 @@ namespace Model
public Base_GrooveType()
{
this._HJGL_WeldJoint = new EntitySet(new Action(this.attach_HJGL_WeldJoint), new Action(this.detach_HJGL_WeldJoint));
+ this._HJGL_PreWeldFitupCheck = new EntitySet(new Action(this.attach_HJGL_PreWeldFitupCheck), new Action(this.detach_HJGL_PreWeldFitupCheck));
OnCreated();
}
@@ -21574,6 +21599,19 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_PreWeldFitupCheck_GrooveType", Storage="_HJGL_PreWeldFitupCheck", ThisKey="GrooveTypeId", OtherKey="GrooveTypeId", DeleteRule="NO ACTION")]
+ public EntitySet HJGL_PreWeldFitupCheck
+ {
+ get
+ {
+ return this._HJGL_PreWeldFitupCheck;
+ }
+ set
+ {
+ this._HJGL_PreWeldFitupCheck.Assign(value);
+ }
+ }
+
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
@@ -21605,6 +21643,18 @@ namespace Model
this.SendPropertyChanging();
entity.Base_GrooveType = null;
}
+
+ private void attach_HJGL_PreWeldFitupCheck(HJGL_PreWeldFitupCheck entity)
+ {
+ this.SendPropertyChanging();
+ entity.Base_GrooveType = this;
+ }
+
+ private void detach_HJGL_PreWeldFitupCheck(HJGL_PreWeldFitupCheck entity)
+ {
+ this.SendPropertyChanging();
+ entity.Base_GrooveType = null;
+ }
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Base_HSSEStandardListType")]
@@ -106196,6 +106246,781 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.HJGL_PreWeldCuttingCheck")]
+ public partial class HJGL_PreWeldCuttingCheck : INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
+
+ private string _CuttingCheckId;
+
+ private string _ProjectId;
+
+ private string _WeldJointId;
+
+ private bool _IsMaterialCodeBatchNoAccurate;
+
+ private bool _IsMaterialQuantityAccurate;
+
+ private bool _IsQualified;
+
+ private string _CheckPerson;
+
+ private System.Nullable _CheckTime;
+
+ private string _CreateUser;
+
+ private System.Nullable _CreateTime;
+
+ private string _Remark;
+
+ private EntityRef _HJGL_WeldJoint;
+
+ #region 可扩展性方法定义
+ partial void OnLoaded();
+ partial void OnValidate(System.Data.Linq.ChangeAction action);
+ partial void OnCreated();
+ partial void OnCuttingCheckIdChanging(string value);
+ partial void OnCuttingCheckIdChanged();
+ partial void OnProjectIdChanging(string value);
+ partial void OnProjectIdChanged();
+ partial void OnWeldJointIdChanging(string value);
+ partial void OnWeldJointIdChanged();
+ partial void OnIsMaterialCodeBatchNoAccurateChanging(bool value);
+ partial void OnIsMaterialCodeBatchNoAccurateChanged();
+ partial void OnIsMaterialQuantityAccurateChanging(bool value);
+ partial void OnIsMaterialQuantityAccurateChanged();
+ partial void OnIsQualifiedChanging(bool value);
+ partial void OnIsQualifiedChanged();
+ partial void OnCheckPersonChanging(string value);
+ partial void OnCheckPersonChanged();
+ partial void OnCheckTimeChanging(System.Nullable value);
+ partial void OnCheckTimeChanged();
+ partial void OnCreateUserChanging(string value);
+ partial void OnCreateUserChanged();
+ partial void OnCreateTimeChanging(System.Nullable value);
+ partial void OnCreateTimeChanged();
+ partial void OnRemarkChanging(string value);
+ partial void OnRemarkChanged();
+ #endregion
+
+ public HJGL_PreWeldCuttingCheck()
+ {
+ this._HJGL_WeldJoint = default(EntityRef);
+ OnCreated();
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CuttingCheckId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
+ public string CuttingCheckId
+ {
+ get
+ {
+ return this._CuttingCheckId;
+ }
+ set
+ {
+ if ((this._CuttingCheckId != value))
+ {
+ this.OnCuttingCheckIdChanging(value);
+ this.SendPropertyChanging();
+ this._CuttingCheckId = value;
+ this.SendPropertyChanged("CuttingCheckId");
+ this.OnCuttingCheckIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
+ public string ProjectId
+ {
+ get
+ {
+ return this._ProjectId;
+ }
+ set
+ {
+ if ((this._ProjectId != value))
+ {
+ this.OnProjectIdChanging(value);
+ this.SendPropertyChanging();
+ this._ProjectId = value;
+ this.SendPropertyChanged("ProjectId");
+ this.OnProjectIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldJointId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
+ public string WeldJointId
+ {
+ get
+ {
+ return this._WeldJointId;
+ }
+ set
+ {
+ if ((this._WeldJointId != value))
+ {
+ if (this._HJGL_WeldJoint.HasLoadedOrAssignedValue)
+ {
+ throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
+ }
+ this.OnWeldJointIdChanging(value);
+ this.SendPropertyChanging();
+ this._WeldJointId = value;
+ this.SendPropertyChanged("WeldJointId");
+ this.OnWeldJointIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsMaterialCodeBatchNoAccurate", DbType="Bit NOT NULL")]
+ public bool IsMaterialCodeBatchNoAccurate
+ {
+ get
+ {
+ return this._IsMaterialCodeBatchNoAccurate;
+ }
+ set
+ {
+ if ((this._IsMaterialCodeBatchNoAccurate != value))
+ {
+ this.OnIsMaterialCodeBatchNoAccurateChanging(value);
+ this.SendPropertyChanging();
+ this._IsMaterialCodeBatchNoAccurate = value;
+ this.SendPropertyChanged("IsMaterialCodeBatchNoAccurate");
+ this.OnIsMaterialCodeBatchNoAccurateChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsMaterialQuantityAccurate", DbType="Bit NOT NULL")]
+ public bool IsMaterialQuantityAccurate
+ {
+ get
+ {
+ return this._IsMaterialQuantityAccurate;
+ }
+ set
+ {
+ if ((this._IsMaterialQuantityAccurate != value))
+ {
+ this.OnIsMaterialQuantityAccurateChanging(value);
+ this.SendPropertyChanging();
+ this._IsMaterialQuantityAccurate = value;
+ this.SendPropertyChanged("IsMaterialQuantityAccurate");
+ this.OnIsMaterialQuantityAccurateChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsQualified", DbType="Bit NOT NULL")]
+ public bool IsQualified
+ {
+ get
+ {
+ return this._IsQualified;
+ }
+ set
+ {
+ if ((this._IsQualified != value))
+ {
+ this.OnIsQualifiedChanging(value);
+ this.SendPropertyChanging();
+ this._IsQualified = value;
+ this.SendPropertyChanged("IsQualified");
+ this.OnIsQualifiedChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CheckPerson", DbType="NVarChar(50)")]
+ public string CheckPerson
+ {
+ get
+ {
+ return this._CheckPerson;
+ }
+ set
+ {
+ if ((this._CheckPerson != value))
+ {
+ this.OnCheckPersonChanging(value);
+ this.SendPropertyChanging();
+ this._CheckPerson = value;
+ this.SendPropertyChanged("CheckPerson");
+ this.OnCheckPersonChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CheckTime", DbType="DateTime")]
+ public System.Nullable CheckTime
+ {
+ get
+ {
+ return this._CheckTime;
+ }
+ set
+ {
+ if ((this._CheckTime != value))
+ {
+ this.OnCheckTimeChanging(value);
+ this.SendPropertyChanging();
+ this._CheckTime = value;
+ this.SendPropertyChanged("CheckTime");
+ this.OnCheckTimeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUser", DbType="NVarChar(50)")]
+ public string CreateUser
+ {
+ get
+ {
+ return this._CreateUser;
+ }
+ set
+ {
+ if ((this._CreateUser != value))
+ {
+ this.OnCreateUserChanging(value);
+ this.SendPropertyChanging();
+ this._CreateUser = value;
+ this.SendPropertyChanged("CreateUser");
+ this.OnCreateUserChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateTime", DbType="DateTime")]
+ public System.Nullable CreateTime
+ {
+ get
+ {
+ return this._CreateTime;
+ }
+ set
+ {
+ if ((this._CreateTime != value))
+ {
+ this.OnCreateTimeChanging(value);
+ this.SendPropertyChanging();
+ this._CreateTime = value;
+ this.SendPropertyChanged("CreateTime");
+ this.OnCreateTimeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(500)")]
+ public string Remark
+ {
+ get
+ {
+ return this._Remark;
+ }
+ set
+ {
+ if ((this._Remark != value))
+ {
+ this.OnRemarkChanging(value);
+ this.SendPropertyChanging();
+ this._Remark = value;
+ this.SendPropertyChanged("Remark");
+ this.OnRemarkChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_PreWeldCuttingCheck_WeldJoint", Storage="_HJGL_WeldJoint", ThisKey="WeldJointId", OtherKey="WeldJointId", IsForeignKey=true)]
+ public HJGL_WeldJoint HJGL_WeldJoint
+ {
+ get
+ {
+ return this._HJGL_WeldJoint.Entity;
+ }
+ set
+ {
+ HJGL_WeldJoint previousValue = this._HJGL_WeldJoint.Entity;
+ if (((previousValue != value)
+ || (this._HJGL_WeldJoint.HasLoadedOrAssignedValue == false)))
+ {
+ this.SendPropertyChanging();
+ if ((previousValue != null))
+ {
+ this._HJGL_WeldJoint.Entity = null;
+ previousValue.HJGL_PreWeldCuttingCheck = null;
+ }
+ this._HJGL_WeldJoint.Entity = value;
+ if ((value != null))
+ {
+ value.HJGL_PreWeldCuttingCheck = this;
+ this._WeldJointId = value.WeldJointId;
+ }
+ else
+ {
+ this._WeldJointId = default(string);
+ }
+ this.SendPropertyChanged("HJGL_WeldJoint");
+ }
+ }
+ }
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected virtual void SendPropertyChanging()
+ {
+ if ((this.PropertyChanging != null))
+ {
+ this.PropertyChanging(this, emptyChangingEventArgs);
+ }
+ }
+
+ protected virtual void SendPropertyChanged(String propertyName)
+ {
+ if ((this.PropertyChanged != null))
+ {
+ this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.HJGL_PreWeldFitupCheck")]
+ public partial class HJGL_PreWeldFitupCheck : INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
+
+ private string _FitupCheckId;
+
+ private string _ProjectId;
+
+ private string _WeldJointId;
+
+ private string _GrooveTypeId;
+
+ private string _GrooveProcessType;
+
+ private System.Nullable _GrooveAngle;
+
+ private System.Nullable _FitupGap;
+
+ private System.Nullable _Misalignment;
+
+ private string _CheckPerson;
+
+ private System.Nullable _CheckTime;
+
+ private string _CreateUser;
+
+ private System.Nullable _CreateTime;
+
+ private string _Remark;
+
+ private EntityRef _Base_GrooveType;
+
+ private EntityRef _HJGL_WeldJoint;
+
+ #region 可扩展性方法定义
+ partial void OnLoaded();
+ partial void OnValidate(System.Data.Linq.ChangeAction action);
+ partial void OnCreated();
+ partial void OnFitupCheckIdChanging(string value);
+ partial void OnFitupCheckIdChanged();
+ partial void OnProjectIdChanging(string value);
+ partial void OnProjectIdChanged();
+ partial void OnWeldJointIdChanging(string value);
+ partial void OnWeldJointIdChanged();
+ partial void OnGrooveTypeIdChanging(string value);
+ partial void OnGrooveTypeIdChanged();
+ partial void OnGrooveProcessTypeChanging(string value);
+ partial void OnGrooveProcessTypeChanged();
+ partial void OnGrooveAngleChanging(System.Nullable value);
+ partial void OnGrooveAngleChanged();
+ partial void OnFitupGapChanging(System.Nullable value);
+ partial void OnFitupGapChanged();
+ partial void OnMisalignmentChanging(System.Nullable value);
+ partial void OnMisalignmentChanged();
+ partial void OnCheckPersonChanging(string value);
+ partial void OnCheckPersonChanged();
+ partial void OnCheckTimeChanging(System.Nullable value);
+ partial void OnCheckTimeChanged();
+ partial void OnCreateUserChanging(string value);
+ partial void OnCreateUserChanged();
+ partial void OnCreateTimeChanging(System.Nullable value);
+ partial void OnCreateTimeChanged();
+ partial void OnRemarkChanging(string value);
+ partial void OnRemarkChanged();
+ #endregion
+
+ public HJGL_PreWeldFitupCheck()
+ {
+ this._Base_GrooveType = default(EntityRef);
+ this._HJGL_WeldJoint = default(EntityRef);
+ OnCreated();
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FitupCheckId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
+ public string FitupCheckId
+ {
+ get
+ {
+ return this._FitupCheckId;
+ }
+ set
+ {
+ if ((this._FitupCheckId != value))
+ {
+ this.OnFitupCheckIdChanging(value);
+ this.SendPropertyChanging();
+ this._FitupCheckId = value;
+ this.SendPropertyChanged("FitupCheckId");
+ this.OnFitupCheckIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
+ public string ProjectId
+ {
+ get
+ {
+ return this._ProjectId;
+ }
+ set
+ {
+ if ((this._ProjectId != value))
+ {
+ this.OnProjectIdChanging(value);
+ this.SendPropertyChanging();
+ this._ProjectId = value;
+ this.SendPropertyChanged("ProjectId");
+ this.OnProjectIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WeldJointId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
+ public string WeldJointId
+ {
+ get
+ {
+ return this._WeldJointId;
+ }
+ set
+ {
+ if ((this._WeldJointId != value))
+ {
+ if (this._HJGL_WeldJoint.HasLoadedOrAssignedValue)
+ {
+ throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
+ }
+ this.OnWeldJointIdChanging(value);
+ this.SendPropertyChanging();
+ this._WeldJointId = value;
+ this.SendPropertyChanged("WeldJointId");
+ this.OnWeldJointIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrooveTypeId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
+ public string GrooveTypeId
+ {
+ get
+ {
+ return this._GrooveTypeId;
+ }
+ set
+ {
+ if ((this._GrooveTypeId != value))
+ {
+ if (this._Base_GrooveType.HasLoadedOrAssignedValue)
+ {
+ throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
+ }
+ this.OnGrooveTypeIdChanging(value);
+ this.SendPropertyChanging();
+ this._GrooveTypeId = value;
+ this.SendPropertyChanged("GrooveTypeId");
+ this.OnGrooveTypeIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrooveProcessType", DbType="NVarChar(100)")]
+ public string GrooveProcessType
+ {
+ get
+ {
+ return this._GrooveProcessType;
+ }
+ set
+ {
+ if ((this._GrooveProcessType != value))
+ {
+ this.OnGrooveProcessTypeChanging(value);
+ this.SendPropertyChanging();
+ this._GrooveProcessType = value;
+ this.SendPropertyChanged("GrooveProcessType");
+ this.OnGrooveProcessTypeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrooveAngle", DbType="Decimal(18,2)")]
+ public System.Nullable GrooveAngle
+ {
+ get
+ {
+ return this._GrooveAngle;
+ }
+ set
+ {
+ if ((this._GrooveAngle != value))
+ {
+ this.OnGrooveAngleChanging(value);
+ this.SendPropertyChanging();
+ this._GrooveAngle = value;
+ this.SendPropertyChanged("GrooveAngle");
+ this.OnGrooveAngleChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FitupGap", DbType="Decimal(18,2)")]
+ public System.Nullable FitupGap
+ {
+ get
+ {
+ return this._FitupGap;
+ }
+ set
+ {
+ if ((this._FitupGap != value))
+ {
+ this.OnFitupGapChanging(value);
+ this.SendPropertyChanging();
+ this._FitupGap = value;
+ this.SendPropertyChanged("FitupGap");
+ this.OnFitupGapChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Misalignment", DbType="Decimal(18,2)")]
+ public System.Nullable Misalignment
+ {
+ get
+ {
+ return this._Misalignment;
+ }
+ set
+ {
+ if ((this._Misalignment != value))
+ {
+ this.OnMisalignmentChanging(value);
+ this.SendPropertyChanging();
+ this._Misalignment = value;
+ this.SendPropertyChanged("Misalignment");
+ this.OnMisalignmentChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CheckPerson", DbType="NVarChar(50)")]
+ public string CheckPerson
+ {
+ get
+ {
+ return this._CheckPerson;
+ }
+ set
+ {
+ if ((this._CheckPerson != value))
+ {
+ this.OnCheckPersonChanging(value);
+ this.SendPropertyChanging();
+ this._CheckPerson = value;
+ this.SendPropertyChanged("CheckPerson");
+ this.OnCheckPersonChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CheckTime", DbType="DateTime")]
+ public System.Nullable CheckTime
+ {
+ get
+ {
+ return this._CheckTime;
+ }
+ set
+ {
+ if ((this._CheckTime != value))
+ {
+ this.OnCheckTimeChanging(value);
+ this.SendPropertyChanging();
+ this._CheckTime = value;
+ this.SendPropertyChanged("CheckTime");
+ this.OnCheckTimeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUser", DbType="NVarChar(50)")]
+ public string CreateUser
+ {
+ get
+ {
+ return this._CreateUser;
+ }
+ set
+ {
+ if ((this._CreateUser != value))
+ {
+ this.OnCreateUserChanging(value);
+ this.SendPropertyChanging();
+ this._CreateUser = value;
+ this.SendPropertyChanged("CreateUser");
+ this.OnCreateUserChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateTime", DbType="DateTime")]
+ public System.Nullable CreateTime
+ {
+ get
+ {
+ return this._CreateTime;
+ }
+ set
+ {
+ if ((this._CreateTime != value))
+ {
+ this.OnCreateTimeChanging(value);
+ this.SendPropertyChanging();
+ this._CreateTime = value;
+ this.SendPropertyChanged("CreateTime");
+ this.OnCreateTimeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(500)")]
+ public string Remark
+ {
+ get
+ {
+ return this._Remark;
+ }
+ set
+ {
+ if ((this._Remark != value))
+ {
+ this.OnRemarkChanging(value);
+ this.SendPropertyChanging();
+ this._Remark = value;
+ this.SendPropertyChanged("Remark");
+ this.OnRemarkChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_PreWeldFitupCheck_GrooveType", Storage="_Base_GrooveType", ThisKey="GrooveTypeId", OtherKey="GrooveTypeId", IsForeignKey=true)]
+ public Base_GrooveType Base_GrooveType
+ {
+ get
+ {
+ return this._Base_GrooveType.Entity;
+ }
+ set
+ {
+ Base_GrooveType previousValue = this._Base_GrooveType.Entity;
+ if (((previousValue != value)
+ || (this._Base_GrooveType.HasLoadedOrAssignedValue == false)))
+ {
+ this.SendPropertyChanging();
+ if ((previousValue != null))
+ {
+ this._Base_GrooveType.Entity = null;
+ previousValue.HJGL_PreWeldFitupCheck.Remove(this);
+ }
+ this._Base_GrooveType.Entity = value;
+ if ((value != null))
+ {
+ value.HJGL_PreWeldFitupCheck.Add(this);
+ this._GrooveTypeId = value.GrooveTypeId;
+ }
+ else
+ {
+ this._GrooveTypeId = default(string);
+ }
+ this.SendPropertyChanged("Base_GrooveType");
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_PreWeldFitupCheck_WeldJoint", Storage="_HJGL_WeldJoint", ThisKey="WeldJointId", OtherKey="WeldJointId", IsForeignKey=true)]
+ public HJGL_WeldJoint HJGL_WeldJoint
+ {
+ get
+ {
+ return this._HJGL_WeldJoint.Entity;
+ }
+ set
+ {
+ HJGL_WeldJoint previousValue = this._HJGL_WeldJoint.Entity;
+ if (((previousValue != value)
+ || (this._HJGL_WeldJoint.HasLoadedOrAssignedValue == false)))
+ {
+ this.SendPropertyChanging();
+ if ((previousValue != null))
+ {
+ this._HJGL_WeldJoint.Entity = null;
+ previousValue.HJGL_PreWeldFitupCheck = null;
+ }
+ this._HJGL_WeldJoint.Entity = value;
+ if ((value != null))
+ {
+ value.HJGL_PreWeldFitupCheck = this;
+ this._WeldJointId = value.WeldJointId;
+ }
+ else
+ {
+ this._WeldJointId = default(string);
+ }
+ this.SendPropertyChanged("HJGL_WeldJoint");
+ }
+ }
+ }
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected virtual void SendPropertyChanging()
+ {
+ if ((this.PropertyChanging != null))
+ {
+ this.PropertyChanging(this, emptyChangingEventArgs);
+ }
+ }
+
+ protected virtual void SendPropertyChanged(String propertyName)
+ {
+ if ((this.PropertyChanged != null))
+ {
+ this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.HJGL_PreWeldingDaily")]
public partial class HJGL_PreWeldingDaily : INotifyPropertyChanging, INotifyPropertyChanged
{
@@ -109613,6 +110438,14 @@ namespace Model
private string _Y2;
+ private string _GrooveProcessType;
+
+ private System.Nullable _GrooveAngle;
+
+ private System.Nullable _FitupGap;
+
+ private System.Nullable _Misalignment;
+
private EntitySet _HJGL_Batch_BatchTrustItem;
private EntitySet _HJGL_Batch_PointBatchItem;
@@ -109657,6 +110490,10 @@ namespace Model
private EntitySet _HJGL_HotProess_TrustItem;
+ private EntityRef _HJGL_PreWeldCuttingCheck;
+
+ private EntityRef _HJGL_PreWeldFitupCheck;
+
#region 可扩展性方法定义
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@@ -109771,6 +110608,14 @@ namespace Model
partial void OnX2Changed();
partial void OnY2Changing(string value);
partial void OnY2Changed();
+ partial void OnGrooveProcessTypeChanging(string value);
+ partial void OnGrooveProcessTypeChanged();
+ partial void OnGrooveAngleChanging(System.Nullable value);
+ partial void OnGrooveAngleChanged();
+ partial void OnFitupGapChanging(System.Nullable value);
+ partial void OnFitupGapChanged();
+ partial void OnMisalignmentChanging(System.Nullable value);
+ partial void OnMisalignmentChanged();
#endregion
public HJGL_WeldJoint()
@@ -109797,6 +110642,8 @@ namespace Model
this._WPQ_WPQList = default(EntityRef);
this._HJGL_HotProess_Report = new EntitySet(new Action(this.attach_HJGL_HotProess_Report), new Action(this.detach_HJGL_HotProess_Report));
this._HJGL_HotProess_TrustItem = new EntitySet(new Action(this.attach_HJGL_HotProess_TrustItem), new Action(this.detach_HJGL_HotProess_TrustItem));
+ this._HJGL_PreWeldCuttingCheck = default(EntityRef);
+ this._HJGL_PreWeldFitupCheck = default(EntityRef);
OnCreated();
}
@@ -110960,6 +111807,86 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrooveProcessType", DbType="NVarChar(100)")]
+ public string GrooveProcessType
+ {
+ get
+ {
+ return this._GrooveProcessType;
+ }
+ set
+ {
+ if ((this._GrooveProcessType != value))
+ {
+ this.OnGrooveProcessTypeChanging(value);
+ this.SendPropertyChanging();
+ this._GrooveProcessType = value;
+ this.SendPropertyChanged("GrooveProcessType");
+ this.OnGrooveProcessTypeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GrooveAngle", DbType="Decimal(18,2)")]
+ public System.Nullable GrooveAngle
+ {
+ get
+ {
+ return this._GrooveAngle;
+ }
+ set
+ {
+ if ((this._GrooveAngle != value))
+ {
+ this.OnGrooveAngleChanging(value);
+ this.SendPropertyChanging();
+ this._GrooveAngle = value;
+ this.SendPropertyChanged("GrooveAngle");
+ this.OnGrooveAngleChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FitupGap", DbType="Decimal(18,2)")]
+ public System.Nullable FitupGap
+ {
+ get
+ {
+ return this._FitupGap;
+ }
+ set
+ {
+ if ((this._FitupGap != value))
+ {
+ this.OnFitupGapChanging(value);
+ this.SendPropertyChanging();
+ this._FitupGap = value;
+ this.SendPropertyChanged("FitupGap");
+ this.OnFitupGapChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Misalignment", DbType="Decimal(18,2)")]
+ public System.Nullable Misalignment
+ {
+ get
+ {
+ return this._Misalignment;
+ }
+ set
+ {
+ if ((this._Misalignment != value))
+ {
+ this.OnMisalignmentChanging(value);
+ this.SendPropertyChanging();
+ this._Misalignment = value;
+ this.SendPropertyChanged("Misalignment");
+ this.OnMisalignmentChanged();
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_HJGL_Batch_BatchTrustItem_HJGL_WeldJoint", Storage="_HJGL_Batch_BatchTrustItem", ThisKey="WeldJointId", OtherKey="WeldJointId", DeleteRule="NO ACTION")]
public EntitySet HJGL_Batch_BatchTrustItem
{
@@ -111561,6 +112488,64 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_PreWeldCuttingCheck_WeldJoint", Storage="_HJGL_PreWeldCuttingCheck", ThisKey="WeldJointId", OtherKey="WeldJointId", IsUnique=true, IsForeignKey=false, DeleteRule="NO ACTION")]
+ public HJGL_PreWeldCuttingCheck HJGL_PreWeldCuttingCheck
+ {
+ get
+ {
+ return this._HJGL_PreWeldCuttingCheck.Entity;
+ }
+ set
+ {
+ HJGL_PreWeldCuttingCheck previousValue = this._HJGL_PreWeldCuttingCheck.Entity;
+ if (((previousValue != value)
+ || (this._HJGL_PreWeldCuttingCheck.HasLoadedOrAssignedValue == false)))
+ {
+ this.SendPropertyChanging();
+ if ((previousValue != null))
+ {
+ this._HJGL_PreWeldCuttingCheck.Entity = null;
+ previousValue.HJGL_WeldJoint = null;
+ }
+ this._HJGL_PreWeldCuttingCheck.Entity = value;
+ if ((value != null))
+ {
+ value.HJGL_WeldJoint = this;
+ }
+ this.SendPropertyChanged("HJGL_PreWeldCuttingCheck");
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_PreWeldFitupCheck_WeldJoint", Storage="_HJGL_PreWeldFitupCheck", ThisKey="WeldJointId", OtherKey="WeldJointId", IsUnique=true, IsForeignKey=false, DeleteRule="NO ACTION")]
+ public HJGL_PreWeldFitupCheck HJGL_PreWeldFitupCheck
+ {
+ get
+ {
+ return this._HJGL_PreWeldFitupCheck.Entity;
+ }
+ set
+ {
+ HJGL_PreWeldFitupCheck previousValue = this._HJGL_PreWeldFitupCheck.Entity;
+ if (((previousValue != value)
+ || (this._HJGL_PreWeldFitupCheck.HasLoadedOrAssignedValue == false)))
+ {
+ this.SendPropertyChanging();
+ if ((previousValue != null))
+ {
+ this._HJGL_PreWeldFitupCheck.Entity = null;
+ previousValue.HJGL_WeldJoint = null;
+ }
+ this._HJGL_PreWeldFitupCheck.Entity = value;
+ if ((value != null))
+ {
+ value.HJGL_WeldJoint = this;
+ }
+ this.SendPropertyChanged("HJGL_PreWeldFitupCheck");
+ }
+ }
+ }
+
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
diff --git a/SGGL/Model/Model.csproj b/SGGL/Model/Model.csproj
index 415dbd1a..e293ab7c 100644
--- a/SGGL/Model/Model.csproj
+++ b/SGGL/Model/Model.csproj
@@ -126,6 +126,7 @@
+
@@ -251,6 +252,7 @@
+
diff --git a/SGGL/WebAPI/Controllers/BaseInfoController.cs b/SGGL/WebAPI/Controllers/BaseInfoController.cs
index fd81e265..435289f4 100644
--- a/SGGL/WebAPI/Controllers/BaseInfoController.cs
+++ b/SGGL/WebAPI/Controllers/BaseInfoController.cs
@@ -189,6 +189,27 @@ namespace WebAPI.Controllers
return responeData;
}
+ ///
+ /// 根据材料主编码获取材料信息
+ ///
+ ///
+ ///
+ public Model.ResponeData GetMaterialInfoByMaterialCode(string materialCode)
+ {
+ var responeData = new Model.ResponeData();
+ try
+ {
+ responeData.data = BLL.MaterialCodeLibService.GetBarCodeMaterialInfo(materialCode);
+ }
+ catch (Exception ex)
+ {
+ responeData.code = 0;
+ responeData.message = ex.Message;
+ }
+
+ return responeData;
+ }
+
///
/// 获取探伤类型
///
@@ -229,6 +250,26 @@ namespace WebAPI.Controllers
return responeData;
}
+ ///
+ /// 获取坡口类型
+ ///
+ ///
+ public Model.ResponeData getGrooveType()
+ {
+ var responeData = new Model.ResponeData();
+ try
+ {
+ responeData.data = BLL.APIBaseInfoService.getGrooveType();
+ }
+ catch (Exception ex)
+ {
+ responeData.code = 0;
+ responeData.message = ex.Message;
+ }
+
+ return responeData;
+ }
+
#endregion
#region 获取专项检查处理措施
diff --git a/SGGL/WebAPI/Controllers/HJGL/WeldingManage/PreWeldInspectionController.cs b/SGGL/WebAPI/Controllers/HJGL/WeldingManage/PreWeldInspectionController.cs
new file mode 100644
index 00000000..5e4547a2
--- /dev/null
+++ b/SGGL/WebAPI/Controllers/HJGL/WeldingManage/PreWeldInspectionController.cs
@@ -0,0 +1,77 @@
+using BLL;
+using System;
+using System.Web.Http;
+
+namespace WebAPI.Controllers.HJGL.WeldingManage
+{
+ ///
+ /// 焊前抽检接口
+ ///
+ public class PreWeldInspectionController : ApiController
+ {
+ ///
+ /// 根据焊口ID获取焊前抽检基础信息
+ ///
+ /// 焊口ID
+ ///
+ public Model.ResponeData getPreWeldJointByWeldJointId(string WeldJointId)
+ {
+ var responeData = new Model.ResponeData();
+ try
+ {
+ responeData.data = APIPreWeldInspectionService.GetPreWeldJointByWeldJointId(WeldJointId);
+ }
+ catch (Exception ex)
+ {
+ responeData.code = 0;
+ responeData.message = ex.Message;
+ }
+
+ return responeData;
+ }
+
+ ///
+ /// 保存下料抽检记录
+ ///
+ /// 下料抽检参数
+ ///
+ [HttpPost]
+ public Model.ResponeData SaveCuttingCheck([FromBody] Model.PreWeldCuttingCheckItem item)
+ {
+ var responeData = new Model.ResponeData();
+ try
+ {
+ APIPreWeldInspectionService.SaveCuttingCheck(item);
+ }
+ catch (Exception ex)
+ {
+ responeData.code = 0;
+ responeData.message = ex.Message;
+ }
+
+ return responeData;
+ }
+
+ ///
+ /// 保存组对抽检记录
+ ///
+ /// 组对抽检参数
+ ///
+ [HttpPost]
+ public Model.ResponeData SaveFitupCheck([FromBody] Model.PreWeldFitupCheckItem item)
+ {
+ var responeData = new Model.ResponeData();
+ try
+ {
+ APIPreWeldInspectionService.SaveFitupCheck(item);
+ }
+ catch (Exception ex)
+ {
+ responeData.code = 0;
+ responeData.message = ex.Message;
+ }
+
+ return responeData;
+ }
+ }
+}
diff --git a/SGGL/WebAPI/ErrLog.txt b/SGGL/WebAPI/ErrLog.txt
index 0ad4fbbd..007307b4 100644
--- a/SGGL/WebAPI/ErrLog.txt
+++ b/SGGL/WebAPI/ErrLog.txt
@@ -201,3 +201,177 @@ IP地址:::1
出错时间:03/04/2025 14:46:02
+
+错误信息开始=====>
+错误类型:InvalidOperationException
+错误信息:“~/Views/Home/Index.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage。
+错误堆栈:
+ 在 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
+ 在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__5(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
+ 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+ 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
+ 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
+出错时间:06/16/2026 23:10:50
+出错文件:http://localhost:1766/
+IP地址:::1
+
+出错时间:06/16/2026 23:10:50
+
+
+错误信息开始=====>
+错误类型:InvalidOperationException
+错误信息:“~/Views/Home/Index.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage。
+错误堆栈:
+ 在 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
+ 在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__5(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
+ 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+ 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
+ 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
+出错时间:06/16/2026 23:17:56
+出错文件:http://localhost:1766/
+IP地址:::1
+
+出错时间:06/16/2026 23:17:56
+
+
+错误信息开始=====>
+错误类型:InvalidOperationException
+错误信息:“~/Views/Home/Index.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage。
+错误堆栈:
+ 在 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
+ 在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__5(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
+ 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+ 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
+ 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
+出错时间:06/16/2026 23:20:08
+出错文件:http://localhost:1766/
+IP地址:::1
+
+出错时间:06/16/2026 23:20:10
+
+
+错误信息开始=====>
+错误类型:InvalidOperationException
+错误信息:“~/Views/Home/Index.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage。
+错误堆栈:
+ 在 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
+ 在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__5(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
+ 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+ 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
+ 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
+出错时间:06/16/2026 23:21:02
+出错文件:http://localhost:1766/
+IP地址:::1
+
+出错时间:06/16/2026 23:21:02
+
+
+错误信息开始=====>
+错误类型:InvalidOperationException
+错误信息:“~/Views/Home/Index.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage。
+错误堆栈:
+ 在 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
+ 在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__5(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
+ 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+ 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
+ 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
+出错时间:06/17/2026 09:41:57
+出错文件:http://localhost:1766/
+IP地址:::1
+
+出错时间:06/17/2026 09:41:57
+
+
+错误信息开始=====>
+错误类型:InvalidOperationException
+错误信息:“~/Views/Home/Index.cshtml”处的视图必须派生自 WebViewPage 或 WebViewPage。
+错误堆栈:
+ 在 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
+ 在 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
+ 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__5(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState)
+ 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
+ 在 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
+ 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
+ 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
+ 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
+出错时间:06/17/2026 12:57:31
+出错文件:http://localhost:1766/
+IP地址:::1
+
+出错时间:06/17/2026 12:57:31
+
diff --git a/SGGL/WebAPI/Global.asax.cs b/SGGL/WebAPI/Global.asax.cs
index 529ee841..46b022f1 100644
--- a/SGGL/WebAPI/Global.asax.cs
+++ b/SGGL/WebAPI/Global.asax.cs
@@ -8,7 +8,7 @@ using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
-using WebAPI.Log;
+using WebAPI;
namespace WebAPI
{
@@ -33,7 +33,7 @@ namespace WebAPI
// 使api返回为json
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
- GlobalConfiguration.Configuration.MessageHandlers.Add(new CustomMessageHandler());
+ // GlobalConfiguration.Configuration.MessageHandlers.Add(new CustomMessageHandler());
}
///
diff --git a/SGGL/WebAPI/WebAPI.csproj b/SGGL/WebAPI/WebAPI.csproj
index f74dbd39..7cb6cf85 100644
--- a/SGGL/WebAPI/WebAPI.csproj
+++ b/SGGL/WebAPI/WebAPI.csproj
@@ -213,6 +213,7 @@
+
@@ -259,7 +260,6 @@
Global.asax
-
@@ -319,6 +319,7 @@
+