From 22e86caec349a55c06adb29008500b45aacefd99 Mon Sep 17 00:00:00 2001 From: wendy <408182087@qq.com> Date: Tue, 23 Apr 2024 16:41:21 +0800 Subject: [PATCH] =?UTF-8?q?20240423=20=E7=BB=BC=E5=90=88=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../版本日志/SGGLDB_WH_2024-04-23-bwj.sql | 12 + .../Comprehensive/DesignDetailsService.cs | 1 + .../GeneralPlanApprovalService.cs | 1 + .../SiteVisaManagementService.cs | 1 + .../Comprehensive/TrainingRecordsService.cs | 3 +- SGGL/BLL/Common/Const.cs | 22 +- .../DataReceivingDocDataIn.aspx.cs | 9 +- .../CQMS/Comprehensive/DesignDetails.aspx | 6 + .../CQMS/Comprehensive/DesignDetails.aspx.cs | 16 + .../DesignDetails.aspx.designer.cs | 68 +- .../Comprehensive/DesignDetailsDataIn.aspx | 68 + .../Comprehensive/DesignDetailsDataIn.aspx.cs | 484 +++++++ .../DesignDetailsDataIn.aspx.designer.cs | 123 ++ .../Comprehensive/GeneralPlanApproval.aspx | 6 + .../Comprehensive/GeneralPlanApproval.aspx.cs | 16 + .../GeneralPlanApproval.aspx.designer.cs | 18 + .../GeneralPlanApprovalDataIn.aspx | 68 + .../GeneralPlanApprovalDataIn.aspx.cs | 476 +++++++ ...GeneralPlanApprovalDataIn.aspx.designer.cs | 123 ++ .../Comprehensive/InspectionTestPlan.aspx | 6 + .../Comprehensive/InspectionTestPlan.aspx.cs | 16 +- .../InspectionTestPlan.aspx.designer.cs | 64 +- .../InspectionTestPlanDataIn.aspx | 68 + .../InspectionTestPlanDataIn.aspx.cs | 441 ++++++ .../InspectionTestPlanDataIn.aspx.designer.cs | 123 ++ .../CQMS/Comprehensive/ReviewDrawings.aspx | 2 + .../CQMS/Comprehensive/ReviewDrawings.aspx.cs | 16 +- .../ReviewDrawings.aspx.designer.cs | 63 +- .../Comprehensive/ReviewDrawingsDataIn.aspx | 68 + .../ReviewDrawingsDataIn.aspx.cs | 483 +++++++ .../ReviewDrawingsDataIn.aspx.designer.cs | 123 ++ .../SiteVisaManagementDataIn.aspx.cs | 21 +- .../Comprehensive/TrainingRecordsDataIn.aspx | 193 +-- .../TrainingRecordsDataIn.aspx.cs | 766 +++++----- .../TrainingRecordsDataIn.aspx.designer.cs | 180 +-- .../Excel/DataIn/图纸会审记录导入模板.xls | Bin 0 -> 19968 bytes .../File/Excel/DataIn/培训记录导入模板.xls | Bin 0 -> 19456 bytes .../File/Excel/DataIn/培训记录导入模板.xlsx | Bin 10425 -> 0 bytes .../DataIn/施工组织设计及施工方案导入模板.xls | Bin 0 -> 19456 bytes .../Excel/DataIn/检验试验计划导入模板.xls | Bin 0 -> 19456 bytes .../Excel/DataIn/现场签证管理导入模板.xls | Bin 19456 -> 19968 bytes .../File/Excel/DataIn/设计交底导入模板.xls | Bin 0 -> 19456 bytes SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 32 + SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user | 2 +- SGGL/FineUIPro.Web/Web.config | 4 +- SGGL/Model/Model.cs | 1262 +++++++++++------ SGGL/WebAPI/WebAPI.csproj.user | 2 +- 47 files changed, 4187 insertions(+), 1269 deletions(-) create mode 100644 DataBase/版本日志/SGGLDB_WH_2024-04-23-bwj.sql create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetailsDataIn.aspx create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetailsDataIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetailsDataIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalDataIn.aspx create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalDataIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApprovalDataIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanDataIn.aspx create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanDataIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanDataIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/图纸会审记录导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/培训记录导入模板.xls delete mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/培训记录导入模板.xlsx create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/施工组织设计及施工方案导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/检验试验计划导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/设计交底导入模板.xls diff --git a/DataBase/版本日志/SGGLDB_WH_2024-04-23-bwj.sql b/DataBase/版本日志/SGGLDB_WH_2024-04-23-bwj.sql new file mode 100644 index 00000000..226ed803 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_2024-04-23-bwj.sql @@ -0,0 +1,12 @@ +alter table Comprehensive_TrainingRecords add RemarkCode nvarchar(50) +alter table Comprehensive_SiteVisaManagement add RemarkCode nvarchar(50) +alter table Comprehensive_DesignDetails add RemarCode nvarchar(50) +alter table Inspection_Test_Plan add RemarkCode nvarchar(50) +alter table Comprehensive_ReviewDrawings add RemarkCode nvarchar(50) +alter table Comprehensive_GeneralPlanApproval add RemarkCode nvarchar(50) +alter table Comprehensive_MajorPlanApproval add RemarkCode nvarchar(50) +alter table Comprehensive_SpecialEquipment add RemarkCode nvarchar(50) +alter table Comprehensive_PressurePipe add RemarkCode nvarchar(50) +alter table Comprehensive_QualityAccident add RemarkCode nvarchar(50) +go + diff --git a/SGGL/BLL/CQMS/Comprehensive/DesignDetailsService.cs b/SGGL/BLL/CQMS/Comprehensive/DesignDetailsService.cs index 0e5ef697..bbb685b6 100644 --- a/SGGL/BLL/CQMS/Comprehensive/DesignDetailsService.cs +++ b/SGGL/BLL/CQMS/Comprehensive/DesignDetailsService.cs @@ -141,6 +141,7 @@ namespace BLL newDesignDetails.Status = designDetails.Status; newDesignDetails.AuditMan = designDetails.AuditMan; newDesignDetails.JoinPersonNum = designDetails.JoinPersonNum; + newDesignDetails.RemarCode = designDetails.RemarCode; db.Comprehensive_DesignDetails.InsertOnSubmit(newDesignDetails); db.SubmitChanges(); diff --git a/SGGL/BLL/CQMS/Comprehensive/GeneralPlanApprovalService.cs b/SGGL/BLL/CQMS/Comprehensive/GeneralPlanApprovalService.cs index 42c58e2e..649bb780 100644 --- a/SGGL/BLL/CQMS/Comprehensive/GeneralPlanApprovalService.cs +++ b/SGGL/BLL/CQMS/Comprehensive/GeneralPlanApprovalService.cs @@ -117,6 +117,7 @@ namespace BLL newGeneralPlanApproval.CompileMan = generalPlanApproval.CompileMan; newGeneralPlanApproval.CompileDate = generalPlanApproval.CompileDate; newGeneralPlanApproval.UnitWorkId = generalPlanApproval.UnitWorkId; + newGeneralPlanApproval.RemarkCode = generalPlanApproval.RemarkCode; db.Comprehensive_GeneralPlanApproval.InsertOnSubmit(newGeneralPlanApproval); db.SubmitChanges(); } diff --git a/SGGL/BLL/CQMS/Comprehensive/SiteVisaManagementService.cs b/SGGL/BLL/CQMS/Comprehensive/SiteVisaManagementService.cs index e30fe577..caf2ce27 100644 --- a/SGGL/BLL/CQMS/Comprehensive/SiteVisaManagementService.cs +++ b/SGGL/BLL/CQMS/Comprehensive/SiteVisaManagementService.cs @@ -135,6 +135,7 @@ namespace BLL newSiteVisaManagement.AuditMan = siteVisaMangement.AuditMan; newSiteVisaManagement.Remark = siteVisaMangement.Remark; newSiteVisaManagement.Status = siteVisaMangement.Status; + newSiteVisaManagement.RemarkCode = siteVisaMangement.RemarkCode; db.Comprehensive_SiteVisaManagement.InsertOnSubmit(newSiteVisaManagement); db.SubmitChanges(); } diff --git a/SGGL/BLL/CQMS/Comprehensive/TrainingRecordsService.cs b/SGGL/BLL/CQMS/Comprehensive/TrainingRecordsService.cs index 5131de34..1a13a283 100644 --- a/SGGL/BLL/CQMS/Comprehensive/TrainingRecordsService.cs +++ b/SGGL/BLL/CQMS/Comprehensive/TrainingRecordsService.cs @@ -48,7 +48,8 @@ namespace BLL TrainingAddress = trainingRecords.TrainingAddress, Hours = trainingRecords.Hours, KeynoteSpeaker = trainingRecords.KeynoteSpeaker, - Remark = trainingRecords.Remark + Remark = trainingRecords.Remark, + RemarkCode = trainingRecords.RemarkCode }; Funs.DB.Comprehensive_TrainingRecords.InsertOnSubmit(newTraining); Funs.DB.SubmitChanges(); diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs index 69a4d707..d6385fae 100644 --- a/SGGL/BLL/Common/Const.cs +++ b/SGGL/BLL/Common/Const.cs @@ -3249,12 +3249,32 @@ namespace BLL /// /// 培训记录导入模板原始虚拟路径 /// - public const string CQMS_TrainingRecordsTemplateUrl= "File\\Excel\\DataIn\\培训记录导入模板.xlsx"; + public const string CQMS_TrainingRecordsTemplateUrl= "File\\Excel\\DataIn\\培训记录导入模板.xls"; /// /// 质量专项检查模板文件原始虚拟路径 /// public const string JointCheckTempUrl = "File\\Excel\\CQMS\\质量专项检查模版.xlsx"; + + /// + /// 设计交底导入模板文件原始虚拟路径 + /// + public const string DesignDetailsTemplateUrl = "File\\Excel\\DataIn\\设计交底导入模板.xls"; + + /// + /// 图纸会审记录导入模板文件原始虚拟路径 + /// + public const string ReviewDrawingsTemplateUrl = "File\\Excel\\DataIn\\图纸会审记录导入模板.xls"; + + /// + /// 检验试验计划导入模板文件原始虚拟路径 + /// + public const string InspectionTestPlanTemplateUrl = "File\\Excel\\DataIn\\检验试验计划导入模板.xls"; + + /// + /// 施工组织设计及施工方案导入模板文件原始虚拟路径 + /// + public const string GeneralPlanApprovalTemplateUrl = "File\\Excel\\DataIn\\施工组织设计及施工方案导入模板.xls"; #endregion #region 绩效考核模板文件路径 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceivingDocDataIn.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceivingDocDataIn.aspx.cs index bf26116c..3f9394bb 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceivingDocDataIn.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceivingDocDataIn.aspx.cs @@ -292,9 +292,12 @@ namespace FineUIPro.Web.CQMS.Comprehensive } string row12 = pds.Rows[i][12].ToString().Trim(); - if (row12 != "是" && row12 != "否") + if (!string.IsNullOrEmpty(row12)) { - result += (i + 2).ToString() + "," + "是否需回复" + "," + "错误!" + "|"; + if (row12 != "是" && row12 != "否") + { + result += (i + 2).ToString() + "," + "是否需回复" + "," + "错误!" + "|"; + } } string row13 = pds.Rows[i][13].ToString().Trim(); @@ -602,7 +605,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive { string rootPath = Server.MapPath("~/"); string uploadfilepath = rootPath + Const.CQMS_DataReceivingDocTempUrl; - string filePath = Const.NCRManagementDataInUrl; + string filePath = Const.CQMS_DataReceivingDocTempUrl; string fileName = Path.GetFileName(filePath); FileInfo info = new FileInfo(uploadfilepath); long fileSize = info.Length; diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx index ba23f186..57482e4c 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx @@ -26,6 +26,8 @@ + @@ -92,6 +94,10 @@ + + @@ -98,6 +100,10 @@ Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close" Width="900px" Height="460px"> + diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.cs index 30c1fbc6..e2270f9f 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.cs @@ -92,7 +92,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive } if (buttonList.Contains(BLL.Const.BtnSave)) { - //this.btnImport.Hidden = false; + this.btnImport.Hidden = false; } } } @@ -311,5 +311,19 @@ namespace FineUIPro.Web.CQMS.Comprehensive return "编制"; } + + + + #region 导入 + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ReviewDrawingsDataIn.aspx", "导入 - "))); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.designer.cs index 27acdd82..9aef1198 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.designer.cs @@ -7,13 +7,11 @@ // //------------------------------------------------------------------------------ -namespace FineUIPro.Web.CQMS.Comprehensive -{ - - - public partial class ReviewDrawings - { - +namespace FineUIPro.Web.CQMS.Comprehensive { + + + public partial class ReviewDrawings { + /// /// form1 控件。 /// @@ -22,7 +20,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - + /// /// PageManager1 控件。 /// @@ -31,7 +29,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.PageManager PageManager1; - + /// /// Panel1 控件。 /// @@ -40,7 +38,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Panel Panel1; - + /// /// Grid1 控件。 /// @@ -49,7 +47,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Grid Grid1; - + /// /// ToolSearch 控件。 /// @@ -58,7 +56,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar ToolSearch; - + /// /// sdrpCNProfessionalId 控件。 /// @@ -67,7 +65,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList sdrpCNProfessionalId; - + /// /// txtDraCode 控件。 /// @@ -76,7 +74,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtDraCode; - + /// /// btnSearch 控件。 /// @@ -85,7 +83,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnSearch; - + /// /// btnNew 控件。 /// @@ -94,7 +92,16 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnNew; - + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + /// /// lblPageIndex 控件。 /// @@ -103,7 +110,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.WebControls.Label lblPageIndex; - + /// /// Label2 控件。 /// @@ -112,7 +119,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.WebControls.Label Label2; - + /// /// Label3 控件。 /// @@ -121,7 +128,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.WebControls.Label Label3; - + /// /// txtStatus 控件。 /// @@ -130,7 +137,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.WebControls.Label txtStatus; - + /// /// lbtnFileUrl 控件。 /// @@ -139,7 +146,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl; - + /// /// ToolbarText1 控件。 /// @@ -148,7 +155,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarText ToolbarText1; - + /// /// ddlPageSize 控件。 /// @@ -157,7 +164,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList ddlPageSize; - + /// /// Window1 控件。 /// @@ -166,7 +173,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window Window1; - + /// /// Window2 控件。 /// @@ -175,7 +182,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window Window2; - + /// /// WindowAtt 控件。 /// @@ -184,7 +191,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window WindowAtt; - + /// /// Menu1 控件。 /// @@ -193,7 +200,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Menu Menu1; - + /// /// btnMenuModify 控件。 /// @@ -202,7 +209,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.MenuButton btnMenuModify; - + /// /// btnMenuDel 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx new file mode 100644 index 00000000..ed085e02 --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx @@ -0,0 +1,68 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReviewDrawingsDataIn.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.ReviewDrawingsDataIn" %> + + + + + + + 导入图纸会审记录 + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx.cs new file mode 100644 index 00000000..3ff71672 --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx.cs @@ -0,0 +1,483 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.OleDb; +using System.IO; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace FineUIPro.Web.CQMS.Comprehensive +{ + public partial class ReviewDrawingsDataIn : PageBase + { + #region 定义变量 + /// + /// 上传预设的虚拟路径 + /// + private string initPath = Const.ExcelUrl; + + + /// + /// 错误集合 + /// + public static List errorInfos = new List(); + #endregion + + #region 加载 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.hdCheckResult.Text = string.Empty; + this.hdFileName.Text = string.Empty; + if (errorInfos != null) + { + errorInfos.Clear(); + } + } + } + #endregion + + #region 审核 + /// + /// 审核 + /// + /// + /// + protected void btnAudit_Click(object sender, EventArgs e) + { + try + { + if (this.fuAttachUrl.HasFile == false) + { + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls") + { + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); + return; + } + if (errorInfos != null) + { + errorInfos.Clear(); + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + ImportXlsToData(rootPath + initPath + this.hdFileName.Text); + } + catch (Exception ex) + { + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + #region 读Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL(ds.Tables[0], 7); + hdCheckResult.Text = "1"; + } + catch (Exception exc) + { + Response.Write(exc); + //return null; + // return dt; + } + finally + { + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集行数 + /// + private bool AddDatasetToSQL(DataTable pds, int Cols) + { + string result = string.Empty; + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + return false; + } + + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + var oldViewInfos = from x in Funs.DB.Comprehensive_ReviewDrawings + where x.ProjectId == this.CurrUser.LoginProjectId + select x; + + var units = from x in Funs.DB.Base_Unit + join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId + where y.ProjectId == this.CurrUser.LoginProjectId + select x; + + var cns = from x in Funs.DB.Base_CNProfessional select x; + + var unitWorks = from x in Funs.DB.WBS_UnitWork + where x.ProjectId == this.CurrUser.LoginProjectId + && x.SuperUnitWork == null + select x; + + for (int i = 0; i < ir; i++) + { + string row0 = pds.Rows[i][0].ToString(); + if (string.IsNullOrEmpty(row0)) + { + result += (i + 2).ToString() + "," + "专业名称" + "," + "此项为必填项!" + "|"; + } + else + { + var cn = cns.Where(x => x.ProfessionalName == row0.Trim()).FirstOrDefault(); + if (cn == null) + { + result += (i + 2).ToString() + "," + "专业名称" + "," + "[" + row0 + "]不存在!" + "|"; + } + } + + string row1 = pds.Rows[i][1].ToString(); + if (string.IsNullOrEmpty(row1)) + { + result += (i + 2).ToString() + "," + "编号" + "," + "此项为必填项!" + "|"; + } + + string row2 = pds.Rows[i][2].ToString(); + if (!string.IsNullOrEmpty(row2)) + { + string[] reunit = row2.Split(','); + foreach (string unitWork in reunit) + { + var u = unitWorks.Where(x => x.UnitWorkName == unitWork.Trim()).FirstOrDefault(); + if (u == null) + { + result += (i + 2).ToString() + "," + "单位工程名称" + "," + "[" + unitWork.Trim() + "]不存在!" + "|"; + } + } + } + + string row3 = pds.Rows[i][3].ToString(); + if (!string.IsNullOrEmpty(row3)) + { + try + { + DateTime date = Convert.ToDateTime(row3.Trim()); + } + catch (Exception) + { + result += (i + 2).ToString() + "," + "图纸会审日期" + "," + "[" + row3 + "]错误!" + "|"; + } + } + else + { + result += (i + 2).ToString() + "," + "图纸会审日期" + "," + "此项为必填项!" + "|"; + } + + string row4 = pds.Rows[i][4].ToString(); + if (!string.IsNullOrEmpty(row4)) + { + string[] reunit = row4.Split(','); + foreach (string unit in reunit) + { + var u = units.Where(x => x.UnitName == unit.Trim()).FirstOrDefault(); + if (u == null) + { + result += (i + 2).ToString() + "," + "参加单位" + "," + "[" + unit.Trim() + "]不存在!" + "|"; + } + } + } + + string row6 = pds.Rows[i][6].ToString(); + if (string.IsNullOrEmpty(row6)) + { + result += (i + 2).ToString() + "," + "标志编号" + "," + "此项为必填项!" + "|"; + } + } + if (!string.IsNullOrEmpty(result)) + { + result = result.Substring(0, result.LastIndexOf("|")); + } + errorInfos.Clear(); + if (!string.IsNullOrEmpty(result)) + { + string results = result; + List errorInfoList = results.Split('|').ToList(); + foreach (var item in errorInfoList) + { + string[] errors = item.Split(','); + Model.ErrorInfo errorInfo = new Model.ErrorInfo(); + errorInfo.Row = errors[0]; + errorInfo.Column = errors[1]; + errorInfo.Reason = errors[2]; + errorInfos.Add(errorInfo); + } + if (errorInfos.Count > 0) + { + this.gvErrorInfo.DataSource = errorInfos; + this.gvErrorInfo.DataBind(); + } + } + else + { + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 导入 + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(hdCheckResult.Text)) + { + if (errorInfos.Count <= 0) + { + string rootPath = Server.MapPath("~/"); + ImportXlsToData2(rootPath + initPath + this.hdFileName.Text); + hdCheckResult.Text = string.Empty; + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning); + } + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + + #region Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData2(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL2(ds.Tables[0], 7); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集列数 + /// + private bool AddDatasetToSQL2(DataTable pds, int Cols) + { + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + } + string result = string.Empty; + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + var oldViewInfos = from x in Funs.DB.Comprehensive_ReviewDrawings + where x.ProjectId == this.CurrUser.LoginProjectId + select x; + + var units = from x in Funs.DB.Base_Unit + join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId + where y.ProjectId == this.CurrUser.LoginProjectId + select x; + + var cns = from x in Funs.DB.Base_CNProfessional select x; + + var unitWorks = from x in Funs.DB.WBS_UnitWork + where x.ProjectId == this.CurrUser.LoginProjectId + && x.SuperUnitWork == null + select x; + + for (int i = 0; i < ir; i++) + { + Model.Comprehensive_ReviewDrawings oldViewInfo = new Model.Comprehensive_ReviewDrawings(); + string row0 = pds.Rows[i][0].ToString().Trim(); + var cn = cns.Where(y => y.ProfessionalName == row0).FirstOrDefault(); + oldViewInfo = oldViewInfos.Where(x => x.RemarkCode == pds.Rows[i][6].ToString().Trim() + ).FirstOrDefault(); + if (oldViewInfo == null) + { + Model.Comprehensive_ReviewDrawings des = new Model.Comprehensive_ReviewDrawings(); + des.Id = SQLHelper.GetNewID(typeof(Model.Comprehensive_ReviewDrawings)); + des.ProjectId = this.CurrUser.LoginProjectId; + des.CNProfessionalId = cn.CNProfessionalId; + des.DraCode = pds.Rows[i][1].ToString().Trim(); + if (!string.IsNullOrEmpty(pds.Rows[i][2].ToString().Trim())) + { + des.UnitWorkId = BLL.UnitWorkService.GetUnitWorkIdsByUnitWorkNames(this.CurrUser.LoginProjectId, pds.Rows[i][2].ToString().Trim()); + } + if (!string.IsNullOrEmpty(pds.Rows[i][3].ToString().Trim())) + { + des.ReviewDate = Convert.ToDateTime(pds.Rows[i][3].ToString().Trim()); + } + if (!string.IsNullOrEmpty(pds.Rows[i][4].ToString().Trim())) + { + des.ReceiveUnits = BLL.UnitService.GetUnitIds(pds.Rows[i][4].ToString().Trim()); + } + des.Remarks = pds.Rows[i][5].ToString().Trim(); + des.RemarkCode = pds.Rows[i][6].ToString().Trim(); + des.CreateMan = this.CurrUser.UserId; + des.CreateDate = DateTime.Now; + des.Status = BLL.Const.Comprehensive_Compile; + BLL.ReviewDrawingsService.Insert(des); + } + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 下载模板 + /// + /// 下载模板按钮 + /// + /// + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.ReviewDrawingsTemplateUrl; + string filePath = Const.ReviewDrawingsTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx.designer.cs new file mode 100644 index 00000000..12a7755c --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsDataIn.aspx.designer.cs @@ -0,0 +1,123 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.CQMS.Comprehensive { + + + public partial class ReviewDrawingsDataIn { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// hdFileName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdFileName; + + /// + /// btnAudit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAudit; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// hdCheckResult 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckResult; + + /// + /// fuAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fuAttachUrl; + + /// + /// gvErrorInfo 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid gvErrorInfo; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + } +} diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx.cs index b9f2e362..ad609dc3 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx.cs @@ -126,7 +126,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive oleDBConn.Close(); oleDBConn.Dispose(); - AddDatasetToSQL(ds.Tables[0], 10); + AddDatasetToSQL(ds.Tables[0], 11); hdCheckResult.Text = "1"; } catch (Exception exc) @@ -166,7 +166,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId where y.ProjectId == this.CurrUser.LoginProjectId && (y.UnitType == Const.ProjectUnitType_1 || y.UnitType == Const.ProjectUnitType_2) select x; - var ins = from x in Funs.DB.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId select x; + var ins = from x in Funs.DB.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperUnitWork == null orderby x.UnitWorkCode select x; var cns = from x in Funs.DB.Base_CNProfessional select x; for (int i = 0; i < ir; i++) @@ -212,7 +212,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive var in1 = ins.Where(x => x.UnitWorkName == row4.Trim()).FirstOrDefault(); if (in1 == null) { - result += (i + 2).ToString() + "," + "装置" + "," + "[" + row4 + "]不存在!" + "|"; + result += (i + 2).ToString() + "," + "单位工程" + "," + "[" + row4 + "]不存在!" + "|"; } } @@ -238,6 +238,12 @@ namespace FineUIPro.Web.CQMS.Comprehensive result += (i + 2).ToString() + "," + "签证时间" + "," + "[" + row6 + "]错误!" + "|"; } } + + string row10 = pds.Rows[i][10].ToString(); + if (string.IsNullOrEmpty(row10)) + { + result += (i + 2).ToString() + "," + "标志编号" + "," + "此项为必填项!" + "|"; + } } if (!string.IsNullOrEmpty(result)) { @@ -343,7 +349,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive oleDBConn.Close(); oleDBConn.Dispose(); - AddDatasetToSQL2(ds.Tables[0], 4); + AddDatasetToSQL2(ds.Tables[0], 11); } catch (Exception ex) { @@ -377,13 +383,13 @@ namespace FineUIPro.Web.CQMS.Comprehensive select x; var cns = from x in Funs.DB.Base_CNProfessional select x; - var installations = from x in Funs.DB.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId select x; + var ins = from x in Funs.DB.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperUnitWork == null select x; var oldViewInfos = from x in Funs.DB.Comprehensive_SiteVisaManagement where x.ProjectId == this.CurrUser.LoginProjectId select x; for (int i = 0; i < ir; i++) { - var oldViewInfo = oldViewInfos.Where(x => x.VisaCode == pds.Rows[i][1].ToString().Trim()).FirstOrDefault(); + var oldViewInfo = oldViewInfos.Where(x => x.RemarkCode == pds.Rows[i][10].ToString().Trim()).FirstOrDefault(); if (oldViewInfo == null) { Model.Comprehensive_SiteVisaManagement Ins = new Model.Comprehensive_SiteVisaManagement(); @@ -397,7 +403,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive Ins.ProcessingState = pds.Rows[i][3].ToString().Trim(); if (!string.IsNullOrEmpty(pds.Rows[i][4].ToString().Trim())) { - Ins.UnitWorkId = Funs.DB.WBS_UnitWork.First(e => e.UnitWorkName == pds.Rows[i][4].ToString().Trim()).UnitWorkId; + Ins.UnitWorkId = ins.FirstOrDefault(x => x.UnitWorkName == pds.Rows[i][4].ToString().Trim()).UnitWorkId; } if (!string.IsNullOrEmpty(pds.Rows[i][5].ToString().Trim())) { @@ -410,6 +416,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive Ins.SignMan = pds.Rows[i][7].ToString().Trim(); Ins.AuditMan = pds.Rows[i][8].ToString().Trim(); Ins.Remark = pds.Rows[i][9].ToString().Trim(); + Ins.RemarkCode = pds.Rows[i][10].ToString().Trim(); Ins.CompileMan = this.CurrUser.UserId; Ins.Status = BLL.Const.Comprehensive_Compile; Ins.VisaId = SQLHelper.GetNewID(); diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx index b83bf5de..878e4edd 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx @@ -6,162 +6,63 @@ 导入培训记录 - -
- - - + + - + - - - - - - - - + + + - + - - <%----%> - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx.cs index eb107868..5c10af82 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx.cs @@ -1,18 +1,17 @@ using BLL; -using Model; using System; using System.Collections.Generic; using System.Data; -using System.Data.SqlClient; +using System.Data.OleDb; using System.IO; using System.Linq; -using System.Threading; +using System.Web.UI.WebControls; namespace FineUIPro.Web.CQMS.Comprehensive { public partial class TrainingRecordsDataIn : PageBase { - #region 定义项 + #region 定义变量 /// /// 上传预设的虚拟路径 /// @@ -21,8 +20,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive /// /// 错误集合 /// - public static string errorInfos = string.Empty; - + public static List errorInfos = new List(); #endregion #region 加载 @@ -35,486 +33,400 @@ namespace FineUIPro.Web.CQMS.Comprehensive { if (!IsPostBack) { - if (percent == null) + this.hdCheckResult.Text = string.Empty; + this.hdFileName.Text = string.Empty; + if (errorInfos != null) { - percent = new Dictionary(); - } - this.id.Text = this.CurrUser.UserId; - this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); - // 绑定表格 - this.BindGrid(); - } - else if (GetRequestEventArgument() == "reloadGrid") - { - BindGrid(); - } - } - #endregion - - #region 绑定数据 - /// - /// 绑定数据 - /// - private void BindGrid() - { - string strSql = @"SELECT TempId,ProjectId,UserId,Time,RowNo,ToopValue,Value1,Value2,Value3,Value4,Value5,Value6,Value7,Value8,Value9,Value10" - + @" ,Value11,Value12,Value13,Value14,Value15,Value16,Value17,Value18,Value19,Value20,Value21,Value22,Value23,Value24,Value25,Value26,Value27,Value28,Value29,Value30" - + @" ,Value31,Value32,Value33,Value34,Value35,Value36,Value37,Value38,Value39,Value40,Value41,Value42,Value43,Value44,Value45,Value46,Value47,Value48,Value49,Value50,ToopValue,Type" - + @" FROM Sys_DataInTemp " - + @" WHERE ProjectId=@ProjectId AND UserId=@UserId AND Type=@Type"; - List listStr = new List(); - listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); - listStr.Add(new SqlParameter("@UserId", this.CurrUser.UserId)); - listStr.Add(new SqlParameter("@Type", "TrainingRecords"));//培训记录 - SqlParameter[] parameter = listStr.ToArray(); - DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); - Grid1.RecordCount = tb.Rows.Count; - var table = this.GetPagedDataTable(Grid1, tb); - Grid1.DataSource = table; - Grid1.DataBind(); - - var dataInTempAll = from x in Funs.DB.Sys_DataInTemp - where x.ProjectId == this.CurrUser.LoginProjectId && x.UserId == this.CurrUser.UserId && x.Type == "TrainingRecords" - select x; - for (int i = 0; i < Grid1.Rows.Count; i++) - { - var dataInTemp = dataInTempAll.FirstOrDefault(x => x.TempId == Grid1.Rows[i].DataKeys[0].ToString()); - if (dataInTemp != null) - { - if (!string.IsNullOrEmpty(dataInTemp.ToopValue)) - { - Grid1.Rows[i].RowCssClass = "red"; - } + errorInfos.Clear(); } } - var errData = from x in dataInTempAll where x.ToopValue != null select x; - this.lbDataCout.Text = errData.Count().ToString(); } #endregion - #region 双击事件 + #region 审核 /// - /// Grid行双击事件 + /// 审核 /// /// /// - protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) - { - if (Grid1.SelectedRowIndexArray.Length == 0) - { - Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); - return; - } - if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TrainingRecordsMenuId, Const.BtnSave)) - { - PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TrainingRecordsDataInEdit.aspx?TempId={0}", Grid1.SelectedRowID, "维护 - "))); - } - else - { - ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); - } - } - #endregion - - #region 导入信息 维护 - /// - /// 导入信息编辑 - /// - /// - /// - protected void btnMenuEdit_Click(object sender, EventArgs e) - { - if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.TrainingRecordsMenuId, BLL.Const.BtnSave)) - { - if (Grid1.SelectedRowIndexArray.Length == 0) - { - Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); - return; - } - PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TrainingRecordsDataInEdit.aspx?TempId={0}", Grid1.SelectedRowID, "维护 - "))); - } - else - { - ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); - } - } - - /// - /// 删除按钮 - /// - /// - /// - protected void btnMenuDelete_Click(object sender, EventArgs e) - { - if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TrainingRecordsMenuId, Const.BtnSave)) - { - if (Grid1.SelectedRowIndexArray.Length == 0) - { - Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); - return; - } - foreach (int rowIndex in Grid1.SelectedRowIndexArray) - { - string rowID = Grid1.DataKeys[rowIndex][0].ToString(); - BLL.Sys_DataTempService.DeleteDataInTempByDataInTempID(rowID); - } - ShowNotify("删除成功!", MessageBoxIcon.Success); - this.BindGrid(); - } - else - { - Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); - return; - } - } - #endregion - - #region 分页 排序 - /// - /// 分页 - /// - /// - /// - protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) - { - BindGrid(); - } - - /// - /// 分页显示条数下拉框 - /// - /// - /// - protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) - { - Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); - BindGrid(); - } - - /// - /// 排序 - /// - /// - /// - protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) - { - BindGrid(); - } - #endregion - - #region 删除所有数据事件 - /// - /// 删除所有数据事件 - /// - /// - /// - protected void btnAllDelete_Click(object sender, EventArgs e) - { - if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TrainingRecordsMenuId, Const.BtnSave)) - { - //先删除临时表中 该人员以前导入的数据 - BLL.Sys_DataTempService.DeleteDataInTempByProjectIdUserId(this.CurrUser.LoginProjectId, this.CurrUser.UserId, "TrainingRecords"); - this.BindGrid(); - ShowNotify("删除成功!", MessageBoxIcon.Success); - this.lbDataCout.Text = string.Empty; - } - else - { - Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); - return; - } - } - #endregion - - #region 下载模板 - /// - /// 下载模板 - /// - /// - /// - protected void imgbtnUpload_Click(object sender, EventArgs e) - { - this.TemplateUpload(BLL.Const.CQMS_TrainingRecordsTemplateUrl); - } - - protected void TemplateUpload(string initTemplatePath) - { - string rootPath = Server.MapPath("~/"); - string uploadfilepath = rootPath + initTemplatePath; - string filePath = Const.CQMS_TrainingRecordsTemplateUrl; - string fileName = Path.GetFileName(filePath); - FileInfo info = new FileInfo(uploadfilepath); - long fileSize = info.Length; - Response.ClearContent(); - Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); - Response.ContentType = "excel/plain"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - Response.AddHeader("Content-Length", fileSize.ToString().Trim()); - Response.TransmitFile(uploadfilepath, 0, fileSize); - Response.End(); - } - - /// - /// 导入说明 - /// - /// - /// - //protected void lkAchievements_Click(object sender, EventArgs e) - //{ - // this.TemplateUpload(Const.CQMS_DataReceivingDocTempUrl); - //} - #endregion - - #region 进度条 - public static Dictionary percent { get; set; } - public static Dictionary url { get; set; } - - [System.Web.Services.WebMethod] - public static int getPercent(string id) - { - return percent[id]; - } - #endregion - - #region 文件上传 - /// - /// 文件上传 - /// - /// - /// - protected void imgbtnImport_Click(object sender, EventArgs e) + protected void btnAudit_Click(object sender, EventArgs e) { try { - if (this.FileExcel.HasFile == false) + if (this.fuAttachUrl.HasFile == false) { - ShowNotify("请选择Excel文件!", MessageBoxIcon.Warning); + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); return; } - string IsXls = Path.GetExtension(this.FileExcel.FileName).ToString().Trim().ToLower(); - if (IsXls != ".xls" && IsXls != ".xlsx") + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls") { - ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning); + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); return; } + if (errorInfos != null) + { + errorInfos.Clear(); + } string rootPath = Server.MapPath("~/"); string initFullPath = rootPath + initPath; if (!Directory.Exists(initFullPath)) { Directory.CreateDirectory(initFullPath); } - //指定上传文件名称 - this.hdfileName.Text = BLL.Funs.GetNewFileName() + IsXls; - //上传文件路径 - string filePath = initFullPath + this.hdfileName.Text; - //文件上传服务器 - this.FileExcel.PostedFile.SaveAs(filePath); - //文件上传服务器后的名称 - string fileName = rootPath + initPath + this.hdfileName.Text; - //读取Excel - DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out errorInfos, true); - //验证Excel读取是否有误 - if (!string.IsNullOrEmpty(errorInfos)) - { - ShowNotify(errorInfos, MessageBoxIcon.Warning); - return; - } - if (ds.Tables.Count > 0) - { - for (int i = 0; i < ds.Tables[0].Rows.Count; i++) - { - Sys_DataInTemp newDataInTemp = new Sys_DataInTemp(); - newDataInTemp.TempId = SQLHelper.GetNewID(typeof(Model.Sys_DataInTemp)); - newDataInTemp.ProjectId = this.CurrUser.LoginProjectId; - newDataInTemp.UserId = this.CurrUser.UserId; - newDataInTemp.Time = System.DateTime.Now; - newDataInTemp.Type = "TrainingRecords"; - newDataInTemp.RowNo = i + 2; - newDataInTemp.Value1 = ds.Tables[0].Rows[i]["培训内容"].ToString().Trim(); - newDataInTemp.Value2 = ds.Tables[0].Rows[i]["专业"].ToString().Trim(); - newDataInTemp.Value3 = ds.Tables[0].Rows[i]["培训对象"].ToString().Trim(); - newDataInTemp.Value4 = ds.Tables[0].Rows[i]["培训地点"].ToString().Trim(); - newDataInTemp.Value5 = ds.Tables[0].Rows[i]["课时(小时)"].ToString().Trim(); - newDataInTemp.Value6 = ds.Tables[0].Rows[i]["主讲人"].ToString().Trim(); - newDataInTemp.Value7 = ds.Tables[0].Rows[i]["备注"].ToString().Trim(); - - BLL.Sys_DataTempService.AddDataInTemp(newDataInTemp); - } - this.BindGrid(); - ShowNotify("数据已导入临时表!", MessageBoxIcon.Success); - } - else - { - ShowNotify("无数据!", MessageBoxIcon.Warning); - return; - } + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + ImportXlsToData(rootPath + initPath + this.hdFileName.Text); } catch (Exception ex) { - Alert.ShowInTop("'" + ex.Message + "'", MessageBoxIcon.Warning); + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + #region 读Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL(ds.Tables[0], 8); + hdCheckResult.Text = "1"; + } + catch (Exception exc) + { + Response.Write(exc); + //return null; + // return dt; + } + finally + { } } #endregion - #region 保存审核事件 + #region 将Dataset的数据导入数据库 /// - /// 保存审核事件 + /// 将Dataset的数据导入数据库 /// - /// - /// - protected void btnSave_Click(object sender, EventArgs e) + /// 数据集 + /// 数据集行数 + /// + private bool AddDatasetToSQL(DataTable pds, int Cols) { - Thread t = new Thread(new ThreadStart(() => { btnSaveMethod(this.CurrUser.LoginProjectId, this.CurrUser.UserId); })); - t.Start(); - if (percent.ContainsKey(this.CurrUser.UserId)) + string result = string.Empty; + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) { - percent[CurrUser.UserId] = 0; + ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + return false; } - else - { - percent.Add(CurrUser.UserId, 0); - } - PageContext.RegisterStartupScript("printX()"); - } - protected void btnRefresh_Click(object sender, EventArgs e) - { - this.BindGrid(); - } - protected void btnSaveMethod(string LoginProjectId, string UserId) - { - var cNProfessionals = from x in Funs.DB.Base_CNProfessional select x;//专业 - - var dataInTemp = from x in Funs.DB.Sys_DataInTemp - where x.ProjectId == LoginProjectId && x.UserId == UserId && x.Type == "TrainingRecords" - select x; - int okCount = 0; - int i = 0; - int ir = dataInTemp.Count(); - string erreMessage = ""; - foreach (var tempData in dataInTemp) + ir = pds.Rows.Count; + if (pds != null && ir > 0) { - if (tempData != null) + var oldViewInfos = from x in Funs.DB.Comprehensive_TrainingRecords + where x.ProjectId == this.CurrUser.LoginProjectId + select x; + + var cns = from x in Funs.DB.Base_CNProfessional select x; + + for (int i = 0; i < ir; i++) { - i++; - percent[UserId] = (int)(100 * i / ir); - string errInfo = string.Empty; - var isExitValue = Funs.DB.Comprehensive_TrainingRecords.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.TrainingContents == tempData.Value1 - && x.CNProfessionalId == tempData.Value2); - if (isExitValue == null || this.ckUpdate.Checked) + string row0 = pds.Rows[i][0].ToString(); + if (string.IsNullOrEmpty(row0)) { - Model.Comprehensive_TrainingRecords newData = new Model.Comprehensive_TrainingRecords(); - if (!string.IsNullOrEmpty(tempData.Value1.Trim())) - { - newData.TrainingContents = tempData.Value1.Trim(); - } - else - { - errInfo += "培训内容为必填项;"; - } + result += (i + 2).ToString() + "," + "培训内容" + "," + "此项为必填项!" + "|"; + } - if (!string.IsNullOrEmpty(tempData.Value2.Trim())) - { - var professional = cNProfessionals.FirstOrDefault(e => e.ProfessionalName == tempData.Value2.Trim()); - if (professional != null) - { - newData.CNProfessionalId = professional.CNProfessionalId; - } - else - { - errInfo += "专业不存在;"; - } - } - else - { - errInfo += "专业为必填项;"; - } - if (!string.IsNullOrEmpty(tempData.Value3.Trim())) - { - newData.TrainingObject = tempData.Value3.Trim(); - } - else - { - errInfo += "培训对象为必填项;"; - } - if (!string.IsNullOrEmpty(tempData.Value4.Trim())) - { - newData.TrainingAddress = tempData.Value4.Trim(); - } - else - { - errInfo += "培训地点为必填项;"; - } - if (!string.IsNullOrEmpty(tempData.Value5.Trim())) - { - try - { - newData.Hours = Funs.GetNewDecimal(tempData.Value5.Trim()); - } - catch (Exception) - { - errInfo += "课时(小时)格式错误;"; - } - } - if (!string.IsNullOrEmpty(tempData.Value6.Trim())) - { - newData.KeynoteSpeaker = tempData.Value6.Trim(); - } - if (!string.IsNullOrEmpty(tempData.Value7.Trim())) - { - newData.Remark = tempData.Value7.Trim(); - } - if (string.IsNullOrEmpty(errInfo)) ////所有信息正确的话 这插入管线焊口 - { - newData.ProjectId = this.CurrUser.LoginProjectId; - - var data = BLL.TrainingRecordsService.GetTrainingRecordsByName(newData.TrainingContents, newData.CNProfessionalId); - if (data == null) - { - newData.TrainingRecordsId = SQLHelper.GetNewID(typeof(Model.Comprehensive_TrainingRecords)); - BLL.TrainingRecordsService.AddTrainingRecords(newData); - } - else - { - newData.TrainingRecordsId = data.TrainingRecordsId; - BLL.TrainingRecordsService.UpdateTrainingRecords(newData); - } - - BLL.Sys_DataTempService.DeleteDataInTempByDataInTempID(tempData.TempId); - okCount++; - } + string row1 = pds.Rows[i][1].ToString(); + if (string.IsNullOrEmpty(row1)) + { + result += (i + 2).ToString() + "," + "专业名称" + "," + "此项为必填项!" + "|"; } else { - errInfo = "该条记录已存在于培训记录表中。"; + var cn = cns.Where(x => x.ProfessionalName == row1.Trim()).FirstOrDefault(); + if (cn == null) + { + result += (i + 2).ToString() + "," + "专业名称" + "," + "[" + row1 + "]不存在!" + "|"; + } } - if (!string.IsNullOrEmpty(errInfo)) + string row2 = pds.Rows[i][2].ToString(); + if (string.IsNullOrEmpty(row2)) { - tempData.ToopValue = errInfo; - BLL.Sys_DataTempService.UpdateDataInTemp(tempData); - erreMessage += errInfo + ";"; + result += (i + 2).ToString() + "," + "培训对象" + "," + "此项为必填项!" + "|"; + } + + string row3 = pds.Rows[i][3].ToString(); + if (string.IsNullOrEmpty(row3)) + { + result += (i + 2).ToString() + "," + "培训地点" + "," + "此项为必填项!" + "|"; + } + + string row4 = pds.Rows[i][4].ToString(); + if (!string.IsNullOrEmpty(row4)) + { + try + { + decimal d = Convert.ToDecimal(row4.Trim()); + } + catch (Exception) + { + result += (i + 2).ToString() + "," + "课时(小时)" + "," + "[" + row4 + "]错误!" + "|"; + } + } + + string row7 = pds.Rows[i][7].ToString(); + if (string.IsNullOrEmpty(row7)) + { + result += (i + 2).ToString() + "," + "标志编号" + "," + "此项为必填项!" + "|"; } } + if (!string.IsNullOrEmpty(result)) + { + result = result.Substring(0, result.LastIndexOf("|")); + } + errorInfos.Clear(); + if (!string.IsNullOrEmpty(result)) + { + string results = result; + List errorInfoList = results.Split('|').ToList(); + foreach (var item in errorInfoList) + { + string[] errors = item.Split(','); + Model.ErrorInfo errorInfo = new Model.ErrorInfo(); + errorInfo.Row = errors[0]; + errorInfo.Column = errors[1]; + errorInfo.Reason = errors[2]; + errorInfos.Add(errorInfo); + } + if (errorInfos.Count > 0) + { + this.gvErrorInfo.DataSource = errorInfos; + this.gvErrorInfo.DataBind(); + } + } + else + { + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 导入 + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (!string.IsNullOrEmpty(hdCheckResult.Text)) + { + if (errorInfos.Count <= 0) + { + string rootPath = Server.MapPath("~/"); + ImportXlsToData2(rootPath + initPath + this.hdFileName.Text); + hdCheckResult.Text = string.Empty; + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning); + } + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + + #region Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData2(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL2(ds.Tables[0], 8); + } + catch (Exception ex) + { + throw ex; } } #endregion - #region 导出按钮 - /// 导出按钮 + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集列数 + /// + private bool AddDatasetToSQL2(DataTable pds, int Cols) + { + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + ShowNotify("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + } + string result = string.Empty; + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + var oldViewInfos = from x in Funs.DB.Comprehensive_TrainingRecords + where x.ProjectId == this.CurrUser.LoginProjectId + select x; + + var cns = from x in Funs.DB.Base_CNProfessional select x; + + for (int i = 0; i < ir; i++) + { + Model.Comprehensive_TrainingRecords oldViewInfo = new Model.Comprehensive_TrainingRecords(); + + string row1 = pds.Rows[i][1].ToString().Trim(); + var cn = cns.Where(y => y.ProfessionalName == row1).FirstOrDefault(); + oldViewInfo = oldViewInfos.Where(x => x.RemarkCode == pds.Rows[i][7].ToString().Trim() + ).FirstOrDefault(); + if (oldViewInfo == null) + { + Model.Comprehensive_TrainingRecords des = new Model.Comprehensive_TrainingRecords(); + des.TrainingRecordsId = SQLHelper.GetNewID(typeof(Model.Comprehensive_TrainingRecords)); + des.ProjectId = this.CurrUser.LoginProjectId; + des.TrainingContents = pds.Rows[i][0].ToString().Trim(); + des.CNProfessionalId = cn.CNProfessionalId; + des.TrainingObject = pds.Rows[i][2].ToString().Trim(); + des.TrainingAddress = pds.Rows[i][3].ToString().Trim(); + if (!string.IsNullOrEmpty(pds.Rows[i][4].ToString().Trim())) + { + des.Hours = Convert.ToDecimal(pds.Rows[i][4].ToString().Trim()); + } + des.KeynoteSpeaker = pds.Rows[i][5].ToString().Trim(); + des.Remark = pds.Rows[i][6].ToString().Trim(); + des.RemarkCode = pds.Rows[i][7].ToString().Trim(); + BLL.TrainingRecordsService.AddTrainingRecords(des); + } + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 下载模板 + /// + /// 下载模板按钮 /// /// /// - protected void btnOut_Click(object sender, EventArgs e) + protected void btnDownLoad_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("培训记录导入模板" + filename, System.Text.Encoding.UTF8) + ".xlsx"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - Response.Write(GetGridTableHtml(Grid1)); - Response.End(); + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.CQMS_TrainingRecordsTemplateUrl; + string filePath = Const.CQMS_TrainingRecordsTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } } #endregion } diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx.designer.cs index e30ff7cd..d5120922 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/TrainingRecordsDataIn.aspx.designer.cs @@ -31,130 +31,85 @@ namespace FineUIPro.Web.CQMS.Comprehensive { protected global::FineUIPro.PageManager PageManager1; /// - /// id 控件。 + /// SimpleForm1 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.HiddenField id; + protected global::FineUIPro.Form SimpleForm1; /// - /// Panel1 控件。 + /// Toolbar2 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.Panel Panel1; + protected global::FineUIPro.Toolbar Toolbar2; /// - /// Toolbar1 控件。 + /// hdFileName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.Toolbar Toolbar1; + protected global::FineUIPro.HiddenField hdFileName; /// - /// hdfileName 控件。 + /// btnAudit 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.HiddenField hdfileName; + protected global::FineUIPro.Button btnAudit; /// - /// FileExcel 控件。 + /// btnImport 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.FileUpload FileExcel; + protected global::FineUIPro.Button btnImport; /// - /// imgbtnImport 控件。 + /// btnDownLoad 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.Button imgbtnImport; + protected global::FineUIPro.Button btnDownLoad; /// - /// ToolbarFill1 控件。 + /// hdCheckResult 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.ToolbarFill ToolbarFill1; + protected global::FineUIPro.HiddenField hdCheckResult; /// - /// ckUpdate 控件。 + /// fuAttachUrl 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.CheckBox ckUpdate; + protected global::FineUIPro.FileUpload fuAttachUrl; /// - /// btnSave 控件。 + /// gvErrorInfo 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.Button btnSave; - - /// - /// btnRefresh 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Button btnRefresh; - - /// - /// btnAllDelete 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Button btnAllDelete; - - /// - /// btnOut 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Button btnOut; - - /// - /// imgbtnUpload 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Button imgbtnUpload; - - /// - /// Grid1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Grid Grid1; + protected global::FineUIPro.Grid gvErrorInfo; /// /// lblPageIndex 控件。 @@ -164,104 +119,5 @@ namespace FineUIPro.Web.CQMS.Comprehensive { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.WebControls.Label lblPageIndex; - - /// - /// ToolbarSeparator1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; - - /// - /// ToolbarText1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.ToolbarText ToolbarText1; - - /// - /// ddlPageSize 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.DropDownList ddlPageSize; - - /// - /// lbDataCout 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Label lbDataCout; - - /// - /// Window1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Window Window1; - - /// - /// Window2 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Window Window2; - - /// - /// ContentPanel3 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.ContentPanel ContentPanel3; - - /// - /// Menu1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Menu Menu1; - - /// - /// btnMenuEdit 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.MenuButton btnMenuEdit; - - /// - /// btnMenuDelete 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.MenuButton btnMenuDelete; - - /// - /// ScriptManager2 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::System.Web.UI.ScriptManager ScriptManager2; } } diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/图纸会审记录导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/图纸会审记录导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..8f0c6317977d3b10e9935e767f4640018400f134 GIT binary patch literal 19968 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/培训记录导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/培训记录导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..57e6721b7566bde011aa49fd29e9093b24c50199 GIT binary patch literal 19456 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/检验试验计划导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/检验试验计划导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..30acee98d6eecb2106d382a844d413374ca21dbb GIT binary patch literal 19456 zcmeHP2V4|Mv+rFNSdwH^P=X*?q9BTrjUa-8=qDl~ASfnO1eJpm5CdlbBVraYoS1XM zhygrBF?$E5Q#lp&lryofYKGYzHl6zJ_ulWmyIy)`y1MG$)z#HK)7>*%{zO(Yu*b-tZh^-+SLNtQd24Y)?#t=;) zqTgU_2iF#?^xw#Qe|uH?lX38y1bw+X84KrRk_IjD<-q_vhA{#c#7y~kB&3Wwk{n8ftc-IlGfEsCg>X zJb(;`BWIXhHjxUJ? zH4{OdL^6?b6;u$L&-AYkev}TwIjBP!7`Pip2~_5Som*3SLAyhaE_K{aaUG$K-Kf!s zkkXzHjXZz@D>{hlL-GAU9otdI7I5T{{gljYisB68S3U3xG8SNil9^!HxkCo@L;Bsn zh)&}lLDie#BVCn9(y?51g8Fcp@grSN23?h+H^)x^1a~R)yHN9%Qt0*+zob4q8FbXg zU55T%Qt*-ATL!S;bw0v zTU36@3`ioeB`$hlXbV@O`Xb$vG|z2bcWE5$z&h9PvIJXz3b&_rEi*MqLEG+mn)CYz5g*c-Zl2!*NFNMc8vrPWIuPO^5=IOG-O2z_6l za3bO1i`_~#&`OcS8X}t>3D!2|bq3EglrAFj5m~~X;GIU|!i>_=OQmz^vb#gcrt-w) zX&?fsp`KF-c`JZBpD>h}BAo+iivBy3A)k%|xio%RbVQZL|KCjKQ1b+=AqLu>1e~0* z!yhzNM7NhgSCK)tkwLeWO2=6ZV}Bo0A5*4WoasoTqjnU%NL$-L%|MOt3@JasSrNmJ zJPZy#SxKYg>`59OXH*pZ8VP|*m@v`y!C4lI4ihSxjx(<&x+z?OxENi`Z*i7J@h{TW zUaGbf^mnB6N6%;I$4!o#5S|J}$Jrc1r}=3*&hTh@d_2wHiQ>muA4R`LqTv!IdbB<` z6KtXnC&WouFPt4x^gVEafoDtM;Eb_3y#qzZS!8p%9YqH~F}f2)$Ju6cev_}Hw~~S1 zQ3ej}50d55c9un#)Zg_h@o77JIeupu__X~cab(dAWZ1`92ELIDy1iVwq3;KIxb=8zPxX!hCyo*2230@zJN0+}RJINfa$NEIsq`;Q{5;m{@Q z+Ol5a2R4my2R4my2R2RU4i(FV4Zt|Hw|9z=*3|6cN|`oO%G=vp zD8MMirZGyfX^c{A8l%+f*RO?mBBexS$WY3xnNsZ9GD@*&j8beGqZFGaPpJ>-5*McQA)6+LLh*6J&Clfgnvv z&BDbT(*oFd;F^*h6E#Lnq;(N|T4#a`?b<`W0tnLs;Mtd#B(#H7HX%(0h-EVnLAfMI z5mEXx5Ub`Obwxq}#x08?{!|ldA&4xS0D~~dsE!RV&^A#Zaq-`1SX&lIMbI~b*s(yQ zkAh#&#P%!@djA3lRA2^mCXHtqHt7IaBAYa=O;d6V$QNkhzyhfV`bH2(7Kn@MH-b2^ zK7u5EW;+wkR`GSKI$-m0r>)(xPS};QW5lxAg(MB7uRnD>Bs`1_qW8W z!=&*n!zON!#Z)IQUYRBF6*h5afm8&2BSPntf_Sh%=>0yXMoe{>G@fPHq%&lR zY{GuRWk9~bPjEYi0jUW3Mi5UHh>Pntf^=np(EFc2paN4JCXHtqHt7agOm*Voak+pA z49FMQ#0z8?kcyyh1o38pxVU~Hh_%@L*%v@K!kG%(xr8^bbiO#Rzf9f&F5D+Fi6EbE zNb*^&0~=@pF7b#uJsU&`a%p8M2=J_($)nCXnTpg|H&cl^>t!laXZ=h*bvDRUfwKy% zXTq+|lcWm^C5qsxLJ^ol7oh<&KOW)4&+QYI8)rWYhezq8b1z=Fq5`u)Gg#P?qp$WcUF8(5?yj zeDOAD32h+CXT;1=tZ`BC2w7sSKuna+)WHH3>zU*kEuok~YfubxXjWy?9{Lg|eQ-X% z6_^r+T8*iULtOkronRDv;|k8X(U zbl~ue1ubA(NVWv>6>!a9^9Z0j%3+j*HUVgP5)8B*Lc4zzv?)N#lc1sXVXH{Orf2|h zo0>`3l4942Dm+Hbppbn_9}XsR-IdzD=b;TgkPl2-;P?O{GCw%e5&3tqxs~sR+7@e49#xc9d&V5wxd#n@WRrl50~2TAy^4w5huk zn>tI_6lYbmO}ojrDZ+`{)J3jMMbKXIZ7L1gRjy4%(BATGDh;}$T$|F+Blren1nYim zK$!^-OZd;!m#}h>780nyqh1dqxxx2+kirC2hu;zZ zB17NuHC3zc+<5dLtJ9@l^r}|`Y7Dk7Qr4IgSLrZofBkg(5~EGGd$l=ZpHy3}|M+QY ztMhw)(EX+Nxrw3a=G6;ww(Y%VdVQ~5wb@Jidr=21Ms=IpGvdkB2Alic>+CF5xgMW6 zSV586*&jZt{{ibT$6!MPjVGbDGb;RiaOHd>H@)NLue|df|NO$DvOJ|aY47`IepBv* z7wmg>rFT)D(NC$do`)+n_V%=}2=I+uaA1OuPw~L}{TmB&+FAD(D6V>b{&aAgbq3jM zMg_aB`eoX8CdV5-Ewqa;vFPY=CQ@sO`^l;^*6QQC#G2;^8`eJmuHod^R{Ysj+UxAk z{4joA_teRP&kdz(y0w15Q#M^ar`t9D2%FtUSGIM|9&X{VOTDCiOhxJpizBbkUz)Yv z_410#E0guAQ*;8VoO*?FN4;G2`^nEams%*E*{nAzx>s7i#M5?VSN3f1ntL!I)VQeK zZN6{Atd(zHDYRD7Q&BN79KIo=_EO{GwtJSUg&y?1o?rKDn8Q-Fyp3_)tX8Yf>20@o zRB=kklN-eL#)OqqORjI$|Im?Wti| zl#7*Fn|`ZtJNIP!kF|Bx@rUoWySQV zdTQ8Z&V{|fZarHra9*Dqm3nl*GvhrI|IkrPvffm@vDNOdsk4`?`ItAQcB@~gMQ_7% zX*0_c_fDF1GiSz(>D9O8EHkU+N!cdxeAVHb-&VhQ8PzSr z@W|B0ho5S9zsdDpS zKKPkLMob*6{o<#p*%`@RyC>||>hiYop5Nwz+n4OKN_$VY9pao)(RHo$;)EFk>=oYr z(AW80>Xi9fR;A^!=axs0Xnoh*S66#nuMe>`T8TE3dg+|Icz2}fhTF3%U#(noe$!8N z?p~7@hG@;2n)hx|EEm$~S#>F>hLOnucrc@uQvFn*VrMebVHTVOAFR zZXc;se|bB_ylc(rAzgFrDyQnc$hf)gPQsE^(VOPHZU1a&?sqrVp4xxRf83Tw8OIzQ zhd574+}pb2oiRt>2Y;IO(s}J3t6%j@RE~Z&*zqCnkkh8@-+gskD(|$P*)#m?ntLbu zdf3KVw!6_$+xIN5jpnHzwp>&05;%5V`Qy~VTO!scIDhYze=>XOq1j%W9m1AW%$~SD zYQ(yHPM}&=w7FKUtOlE6=*W(8YP_j?X(*54&2DI#X@6!=kO@^#t<|6esM= zA76O;X-VREr73#0e#4yt2Aj7z^}V`rf%<)mYw?O#R3b;Hx9^meu6ryt@|?TQ&hv*h z<_~VG)6QAby0>9%>G_4d)%&`I|7`o9G5CrHZ)?JL9Xukh{dPR0Q~Q4Rj)ac=eyM}z ztJJ*Qs`!m=>kdRmy%~5a-e*Nr*Dh*Glg^GaTQkbWwpuT@XF%DjxP&`Cl;StGA}2=z}$c6vKarkmX=RD4!S;LYgELZ?W0#s=(~ z7Zo~sriRgt^5=dRj1Dy9_qYrr@DcuoxZBCs+{V&{ z(fy?OddaVcAkQ6E0P(#bn#Tb-bLRgv>Xegu?#rB`Sy$3St4_6QpW;}&z~6CwI;pkJ zNN8tt$Efa3zj7tj!~E*@Yb>4nzIM^CrUr#uluq6E_r91=o6_xg#*Fhh8%o;q zhop|5xqjN6y~B=#Tv^|>(%GoE*FLAkI-0X?^*hqP)GzkRd9A8G-S2davB)S{IAPcg zlVz(~*SH5=eQVJFMyKe~`J2uQcAs*pSk>=D#&-Kh-Fag>Eec9}7_)Yh*Mh0+ZlA8T%GX^NT+pG?}Zf>PaWP?1mXr z_~XW1J*2hJ^4_e=+pZ~OKXlV@_qGWA?YTy&J>MaB__5`QhnKEAuRFr!XXk`1hWsv1 z7f&cWG3LN;^L+Xn1kb+Z8M`BT#=LQzp6icX7--$s(xSh$gY&ZF7FK-1$rC;7mVbaWqD2S~Y3CB&1NV`?H7P?2(Qp216S|eJ9?^ zQM6unwxY&-#g-u6g&~Iyo&KfyV}UVqDQ@hfVPR?G<0cNp zXNqkLF9x4-((2yO>r>XF4toQ6{o`Ys!_~IVAqrVmKmN`sh`O<~<)g=1 zPBu?BhCN-?`EKiir1|C>?kZbs-s3f|Y}XGfRieGu_)i?F*Xiuk7>i4(7cNhJpV=Wv zdEoqMoxKVJ+T;&xD4(mlwMy$`js1>gg>Bt_vA*SZu6W|Hf~hU57AGW3T;de|osxa} zc9+5@hGFBh-YfRF;$%Pn^!7SiLAScRAIA+Dx${+u=LOT(onJrvVD;E_L7r=)W}1qp z%Ch(4>iUHQa=3c1Wy?G`ikk{DU}?-0j*%)-4Mzh=_eat05xxZH3>znmM>a21yqf}Z zQ=#EP8OjU4yfB2IU0a?EK19<26|{iJ?hf)Kv8&MmB|YHLo-HZ8n&Mp#ep?Bp_j*tf* zy5xz?cINR1k$EiI0zlS=Ul_a;5JQsSW%~i}g-aTB)t7qpK9TxZ#|7TjOe87r?aL$< zM-b3Pk_4bR!^&Ya2j6|j0XI(Uh`K9r20&gM{4gKs4b%jUO?RQ_Ssvp2uA~swiVInq zf*GlR4V?#T^8?{`g2RVMh}$zR`9!9}tc%{#gLR+cn6#Mi0e$=N1!snh9;5=x!W`XT z!(jNN#vr3%07C`FvV^?C>bZG^Yv=0p*9famgN=fHvhp(m3DITP-o^(nPQurDi%o) z=0Xpi%d%=Ll-(BmLxHXa-6Vu8N0n4Y@>`OTEM{;h{5(z}K%O_!HlRzRz44#siHv73 zHfU-KD(M5qKWz(IkZzHG+v0yUD*S)61>JoA9{({Gz@CajI1b!Ah&V{&$cqCq4xjLV zO?{`2GgZ8mhIu;2>p9Z~OdTpHZKtXOurb11n3vM&S!e&FP4Ue2pg3&%%6^M?P6+F?mu$ z^Z%Ef;b{p2H((VyN0~tU+@OhLf(kj|OGq}n{)%aiSena9(^GPUWC9vkl^TH<3Vp_L zsU~Oj>-YT86u8LnBNN`gv<~);Mg??BIZqph!|w zLBw(D97G)Rc7PD3c_4)Ci4VoH|H%Q(gJWX^Oyb7Eqfi=L`#>ZCYgVTPRly@OD06q) zDf}N7h=*fl1WXkN5L40*{;NYgOb|zaECw8JG03Vv>c_3FtS)je(kfUA^|yatimjn2 zM#}?QFNj!ww23uD2$^UrEFb5RS`d98iq{$Q6-fY0V@FWaTC5dLXuszFQFs6rU`T-T7P4NDY0sRM?Xc8vCpRiA%|71f%-`&xaMjG~^ zK=7M>;OoiYO|jrXBS6v*&WW&i5(|qHagc+7dCuq!lfHqF7WYZ)H`rJ4g)uicc7Vka z7vca%{DK?L?xYh?@TFtqwSedW6ns_71OAgs4=U9I^8MhI7nJP*ecBhUIzx#raPA1H U0O0fmPB)PAhmY`)@1Gg|2lUWsJOBUy literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/现场签证管理导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/现场签证管理导入模板.xls index 83cbd3762ddb5cfd154f5d227099eb54acc1703a..1270fd0d31ed45a72c643a11a8e13eaa35d92a61 100644 GIT binary patch delta 2827 zcma)8eQZ0UkSL|-1=fgp0+(BT=>kkysDhU0BxhkXeaIB_C4A| zyXj%>A7_aH`v$yd&nsu{zfpXJ$5;_kG&RYLsZk^x9G6IVy0$qensu zF~4R-UP_A@qod8Qi!jFg_j4Z)Nc{@ublRU~ZQQE|!yIg8c896sl)nvs@!0P$K3T%< z3Z!t*UmdxZ*KE$nqjJO(9y@;T5Az7W3RI1A%H4i{K9N_*ayxgPRmfZUQajhj68DzZpaD3hVba5UlLTmCeZwM97Cf)jcKgL+Uzu~E;8N<60< zB8GRkufoP~hm6OYp&DEX`$Qa{IJ>$Pdtb7EFX&HL=T4JhUmqSxPilQH&@pQf4o!l z<3!Y$4kh{o&V~YF6;36x0YjG1Tm=hjMgC)`Cf8*x!lIDBpqMgHu$eMgu$xjVI80el zP)!*sI9WPLN4PF&EvGPM>)J&GN`0DFrLDe`SLHkP?Yt^4)o0mXg{FoqUanhiby6I2 zHA$8U{H7tz>oLcDEy@}@tX`_aTw^C6gnCn&t3TLOZ*@>3zF%9<@lDv-l(be*5}z~; z+Ee5q(T>^r7HmrE7? zT8@E@B(m=rW$~kBgHy)1T>a$pg#3=r7}3PO2qL z7LPf-Fnd`{)goU_vaqjOU|rcWK46}CUzn$!LW4XRQ3=@?$@8{^?2PPpkb{vtqf0)O zR*^hVOUTJS=N;rC!yNl6v(K=VXr(1Uugjq*PlPiooy~_-A01k9B5&i8RFRjgrMzXu zr1p}m6t1lNsaf5(gI_{JYd$RgznBXH19)QOy~)7@5*8&TziMQGN$mg1mm+V}R z^+VMd8*-vBbP^|rR&V;ol&teiaX}il@q%2i-}1`Lopf=4Xrh%!VsRI?EWzkpeY)^L6)5~ bz%m!*L9^^M*u9F4%UNruF*yky9=Y{DFUfC+ delta 2378 zcmb7GeQaCR6+hR0_KOq8_OqX#zrPaOu@lpLG)>|(UrnrpMy#|ej1ESVN-cCtDS?fl zwY2f1RYIUb$q&&WJ_Fjs1QL{NsQUx886VXq#5B~2iH|lC0;Wx)(zJrcXwA9Lb%Vw4)72 z8%Sx#9j*kPa|KPz36BF$Yj#nO+dTnncLjxtb6TLDGw9zHIic*z3Lnn7+Br1m4G0(9 zjR9dZXSX?fajm(3+E{=+JEr2s#dq0;&(w4(gJ&{}r`nKPGg&&)I zhJB3wxM_0>e&pMXyy0Q)XQJJBidSB|Wc&h8_&iYbRx{>DbF9Rb`ZUxn{kDMI4=E!k zg4iAF)^c>9#zaz}5Qg=LKXiqci^W+Y6%-N7=p7=8$MsoEhdm;O>-gDwjZPMiNZ?E= zjy;A~Br#{iFyr@$6z2RLq6shgOZ*!-&vP0hk&?)u-{>~?$l{)Om46Fv58jO4ppN4~ zCl(C;0)`bV88@=8SL8YRFun{skx3RY9C6}Eq$mndLM3q(Hiovr6|Kkfq4lC2g>VTA zQ75!S5g)R?CtMU=cqLpCYw=%>y%2NaFPyy&?r2H$;L&Ia`{Pa=j}>t;?zHZ@MMY<< zM-mFY ztAo7wM{~}nkgu$8Tp_(|H*tQO)oYpsoxze+`f#*E-q`Nt{)jZ#sf{vqwtkq9# zcqcnzbyES)rhB*%?=f}_Y?(CYw_|HYa_oTCwvDl!IG7pbMl5G;?QMJ=w&l1< zvM$p44_kw1DvU0jD7@q93iZfux?OCg-L#88KcP-K#J9@1zAOD*rvKJ{ytaO5=izP( zeMQevJ)@-5kvO=2`Tpy-e&^a8y)iYjEzcK}cy-suH&@-p+!tH_XW-D5-`!LT_(&8F z=k8j(sc-iycZzA;HV{@VB;L4p?;Pd_+ME@BR6X6gj>t*)Y&Z(bpx1J=58;u`+}@dy z#qS^Bh#V=On=GV|v;}`o`B!ZVM?TV5Z7W&nf$XZSaNZr?$hVP=PGQGTLM-CvLv6MO zKG`Cchx{J%;1+qU%Od<);FF>LDK~FNbiu5OLK}Fqnq_0lcGrpQe{hCnpLZg zM$J31YB@OO;Mlv2e;S8}Bf%K)QyR>4!EAVCe^j0d(;FT!EAfXagp+uPs-ph`l7w?C zHD5|*Q1J61S$vcf4< zy-MT~p-XY9=^D|?_LX^6+uV0sSUMOsT;oOBM! Hv6sIFtB5L# diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/设计交底导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/设计交底导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..917d47970a0ec6ebbbad85ac5de42386d8b34b72 GIT binary patch literal 19456 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 b@Q14#MWsV8!0-U?3Vi + + @@ -456,6 +458,7 @@ + @@ -471,6 +474,7 @@ + @@ -7430,6 +7434,13 @@ DesignDetailsApprove.aspx + + DesignDetailsDataIn.aspx + ASPXCodeBehind + + + DesignDetailsDataIn.aspx + DesignDetailsEdit.aspx ASPXCodeBehind @@ -7472,6 +7483,13 @@ GeneralPlanApproval.aspx + + GeneralPlanApprovalDataIn.aspx + ASPXCodeBehind + + + GeneralPlanApprovalDataIn.aspx + GeneralPlanApprovalEdit.aspx ASPXCodeBehind @@ -7570,6 +7588,13 @@ InspectionTestPlan.aspx + + InspectionTestPlanDataIn.aspx + ASPXCodeBehind + + + InspectionTestPlanDataIn.aspx + InspectionTestPlanEdit.aspx ASPXCodeBehind @@ -7675,6 +7700,13 @@ ReviewDrawings.aspx + + ReviewDrawingsDataIn.aspx + ASPXCodeBehind + + + ReviewDrawingsDataIn.aspx + ReviewDrawingsEdit.aspx ASPXCodeBehind diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user index 63ca13cc..9e91deff 100644 --- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user +++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user @@ -1,7 +1,7 @@  - Release|Any CPU + Debug|Any CPU true false diff --git a/SGGL/FineUIPro.Web/Web.config b/SGGL/FineUIPro.Web/Web.config index 963148f2..9fc55c34 100644 --- a/SGGL/FineUIPro.Web/Web.config +++ b/SGGL/FineUIPro.Web/Web.config @@ -12,7 +12,7 @@ - + @@ -77,7 +77,7 @@ - + diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index 489e660d..1e195972 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -2057,6 +2057,12 @@ namespace Model partial void InsertRunning_LogManagement(Running_LogManagement instance); partial void UpdateRunning_LogManagement(Running_LogManagement instance); partial void DeleteRunning_LogManagement(Running_LogManagement instance); + partial void InsertRunning_Maintenance(Running_Maintenance instance); + partial void UpdateRunning_Maintenance(Running_Maintenance instance); + partial void DeleteRunning_Maintenance(Running_Maintenance instance); + partial void InsertRunning_Operation(Running_Operation instance); + partial void UpdateRunning_Operation(Running_Operation instance); + partial void DeleteRunning_Operation(Running_Operation instance); partial void InsertSafetyData_SafetyData(SafetyData_SafetyData instance); partial void UpdateSafetyData_SafetyData(SafetyData_SafetyData instance); partial void DeleteSafetyData_SafetyData(SafetyData_SafetyData instance); @@ -8099,6 +8105,22 @@ namespace Model } } + public System.Data.Linq.Table Running_Maintenance + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table Running_Operation + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table SafetyData_SafetyData { get @@ -90817,6 +90839,8 @@ namespace Model private string _AuditMan; + private string _RemarCode; + private EntityRef _Base_Project; private EntityRef _Sys_User; @@ -90853,6 +90877,8 @@ namespace Model partial void OnStatusChanged(); partial void OnAuditManChanging(string value); partial void OnAuditManChanged(); + partial void OnRemarCodeChanging(string value); + partial void OnRemarCodeChanged(); #endregion public Comprehensive_DesignDetails() @@ -91150,6 +91176,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarCode", DbType="NVarChar(50)")] + public string RemarCode + { + get + { + return this._RemarCode; + } + set + { + if ((this._RemarCode != value)) + { + this.OnRemarCodeChanging(value); + this.SendPropertyChanging(); + this._RemarCode = value; + this.SendPropertyChanged("RemarCode"); + this.OnRemarCodeChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Comprehensive_DesignDetails_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] public Base_Project Base_Project { @@ -92268,6 +92314,8 @@ namespace Model private string _UnitWorkId; + private string _RemarkCode; + private EntityRef _Base_CNProfessional; private EntityRef _Base_Project; @@ -92308,6 +92356,8 @@ namespace Model partial void OnCompileDateChanged(); partial void OnUnitWorkIdChanging(string value); partial void OnUnitWorkIdChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Comprehensive_GeneralPlanApproval() @@ -92611,6 +92661,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Comprehensive_GeneralPlanApproval_Base_CNProfessional", Storage="_Base_CNProfessional", ThisKey="CNProfessionalId", OtherKey="CNProfessionalId", IsForeignKey=true)] public Base_CNProfessional Base_CNProfessional { @@ -96617,6 +96687,8 @@ namespace Model private System.Nullable _IsReview; + private string _RemarkCode; + private EntityRef _Base_CNProfessional; private EntityRef _Base_Project; @@ -96663,6 +96735,8 @@ namespace Model partial void OnExpertReviewManChanged(); partial void OnIsReviewChanging(System.Nullable value); partial void OnIsReviewChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Comprehensive_MajorPlanApproval() @@ -97026,6 +97100,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Comprehensive_MajorPlanApproval_Base_CNProfessional", Storage="_Base_CNProfessional", ThisKey="CNProfessionalId", OtherKey="CNProfessionalId", IsForeignKey=true)] public Base_CNProfessional Base_CNProfessional { @@ -98454,6 +98548,8 @@ namespace Model private System.Nullable _ReportTime; + private string _RemarkCode; + private EntityRef _Sys_User; private EntityRef _Base_Project; @@ -98490,6 +98586,8 @@ namespace Model partial void OnAuditManChanged(); partial void OnReportTimeChanging(System.Nullable value); partial void OnReportTimeChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Comprehensive_PressurePipe() @@ -98772,6 +98870,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Comprehensive_PressurePipe_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] public Sys_User Sys_User { @@ -99185,6 +99303,8 @@ namespace Model private string _AuditMan; + private string _RemarkCode; + private EntityRef _Base_Project; private EntityRef _Base_Unit; @@ -99225,6 +99345,8 @@ namespace Model partial void OnStatusChanged(); partial void OnAuditManChanging(string value); partial void OnAuditManChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Comprehensive_QualityAccident() @@ -99547,6 +99669,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Comprehensive_QualityAccident_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] public Base_Project Base_Project { @@ -99952,6 +100094,8 @@ namespace Model private System.Nullable _CreateDate; + private string _RemarkCode; + #region 可扩展性方法定义 partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); @@ -99978,6 +100122,8 @@ namespace Model partial void OnCreateManChanged(); partial void OnCreateDateChanging(System.Nullable value); partial void OnCreateDateChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Comprehensive_ReviewDrawings() @@ -100205,6 +100351,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; @@ -100274,6 +100440,8 @@ namespace Model private string _Status; + private string _RemarkCode; + private EntityRef _Sys_User; private EntityRef _Base_CNProfessional; @@ -100330,6 +100498,8 @@ namespace Model partial void OnRemarkChanged(); partial void OnStatusChanging(string value); partial void OnStatusChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Comprehensive_SiteVisaManagement() @@ -100782,6 +100952,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Comprehensive_SiteVisaManagement_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] public Sys_User Sys_User { @@ -101259,6 +101449,8 @@ namespace Model private string _PositionNum; + private string _RemarkCode; + private EntityRef _Sys_User; private EntityRef _Base_Project; @@ -101295,6 +101487,8 @@ namespace Model partial void OnReportTimeChanged(); partial void OnPositionNumChanging(string value); partial void OnPositionNumChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Comprehensive_SpecialEquipment() @@ -101577,6 +101771,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="Comprehensive_SpecialEquipment_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] public Sys_User Sys_User { @@ -101978,6 +102192,8 @@ namespace Model private string _Remark; + private string _RemarkCode; + private EntityRef _Base_CNProfessional; private EntityRef _Base_Project; @@ -102004,6 +102220,8 @@ namespace Model partial void OnKeynoteSpeakerChanged(); partial void OnRemarkChanging(string value); partial void OnRemarkChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Comprehensive_TrainingRecords() @@ -102201,6 +102419,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Comprehensive_TrainingRecords_Base_CNProfessional", Storage="_Base_CNProfessional", ThisKey="CNProfessionalId", OtherKey="CNProfessionalId", IsForeignKey=true)] public Base_CNProfessional Base_CNProfessional { @@ -208330,6 +208568,8 @@ namespace Model private System.Nullable _CreateDate; + private string _RemarkCode; + #region 可扩展性方法定义 partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); @@ -208358,6 +208598,8 @@ namespace Model partial void OnCreateManChanged(); partial void OnCreateDateChanging(System.Nullable value); partial void OnCreateDateChanged(); + partial void OnRemarkCodeChanging(string value); + partial void OnRemarkCodeChanged(); #endregion public Inspection_Test_Plan() @@ -208605,6 +208847,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RemarkCode", DbType="NVarChar(50)")] + public string RemarkCode + { + get + { + return this._RemarkCode; + } + set + { + if ((this._RemarkCode != value)) + { + this.OnRemarkCodeChanging(value); + this.SendPropertyChanging(); + this._RemarkCode = value; + this.SendPropertyChanged("RemarkCode"); + this.OnRemarkCodeChanged(); + } + } + } + public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; @@ -315963,52 +316225,12 @@ namespace Model private System.Nullable _EndData; - private System.Nullable _IsDesalinated; + private string _Situation; - private string _DesalinatedSituation; - - private string _DesalinatedRemarks; - - private System.Nullable _IsLoop; - - private string _LoopSituation; - - private string _LoopRemarks; - - private System.Nullable _IsSteam; - - private string _SteamSituation; - - private string _SteamRemarks; - - private System.Nullable _IsAirCompression; - - private string _AirCompressionSituation; - - private string _AirCompressionRemarks; - - private System.Nullable _IsCompoundAmmonia; - - private string _CompoundAmmoniaSituation; - - private string _CompoundAmmoniaRemarks; - - private System.Nullable _IsUrea; - - private string _UreaSituation; - - private string _UreaRemarks; + private string _Remarks; private string _HandoverCare; - private string _OperationReason; - - private string _OperationHandle; - - private string _MaintenanceReason; - - private string _MaintenanceHandle; - private string _AddUser; private System.Nullable _AddTime; @@ -316041,52 +316263,12 @@ namespace Model partial void OnStartDataChanged(); partial void OnEndDataChanging(System.Nullable value); partial void OnEndDataChanged(); - partial void OnIsDesalinatedChanging(System.Nullable value); - partial void OnIsDesalinatedChanged(); - partial void OnDesalinatedSituationChanging(string value); - partial void OnDesalinatedSituationChanged(); - partial void OnDesalinatedRemarksChanging(string value); - partial void OnDesalinatedRemarksChanged(); - partial void OnIsLoopChanging(System.Nullable value); - partial void OnIsLoopChanged(); - partial void OnLoopSituationChanging(string value); - partial void OnLoopSituationChanged(); - partial void OnLoopRemarksChanging(string value); - partial void OnLoopRemarksChanged(); - partial void OnIsSteamChanging(System.Nullable value); - partial void OnIsSteamChanged(); - partial void OnSteamSituationChanging(string value); - partial void OnSteamSituationChanged(); - partial void OnSteamRemarksChanging(string value); - partial void OnSteamRemarksChanged(); - partial void OnIsAirCompressionChanging(System.Nullable value); - partial void OnIsAirCompressionChanged(); - partial void OnAirCompressionSituationChanging(string value); - partial void OnAirCompressionSituationChanged(); - partial void OnAirCompressionRemarksChanging(string value); - partial void OnAirCompressionRemarksChanged(); - partial void OnIsCompoundAmmoniaChanging(System.Nullable value); - partial void OnIsCompoundAmmoniaChanged(); - partial void OnCompoundAmmoniaSituationChanging(string value); - partial void OnCompoundAmmoniaSituationChanged(); - partial void OnCompoundAmmoniaRemarksChanging(string value); - partial void OnCompoundAmmoniaRemarksChanged(); - partial void OnIsUreaChanging(System.Nullable value); - partial void OnIsUreaChanged(); - partial void OnUreaSituationChanging(string value); - partial void OnUreaSituationChanged(); - partial void OnUreaRemarksChanging(string value); - partial void OnUreaRemarksChanged(); + partial void OnSituationChanging(string value); + partial void OnSituationChanged(); + partial void OnRemarksChanging(string value); + partial void OnRemarksChanged(); partial void OnHandoverCareChanging(string value); partial void OnHandoverCareChanged(); - partial void OnOperationReasonChanging(string value); - partial void OnOperationReasonChanged(); - partial void OnOperationHandleChanging(string value); - partial void OnOperationHandleChanged(); - partial void OnMaintenanceReasonChanging(string value); - partial void OnMaintenanceReasonChanged(); - partial void OnMaintenanceHandleChanging(string value); - partial void OnMaintenanceHandleChanged(); partial void OnAddUserChanging(string value); partial void OnAddUserChanged(); partial void OnAddTimeChanging(System.Nullable value); @@ -316320,362 +316502,42 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsDesalinated", DbType="Int")] - public System.Nullable IsDesalinated + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Situation", DbType="VarChar(1000)")] + public string Situation { get { - return this._IsDesalinated; + return this._Situation; } set { - if ((this._IsDesalinated != value)) + if ((this._Situation != value)) { - this.OnIsDesalinatedChanging(value); + this.OnSituationChanging(value); this.SendPropertyChanging(); - this._IsDesalinated = value; - this.SendPropertyChanged("IsDesalinated"); - this.OnIsDesalinatedChanged(); + this._Situation = value; + this.SendPropertyChanged("Situation"); + this.OnSituationChanged(); } } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DesalinatedSituation", DbType="VarChar(1000)")] - public string DesalinatedSituation + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remarks", DbType="VarChar(1000)")] + public string Remarks { get { - return this._DesalinatedSituation; + return this._Remarks; } set { - if ((this._DesalinatedSituation != value)) + if ((this._Remarks != value)) { - this.OnDesalinatedSituationChanging(value); + this.OnRemarksChanging(value); this.SendPropertyChanging(); - this._DesalinatedSituation = value; - this.SendPropertyChanged("DesalinatedSituation"); - this.OnDesalinatedSituationChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DesalinatedRemarks", DbType="VarChar(1000)")] - public string DesalinatedRemarks - { - get - { - return this._DesalinatedRemarks; - } - set - { - if ((this._DesalinatedRemarks != value)) - { - this.OnDesalinatedRemarksChanging(value); - this.SendPropertyChanging(); - this._DesalinatedRemarks = value; - this.SendPropertyChanged("DesalinatedRemarks"); - this.OnDesalinatedRemarksChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLoop", DbType="Int")] - public System.Nullable IsLoop - { - get - { - return this._IsLoop; - } - set - { - if ((this._IsLoop != value)) - { - this.OnIsLoopChanging(value); - this.SendPropertyChanging(); - this._IsLoop = value; - this.SendPropertyChanged("IsLoop"); - this.OnIsLoopChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LoopSituation", DbType="VarChar(1000)")] - public string LoopSituation - { - get - { - return this._LoopSituation; - } - set - { - if ((this._LoopSituation != value)) - { - this.OnLoopSituationChanging(value); - this.SendPropertyChanging(); - this._LoopSituation = value; - this.SendPropertyChanged("LoopSituation"); - this.OnLoopSituationChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LoopRemarks", DbType="VarChar(1000)")] - public string LoopRemarks - { - get - { - return this._LoopRemarks; - } - set - { - if ((this._LoopRemarks != value)) - { - this.OnLoopRemarksChanging(value); - this.SendPropertyChanging(); - this._LoopRemarks = value; - this.SendPropertyChanged("LoopRemarks"); - this.OnLoopRemarksChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSteam", DbType="Int")] - public System.Nullable IsSteam - { - get - { - return this._IsSteam; - } - set - { - if ((this._IsSteam != value)) - { - this.OnIsSteamChanging(value); - this.SendPropertyChanging(); - this._IsSteam = value; - this.SendPropertyChanged("IsSteam"); - this.OnIsSteamChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SteamSituation", DbType="VarChar(1000)")] - public string SteamSituation - { - get - { - return this._SteamSituation; - } - set - { - if ((this._SteamSituation != value)) - { - this.OnSteamSituationChanging(value); - this.SendPropertyChanging(); - this._SteamSituation = value; - this.SendPropertyChanged("SteamSituation"); - this.OnSteamSituationChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SteamRemarks", DbType="VarChar(1000)")] - public string SteamRemarks - { - get - { - return this._SteamRemarks; - } - set - { - if ((this._SteamRemarks != value)) - { - this.OnSteamRemarksChanging(value); - this.SendPropertyChanging(); - this._SteamRemarks = value; - this.SendPropertyChanged("SteamRemarks"); - this.OnSteamRemarksChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsAirCompression", DbType="Int")] - public System.Nullable IsAirCompression - { - get - { - return this._IsAirCompression; - } - set - { - if ((this._IsAirCompression != value)) - { - this.OnIsAirCompressionChanging(value); - this.SendPropertyChanging(); - this._IsAirCompression = value; - this.SendPropertyChanged("IsAirCompression"); - this.OnIsAirCompressionChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AirCompressionSituation", DbType="VarChar(1000)")] - public string AirCompressionSituation - { - get - { - return this._AirCompressionSituation; - } - set - { - if ((this._AirCompressionSituation != value)) - { - this.OnAirCompressionSituationChanging(value); - this.SendPropertyChanging(); - this._AirCompressionSituation = value; - this.SendPropertyChanged("AirCompressionSituation"); - this.OnAirCompressionSituationChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AirCompressionRemarks", DbType="VarChar(1000)")] - public string AirCompressionRemarks - { - get - { - return this._AirCompressionRemarks; - } - set - { - if ((this._AirCompressionRemarks != value)) - { - this.OnAirCompressionRemarksChanging(value); - this.SendPropertyChanging(); - this._AirCompressionRemarks = value; - this.SendPropertyChanged("AirCompressionRemarks"); - this.OnAirCompressionRemarksChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsCompoundAmmonia", DbType="Int")] - public System.Nullable IsCompoundAmmonia - { - get - { - return this._IsCompoundAmmonia; - } - set - { - if ((this._IsCompoundAmmonia != value)) - { - this.OnIsCompoundAmmoniaChanging(value); - this.SendPropertyChanging(); - this._IsCompoundAmmonia = value; - this.SendPropertyChanged("IsCompoundAmmonia"); - this.OnIsCompoundAmmoniaChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompoundAmmoniaSituation", DbType="VarChar(1000)")] - public string CompoundAmmoniaSituation - { - get - { - return this._CompoundAmmoniaSituation; - } - set - { - if ((this._CompoundAmmoniaSituation != value)) - { - this.OnCompoundAmmoniaSituationChanging(value); - this.SendPropertyChanging(); - this._CompoundAmmoniaSituation = value; - this.SendPropertyChanged("CompoundAmmoniaSituation"); - this.OnCompoundAmmoniaSituationChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompoundAmmoniaRemarks", DbType="VarChar(1000)")] - public string CompoundAmmoniaRemarks - { - get - { - return this._CompoundAmmoniaRemarks; - } - set - { - if ((this._CompoundAmmoniaRemarks != value)) - { - this.OnCompoundAmmoniaRemarksChanging(value); - this.SendPropertyChanging(); - this._CompoundAmmoniaRemarks = value; - this.SendPropertyChanged("CompoundAmmoniaRemarks"); - this.OnCompoundAmmoniaRemarksChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsUrea", DbType="Int")] - public System.Nullable IsUrea - { - get - { - return this._IsUrea; - } - set - { - if ((this._IsUrea != value)) - { - this.OnIsUreaChanging(value); - this.SendPropertyChanging(); - this._IsUrea = value; - this.SendPropertyChanged("IsUrea"); - this.OnIsUreaChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UreaSituation", DbType="VarChar(1000)")] - public string UreaSituation - { - get - { - return this._UreaSituation; - } - set - { - if ((this._UreaSituation != value)) - { - this.OnUreaSituationChanging(value); - this.SendPropertyChanging(); - this._UreaSituation = value; - this.SendPropertyChanged("UreaSituation"); - this.OnUreaSituationChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UreaRemarks", DbType="VarChar(1000)")] - public string UreaRemarks - { - get - { - return this._UreaRemarks; - } - set - { - if ((this._UreaRemarks != value)) - { - this.OnUreaRemarksChanging(value); - this.SendPropertyChanging(); - this._UreaRemarks = value; - this.SendPropertyChanged("UreaRemarks"); - this.OnUreaRemarksChanged(); + this._Remarks = value; + this.SendPropertyChanged("Remarks"); + this.OnRemarksChanged(); } } } @@ -316700,42 +316562,264 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OperationReason", DbType="VarChar(1000)")] - public string OperationReason + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AddUser", DbType="VarChar(50)")] + public string AddUser { get { - return this._OperationReason; + return this._AddUser; } set { - if ((this._OperationReason != value)) + if ((this._AddUser != value)) { - this.OnOperationReasonChanging(value); + this.OnAddUserChanging(value); this.SendPropertyChanging(); - this._OperationReason = value; - this.SendPropertyChanged("OperationReason"); - this.OnOperationReasonChanged(); + this._AddUser = value; + this.SendPropertyChanged("AddUser"); + this.OnAddUserChanged(); } } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OperationHandle", DbType="VarChar(1000)")] - public string OperationHandle + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AddTime", DbType="DateTime")] + public System.Nullable AddTime { get { - return this._OperationHandle; + return this._AddTime; } set { - if ((this._OperationHandle != value)) + if ((this._AddTime != value)) { - this.OnOperationHandleChanging(value); + this.OnAddTimeChanging(value); this.SendPropertyChanging(); - this._OperationHandle = value; - this.SendPropertyChanged("OperationHandle"); - this.OnOperationHandleChanged(); + this._AddTime = value; + this.SendPropertyChanged("AddTime"); + this.OnAddTimeChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sort", DbType="Int")] + public System.Nullable Sort + { + get + { + return this._Sort; + } + set + { + if ((this._Sort != value)) + { + this.OnSortChanging(value); + this.SendPropertyChanging(); + this._Sort = value; + this.SendPropertyChanged("Sort"); + this.OnSortChanged(); + } + } + } + + 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.Running_Maintenance")] + public partial class Running_Maintenance : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _MaintenanceId; + + private string _RunningId; + + private string _ProjectId; + + private string _InstallationId; + + private string _ProcessesId; + + private string _SystemId; + + private string _MaintenanceReason; + + private string _MaintenanceHandle; + + private string _AddUser; + + private System.Nullable _AddTime; + + private System.Nullable _Sort; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnMaintenanceIdChanging(string value); + partial void OnMaintenanceIdChanged(); + partial void OnRunningIdChanging(string value); + partial void OnRunningIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnInstallationIdChanging(string value); + partial void OnInstallationIdChanged(); + partial void OnProcessesIdChanging(string value); + partial void OnProcessesIdChanged(); + partial void OnSystemIdChanging(string value); + partial void OnSystemIdChanged(); + partial void OnMaintenanceReasonChanging(string value); + partial void OnMaintenanceReasonChanged(); + partial void OnMaintenanceHandleChanging(string value); + partial void OnMaintenanceHandleChanged(); + partial void OnAddUserChanging(string value); + partial void OnAddUserChanged(); + partial void OnAddTimeChanging(System.Nullable value); + partial void OnAddTimeChanged(); + partial void OnSortChanging(System.Nullable value); + partial void OnSortChanged(); + #endregion + + public Running_Maintenance() + { + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MaintenanceId", DbType="VarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string MaintenanceId + { + get + { + return this._MaintenanceId; + } + set + { + if ((this._MaintenanceId != value)) + { + this.OnMaintenanceIdChanging(value); + this.SendPropertyChanging(); + this._MaintenanceId = value; + this.SendPropertyChanged("MaintenanceId"); + this.OnMaintenanceIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RunningId", DbType="VarChar(50)")] + public string RunningId + { + get + { + return this._RunningId; + } + set + { + if ((this._RunningId != value)) + { + this.OnRunningIdChanging(value); + this.SendPropertyChanging(); + this._RunningId = value; + this.SendPropertyChanged("RunningId"); + this.OnRunningIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="VarChar(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="_InstallationId", DbType="VarChar(50)")] + public string InstallationId + { + get + { + return this._InstallationId; + } + set + { + if ((this._InstallationId != value)) + { + this.OnInstallationIdChanging(value); + this.SendPropertyChanging(); + this._InstallationId = value; + this.SendPropertyChanged("InstallationId"); + this.OnInstallationIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProcessesId", DbType="VarChar(50)")] + public string ProcessesId + { + get + { + return this._ProcessesId; + } + set + { + if ((this._ProcessesId != value)) + { + this.OnProcessesIdChanging(value); + this.SendPropertyChanging(); + this._ProcessesId = value; + this.SendPropertyChanged("ProcessesId"); + this.OnProcessesIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SystemId", DbType="VarChar(50)")] + public string SystemId + { + get + { + return this._SystemId; + } + set + { + if ((this._SystemId != value)) + { + this.OnSystemIdChanging(value); + this.SendPropertyChanging(); + this._SystemId = value; + this.SendPropertyChanged("SystemId"); + this.OnSystemIdChanged(); } } } @@ -316861,6 +316945,308 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Running_Operation")] + public partial class Running_Operation : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _OperationId; + + private string _RunningId; + + private string _ProjectId; + + private string _InstallationId; + + private string _ProcessesId; + + private string _SystemId; + + private string _OperationReason; + + private string _OperationHandle; + + private string _AddUser; + + private System.Nullable _AddTime; + + private System.Nullable _Sort; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnOperationIdChanging(string value); + partial void OnOperationIdChanged(); + partial void OnRunningIdChanging(string value); + partial void OnRunningIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnInstallationIdChanging(string value); + partial void OnInstallationIdChanged(); + partial void OnProcessesIdChanging(string value); + partial void OnProcessesIdChanged(); + partial void OnSystemIdChanging(string value); + partial void OnSystemIdChanged(); + partial void OnOperationReasonChanging(string value); + partial void OnOperationReasonChanged(); + partial void OnOperationHandleChanging(string value); + partial void OnOperationHandleChanged(); + partial void OnAddUserChanging(string value); + partial void OnAddUserChanged(); + partial void OnAddTimeChanging(System.Nullable value); + partial void OnAddTimeChanged(); + partial void OnSortChanging(System.Nullable value); + partial void OnSortChanged(); + #endregion + + public Running_Operation() + { + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OperationId", DbType="VarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string OperationId + { + get + { + return this._OperationId; + } + set + { + if ((this._OperationId != value)) + { + this.OnOperationIdChanging(value); + this.SendPropertyChanging(); + this._OperationId = value; + this.SendPropertyChanged("OperationId"); + this.OnOperationIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RunningId", DbType="VarChar(50)")] + public string RunningId + { + get + { + return this._RunningId; + } + set + { + if ((this._RunningId != value)) + { + this.OnRunningIdChanging(value); + this.SendPropertyChanging(); + this._RunningId = value; + this.SendPropertyChanged("RunningId"); + this.OnRunningIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="VarChar(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="_InstallationId", DbType="VarChar(50)")] + public string InstallationId + { + get + { + return this._InstallationId; + } + set + { + if ((this._InstallationId != value)) + { + this.OnInstallationIdChanging(value); + this.SendPropertyChanging(); + this._InstallationId = value; + this.SendPropertyChanged("InstallationId"); + this.OnInstallationIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProcessesId", DbType="VarChar(50)")] + public string ProcessesId + { + get + { + return this._ProcessesId; + } + set + { + if ((this._ProcessesId != value)) + { + this.OnProcessesIdChanging(value); + this.SendPropertyChanging(); + this._ProcessesId = value; + this.SendPropertyChanged("ProcessesId"); + this.OnProcessesIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SystemId", DbType="VarChar(50)")] + public string SystemId + { + get + { + return this._SystemId; + } + set + { + if ((this._SystemId != value)) + { + this.OnSystemIdChanging(value); + this.SendPropertyChanging(); + this._SystemId = value; + this.SendPropertyChanged("SystemId"); + this.OnSystemIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OperationReason", DbType="VarChar(1000)")] + public string OperationReason + { + get + { + return this._OperationReason; + } + set + { + if ((this._OperationReason != value)) + { + this.OnOperationReasonChanging(value); + this.SendPropertyChanging(); + this._OperationReason = value; + this.SendPropertyChanged("OperationReason"); + this.OnOperationReasonChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OperationHandle", DbType="VarChar(1000)")] + public string OperationHandle + { + get + { + return this._OperationHandle; + } + set + { + if ((this._OperationHandle != value)) + { + this.OnOperationHandleChanging(value); + this.SendPropertyChanging(); + this._OperationHandle = value; + this.SendPropertyChanged("OperationHandle"); + this.OnOperationHandleChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AddUser", DbType="VarChar(50)")] + public string AddUser + { + get + { + return this._AddUser; + } + set + { + if ((this._AddUser != value)) + { + this.OnAddUserChanging(value); + this.SendPropertyChanging(); + this._AddUser = value; + this.SendPropertyChanged("AddUser"); + this.OnAddUserChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AddTime", DbType="DateTime")] + public System.Nullable AddTime + { + get + { + return this._AddTime; + } + set + { + if ((this._AddTime != value)) + { + this.OnAddTimeChanging(value); + this.SendPropertyChanging(); + this._AddTime = value; + this.SendPropertyChanged("AddTime"); + this.OnAddTimeChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Sort", DbType="Int")] + public System.Nullable Sort + { + get + { + return this._Sort; + } + set + { + if ((this._Sort != value)) + { + this.OnSortChanging(value); + this.SendPropertyChanging(); + this._Sort = value; + this.SendPropertyChanged("Sort"); + this.OnSortChanged(); + } + } + } + + 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.SafetyData_SafetyData")] public partial class SafetyData_SafetyData : INotifyPropertyChanging, INotifyPropertyChanged { diff --git a/SGGL/WebAPI/WebAPI.csproj.user b/SGGL/WebAPI/WebAPI.csproj.user index bd497c6b..5fe155da 100644 --- a/SGGL/WebAPI/WebAPI.csproj.user +++ b/SGGL/WebAPI/WebAPI.csproj.user @@ -1,7 +1,7 @@  - Release|Any CPU + Debug|Any CPU true