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 00000000..fe6cc8cd Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/DataIn/PipelineMatWithBatch.xlsx differ 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 @@ +