diff --git a/DataBase/版本日志/SGGLDB_WH_V2024-07-24-li.sql b/DataBase/版本日志/SGGLDB_WH_V2024-07-24-li.sql new file mode 100644 index 00000000..3237026d --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_V2024-07-24-li.sql @@ -0,0 +1,68 @@ +ALTER TABLE Transfer_PunchlistFrom ADD Num_NO BigInt NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD System_No NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Sub_Sys_No NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Cat NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Raised_By NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Date_Raised datetime NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Disc NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD IsEng bit NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD IsMatI bit NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Punch_Type NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Required_Date datetime NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD PIC NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD PIC_WUH NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Correction_Action NVARCHAR(500) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Actual_Date datetime NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Cleared_By NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Cleared_Date datetime NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Confirmed_By NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Confirmed_Date datetime NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Verified_By NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Verified_Date datetime NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD [Status] NVARCHAR(50) NULL +GO + +ALTER TABLE Transfer_PunchlistFrom ADD Remark NVARCHAR(500) NULL +GO diff --git a/SGGL/FineUIPro.Web/AttachFile/webuploader.aspx.cs b/SGGL/FineUIPro.Web/AttachFile/webuploader.aspx.cs index 4880d08a..821158c6 100644 --- a/SGGL/FineUIPro.Web/AttachFile/webuploader.aspx.cs +++ b/SGGL/FineUIPro.Web/AttachFile/webuploader.aspx.cs @@ -778,6 +778,13 @@ namespace FineUIPro.Web.AttachFile } #endregion + #region PunchlistFrom附件保存成功后处理事件 + if (MenuId == BLL.Const.PunchlistFromMenuId) + { + PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); + } + #endregion + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/PunchlistFrom导入模板(旧版).xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/PunchlistFrom导入模板(旧版).xls new file mode 100644 index 00000000..1c4a6ca5 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/DataIn/PunchlistFrom导入模板(旧版).xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/PunchlistFrom导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/PunchlistFrom导入模板.xls index 6a3c3897..5dcc1217 100644 Binary files a/SGGL/FineUIPro.Web/File/Excel/DataIn/PunchlistFrom导入模板.xls and b/SGGL/FineUIPro.Web/File/Excel/DataIn/PunchlistFrom导入模板.xls differ diff --git a/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx b/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx index e534c8cc..9b734955 100644 --- a/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx +++ b/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx @@ -4,33 +4,33 @@ - +
- + - + EnableRowDoubleClickEvent="true" EnableTextSelection="true"> - - - - - + + + + + - + @@ -38,60 +38,57 @@ - <%-- - - - - + + + + + + + + + + + + - - + + <%-- - - - - - - - - + - - - - - - - + - - - <%-- + --%> + + <%-- @@ -110,6 +107,84 @@ --%> + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -143,6 +218,10 @@ + + @@ -156,4 +235,4 @@ } - \ No newline at end of file + diff --git a/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx.cs b/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx.cs index 131484b2..493ce1b1 100644 --- a/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx.cs +++ b/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx.cs @@ -30,57 +30,60 @@ namespace FineUIPro.Web.Transfer /// public void BindGrid() { - string strSql = @"select*from Transfer_PunchlistFrom + string strSql = @"select * + ,(CASE isnull(IsEng,0) WHEN 1 THEN 'Y' ELSE 'N' END) IsEngStr + ,(CASE isnull(IsMatI,0) WHEN 1 THEN 'Y' ELSE 'N' END) IsMatIStr + from Transfer_PunchlistFrom where ProjectId = @ProjectId"; List listStr = new List(); listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); - if (!string.IsNullOrEmpty(this.txtPunch_No.Text.Trim())) + if (!string.IsNullOrEmpty(this.txtNum_NO.Text.Trim())) { - strSql += " AND Punch_No like @Punch_No"; - listStr.Add(new SqlParameter("@Punch_No", "%" + this.txtPunch_No.Text.Trim() + "%")); + strSql += " AND Num_NO like @Num_NO"; + listStr.Add(new SqlParameter("@Num_NO", "%" + this.txtNum_NO.Text.Trim() + "%")); } - if (!string.IsNullOrEmpty(this.txtSYSTEM.Text.Trim())) + if (!string.IsNullOrEmpty(this.txtSystem_No.Text.Trim())) { - strSql += " AND SystemName like @SystemName"; - listStr.Add(new SqlParameter("@SystemName", "%" + this.txtSYSTEM.Text.Trim() + "%")); + strSql += " AND System_No like @System_No"; + listStr.Add(new SqlParameter("@System_No", "%" + this.txtSystem_No.Text.Trim() + "%")); } - if (!string.IsNullOrEmpty(this.txtSUBSYSTEM.Text.Trim())) + if (!string.IsNullOrEmpty(this.txtSub_Sys_No.Text.Trim())) { - strSql += " AND Subsystem like @Subsystem"; - listStr.Add(new SqlParameter("@Subsystem", "%" + this.txtSUBSYSTEM.Text.Trim() + "%")); + strSql += " AND Sub_Sys_No like @Sub_Sys_No"; + listStr.Add(new SqlParameter("@Sub_Sys_No", "%" + this.txtSub_Sys_No.Text.Trim() + "%")); } - if (!string.IsNullOrEmpty(txtStarTime.Text.Trim())) + if (!string.IsNullOrEmpty(txtStartDate_Raised.Text.Trim())) { - strSql += " AND PUNCH_ITEM_FINISH_DATE >= @InspectionDateA"; - listStr.Add(new SqlParameter("@InspectionDateA", Funs.GetNewDateTime(txtStarTime.Text.Trim()))); + strSql += " AND Date_Raised >= @StartDate_Raised"; + listStr.Add(new SqlParameter("@StartDate_Raised", Funs.GetNewDateTime(txtStartDate_Raised.Text.Trim()))); } - if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) + if (!string.IsNullOrEmpty(txtEndDate_Raised.Text.Trim())) { - strSql += " AND PUNCH_ITEM_FINISH_DATE <= @InspectionDateZ"; - listStr.Add(new SqlParameter("@InspectionDateZ", Funs.GetNewDateTime(txtEndTime.Text.Trim()))); + strSql += " AND Date_Raised <= @EndDate_Raised"; + listStr.Add(new SqlParameter("@EndDate_Raised", Funs.GetNewDateTime(txtEndDate_Raised.Text.Trim()))); } - if (!string.IsNullOrEmpty(this.txtTestPackage.Text.Trim())) + if (!string.IsNullOrEmpty(txtStartRequired_Date.Text.Trim())) { - strSql += " AND Test_Package like @Test_Package"; - listStr.Add(new SqlParameter("@Test_Package", "%" + this.txtTestPackage.Text.Trim() + "%")); + strSql += " AND Required_Date >= @Required_Date"; + listStr.Add(new SqlParameter("@Required_Date", Funs.GetNewDateTime(txtStartRequired_Date.Text.Trim()))); } - if (!string.IsNullOrEmpty(this.txtDiscipline.Text.Trim())) + if (!string.IsNullOrEmpty(txtEndRequired_Date.Text.Trim())) { - strSql += " AND Discipline like @Discipline"; - listStr.Add(new SqlParameter("@Discipline", "%" + this.txtDiscipline.Text.Trim() + "%")); + strSql += " AND Required_Date <= @Required_Date"; + listStr.Add(new SqlParameter("@Required_Date", Funs.GetNewDateTime(txtEndRequired_Date.Text.Trim()))); } - if (!string.IsNullOrEmpty(this.txtIdentified.Text.Trim())) + if (!string.IsNullOrEmpty(txtStartActual_Date.Text.Trim())) { - strSql += " AND Identified like @Identified"; - listStr.Add(new SqlParameter("@Identified", "%" + this.txtIdentified.Text.Trim() + "%")); + strSql += " AND Actual_Date >= @Actual_Date"; + listStr.Add(new SqlParameter("@Actual_Date", Funs.GetNewDateTime(txtStartActual_Date.Text.Trim()))); } - if (!string.IsNullOrEmpty(this.txtCategory.Text.Trim())) + if (!string.IsNullOrEmpty(txtEndActual_Date.Text.Trim())) { - strSql += " AND Category like @Category"; - listStr.Add(new SqlParameter("@Category", "%" + this.txtCategory.Text.Trim() + "%")); + strSql += " AND Actual_Date <= @Actual_Date"; + listStr.Add(new SqlParameter("@Actual_Date", Funs.GetNewDateTime(txtEndActual_Date.Text.Trim()))); } - strSql += " order by Punch_No "; + strSql += " order by Num_No "; SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; @@ -175,6 +178,56 @@ namespace FineUIPro.Web.Transfer } #endregion + + #region Photoes附件 + /// + /// 右键附件上传功能 + /// + /// + /// + protected void btnMenuAttachA_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length > 0) + { + PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader.aspx?type=0&toKeyId={0}_A&path=FileUpload/Transfer/PunchlistFrom&menuId={1}", Grid1.SelectedRowID, BLL.Const.PunchlistFromMenuId))); + } + } + #endregion + + #region Corrected_Photos附件 + /// + /// 右键附件上传功能 + /// + /// + /// + protected void btnMenuAttachB_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length > 0) + { + PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader.aspx?type=0&toKeyId={0}_B&path=FileUpload/Transfer/PunchlistFrom&menuId={1}", Grid1.SelectedRowID, BLL.Const.PunchlistFromMenuId))); + } + } + #endregion + + /// + /// 获取附件(放于Img中) + /// + /// + /// + protected string ConvertImageUrlByImage(object Id_type) + { + string url = string.Empty; + if (Id_type != null) + { + var registration = BLL.AttachFileService.GetAttachFile(Id_type.ToString(), BLL.Const.PunchlistFromMenuId); + if (registration != null) + { + url = BLL.UploadAttachmentService.ShowImage("../../", registration.AttachUrl); + } + } + return url; + } + #region 导入 /// /// 导入按钮 @@ -205,11 +258,15 @@ namespace FineUIPro.Web.Transfer if (buttonList.Contains(BLL.Const.BtnAdd)) { //this.btnNew.Hidden = false; + btnMenuAttachA.Hidden=false; + btnMenuAttachB.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnModify)) { //this.btnMenuModify.Hidden = false; this.Grid1.EnableRowDoubleClickEvent = true; + btnMenuAttachA.Hidden = false; + btnMenuAttachB.Hidden = false; } else { diff --git a/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx.designer.cs b/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx.designer.cs index f91c4f96..ff67cd24 100644 --- a/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/Transfer/PunchlistFrom.aspx.designer.cs @@ -7,11 +7,13 @@ // //------------------------------------------------------------------------------ -namespace FineUIPro.Web.Transfer { - - - public partial class PunchlistFrom { - +namespace FineUIPro.Web.Transfer +{ + + + public partial class PunchlistFrom + { + /// /// form1 控件。 /// @@ -20,7 +22,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - + /// /// PageManager1 控件。 /// @@ -29,7 +31,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.PageManager PageManager1; - + /// /// Panel1 控件。 /// @@ -38,7 +40,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Panel Panel1; - + /// /// Grid1 控件。 /// @@ -47,7 +49,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Grid Grid1; - + /// /// ToolSearch 控件。 /// @@ -56,43 +58,43 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar ToolSearch; - + /// - /// txtPunch_No 控件。 + /// txtNum_NO 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.TextBox txtPunch_No; - + protected global::FineUIPro.TextBox txtNum_NO; + /// - /// txtSYSTEM 控件。 + /// txtSystem_No 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.TextBox txtSYSTEM; - + protected global::FineUIPro.TextBox txtSystem_No; + /// - /// txtSUBSYSTEM 控件。 + /// txtSub_Sys_No 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.TextBox txtSUBSYSTEM; - + protected global::FineUIPro.TextBox txtSub_Sys_No; + /// - /// txtStarTime 控件。 + /// txtStartDate_Raised 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.DatePicker txtStarTime; - + protected global::FineUIPro.DatePicker txtStartDate_Raised; + /// /// Label1 控件。 /// @@ -101,16 +103,16 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Label Label1; - + /// - /// txtEndTime 控件。 + /// txtEndDate_Raised 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.DatePicker txtEndTime; - + protected global::FineUIPro.DatePicker txtEndDate_Raised; + /// /// btnSearch 控件。 /// @@ -119,16 +121,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnSearch; - - /// - /// btnAttach 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Button btnAttach; - + /// /// btnImport 控件。 /// @@ -137,7 +130,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnImport; - + /// /// Toolbar1 控件。 /// @@ -146,43 +139,79 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar Toolbar1; - + /// - /// txtTestPackage 控件。 + /// txtStartRequired_Date 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.TextBox txtTestPackage; - + protected global::FineUIPro.DatePicker txtStartRequired_Date; + /// - /// txtDiscipline 控件。 + /// Label2 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.TextBox txtDiscipline; - + protected global::FineUIPro.Label Label2; + /// - /// txtIdentified 控件。 + /// txtEndRequired_Date 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.TextBox txtIdentified; - + protected global::FineUIPro.DatePicker txtEndRequired_Date; + /// - /// txtCategory 控件。 + /// txtStartActual_Date 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.TextBox txtCategory; - + protected global::FineUIPro.DatePicker txtStartActual_Date; + + /// + /// Label3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label Label3; + + /// + /// txtEndActual_Date 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndActual_Date; + + /// + /// lbPhotoesImageUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lbPhotoesImageUrl; + + /// + /// labCorrected_Photos 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label labCorrected_Photos; + /// /// ToolbarText1 控件。 /// @@ -191,7 +220,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarText ToolbarText1; - + /// /// ddlPageSize 控件。 /// @@ -200,7 +229,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList ddlPageSize; - + /// /// WindowAtt 控件。 /// @@ -209,7 +238,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window WindowAtt; - + /// /// Window2 控件。 /// @@ -218,7 +247,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window Window2; - + /// /// Menu1 控件。 /// @@ -227,7 +256,7 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Menu Menu1; - + /// /// btnMenuDel 控件。 /// @@ -236,5 +265,23 @@ namespace FineUIPro.Web.Transfer { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.MenuButton btnMenuDel; + + /// + /// btnMenuAttachA 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuAttachA; + + /// + /// btnMenuAttachB 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuAttachB; } } diff --git a/SGGL/FineUIPro.Web/Transfer/PunchlistFromDataIn.aspx.cs b/SGGL/FineUIPro.Web/Transfer/PunchlistFromDataIn.aspx.cs index 39924624..3ef944e4 100644 --- a/SGGL/FineUIPro.Web/Transfer/PunchlistFromDataIn.aspx.cs +++ b/SGGL/FineUIPro.Web/Transfer/PunchlistFromDataIn.aspx.cs @@ -130,7 +130,7 @@ namespace FineUIPro.Web.Transfer oleDBConn.Close(); oleDBConn.Dispose(); - AddDatasetToSQL(ds.Tables[0], 14); + AddDatasetToSQL(ds.Tables[0], 24); hdCheckResult.Text = "1"; } catch (Exception exc) @@ -168,18 +168,99 @@ namespace FineUIPro.Web.Transfer { for (int i = 1; i < ir; i++) { - string row4 = pds.Rows[i][9].ToString(); - if (!string.IsNullOrEmpty(row4)) + string allRowData = string.Empty; + for (int j = 0; j < 24; j++) + { + allRowData += pds.Rows[i][j].ToString(); + } + if (string.IsNullOrWhiteSpace(allRowData)) + continue; + + string row3 = pds.Rows[i][3].ToString(); + if (row3 != "" && row3 != "A" && row3 != "B" && row3 != "C" && row3 != "D") + { + result += (i + 2).ToString() + "," + " Cat. " + "," + "[" + row3 + "]错误!不是ABCD!" + "|"; + } + + string row5 = pds.Rows[i][5].ToString(); + if (!string.IsNullOrEmpty(row5)) { try { - DateTime date = Convert.ToDateTime(row4.Trim()); + DateTime date = Convert.ToDateTime(row5.Trim()); } catch (Exception) { - result += (i + 2).ToString() + "," + "PUNCH ITEM FINISH DATE" + "," + "[" + row4 + "]错误!不是日期格式!" + "|"; + result += (i + 2).ToString() + "," + " Date Raised " + "," + "[" + row5 + "]错误!不是日期格式!" + "|"; } } + + string row10 = pds.Rows[i][10].ToString(); + if (!string.IsNullOrEmpty(row10)) + { + try + { + DateTime date = Convert.ToDateTime(row10.Trim()); + } + catch (Exception) + { + result += (i + 2).ToString() + "," + " Required Date " + "," + "[" + row10 + "]错误!不是日期格式!" + "|"; + } + } + + string row15 = pds.Rows[i][15].ToString(); + if (!string.IsNullOrEmpty(row15)) + { + try + { + DateTime date = Convert.ToDateTime(row15.Trim()); + } + catch (Exception) + { + result += (i + 2).ToString() + "," + " Actual Date " + "," + "[" + row15 + "]错误!不是日期格式!" + "|"; + } + } + + string row17 = pds.Rows[i][17].ToString(); + if (!string.IsNullOrEmpty(row17)) + { + try + { + DateTime date = Convert.ToDateTime(row17.Trim()); + } + catch (Exception) + { + result += (i + 2).ToString() + "," + " Cleared(PIC) Date " + "," + "[" + row17 + "]错误!不是日期格式!" + "|"; + } + } + + string row19 = pds.Rows[i][19].ToString(); + if (!string.IsNullOrEmpty(row19)) + { + try + { + DateTime date = Convert.ToDateTime(row19.Trim()); + } + catch (Exception) + { + result += (i + 2).ToString() + "," + " Confirmed(WUH) Date " + "," + "[" + row19 + "]错误!不是日期格式!" + "|"; + } + } + + string row21 = pds.Rows[i][21].ToString(); + if (!string.IsNullOrEmpty(row21)) + { + try + { + DateTime date = Convert.ToDateTime(row21.Trim()); + } + catch (Exception) + { + result += (i + 2).ToString() + "," + " Verified(BASF) Date " + "," + "[" + row21 + "]错误!不是日期格式!" + "|"; + } + } + + } if (!string.IsNullOrEmpty(result)) { @@ -286,7 +367,7 @@ namespace FineUIPro.Web.Transfer oleDBConn.Close(); oleDBConn.Dispose(); - AddDatasetToSQL2(ds.Tables[0], 14); + AddDatasetToSQL2(ds.Tables[0], 24); } catch (Exception ex) { @@ -312,6 +393,7 @@ namespace FineUIPro.Web.Transfer } string result = string.Empty; ir = pds.Rows.Count; + long? maxNumNO = -1; if (pds != null && ir > 0) { List list = new List(); @@ -320,57 +402,66 @@ namespace FineUIPro.Web.Transfer if (!string.IsNullOrEmpty(pds.Rows[i][1].ToString().Trim())) { //查询第一列,没查到的情况下作导入处理 - var modelOnly = Funs.DB.Transfer_PunchlistFrom.FirstOrDefault(x => x.Punch_No == pds.Rows[i][1].ToString().Trim() - && x.ProjectId == CurrUser.LoginProjectId); - if (modelOnly == null) - { - Model.Transfer_PunchlistFrom model = new Model.Transfer_PunchlistFrom(); - - model.Id = Guid.NewGuid().ToString(); - model.ProjectId = CurrUser.LoginProjectId; - - model.Item_No = pds.Rows[i][0].ToString().Trim(); - model.Punch_No = pds.Rows[i][1].ToString().Trim(); - model.SystemName = pds.Rows[i][2].ToString().Trim(); - model.Subsystem = pds.Rows[i][3].ToString().Trim(); - - model.Test_Package = pds.Rows[i][4].ToString().Trim(); - model.Discipline = pds.Rows[i][5].ToString().Trim(); - model.DESCRIPTION = pds.Rows[i][6].ToString().Trim(); - model.Identified = pds.Rows[i][7].ToString().Trim(); - model.Category = pds.Rows[i][8].ToString().Trim(); - DateTime t1; - if (DateTime.TryParse(pds.Rows[i][9].ToString(), out t1) && !string.IsNullOrEmpty(pds.Rows[i][9].ToString())) - model.PUNCH_ITEM_FINISH_DATE = t1; - - - model.Action_By = pds.Rows[i][10].ToString().Trim(); - model.Required_By = pds.Rows[i][11].ToString().Trim(); - model.PUNCH_ITEM_STATUS = pds.Rows[i][12].ToString().Trim(); - model.Comments = pds.Rows[i][13].ToString().Trim(); - list.Add(model); + if (maxNumNO == -1) { + maxNumNO = Funs.DB.Transfer_PunchlistFrom.Where(x => x.ProjectId == CurrUser.LoginProjectId).Max(p => p.Num_NO); + if (maxNumNO == null) + maxNumNO = 1001; } + + + Model.Transfer_PunchlistFrom model = new Model.Transfer_PunchlistFrom(); + + model.Id = Guid.NewGuid().ToString(); + model.ProjectId = CurrUser.LoginProjectId; + + model.Num_NO = maxNumNO; + model.System_No = pds.Rows[i][0].ToString().Trim(); + model.Sub_Sys_No = pds.Rows[i][1].ToString().Trim(); + model.DESCRIPTION = pds.Rows[i][2].ToString().Trim(); + + model.Cat = pds.Rows[i][3].ToString().Trim(); + model.Raised_By = pds.Rows[i][4].ToString().Trim(); + DateTime t5; + if (DateTime.TryParse(pds.Rows[i][5].ToString(), out t5) && !string.IsNullOrEmpty(pds.Rows[i][5].ToString())) + model.Date_Raised = t5; + + model.Disc = pds.Rows[i][6].ToString().Trim(); + if (pds.Rows[i][7].ToString().Trim().Contains("Y")) + model.IsEng = true; else - { - //修改 - modelOnly.Item_No = pds.Rows[i][0].ToString().Trim(); - modelOnly.Punch_No = pds.Rows[i][1].ToString().Trim(); - modelOnly.SystemName = pds.Rows[i][2].ToString().Trim(); - modelOnly.Subsystem = pds.Rows[i][3].ToString().Trim(); - modelOnly.Test_Package = pds.Rows[i][4].ToString().Trim(); - modelOnly.Discipline = pds.Rows[i][5].ToString().Trim(); - modelOnly.DESCRIPTION = pds.Rows[i][6].ToString().Trim(); - modelOnly.Identified = pds.Rows[i][7].ToString().Trim(); - modelOnly.Category = pds.Rows[i][8].ToString().Trim(); - DateTime t1; - if (DateTime.TryParse(pds.Rows[i][9].ToString(), out t1) && !string.IsNullOrEmpty(pds.Rows[i][9].ToString())) - modelOnly.PUNCH_ITEM_FINISH_DATE = t1; - modelOnly.Action_By = pds.Rows[i][10].ToString().Trim(); - modelOnly.Required_By = pds.Rows[i][11].ToString().Trim(); - modelOnly.PUNCH_ITEM_STATUS = pds.Rows[i][12].ToString().Trim(); - modelOnly.Comments = pds.Rows[i][13].ToString().Trim(); - Funs.DB.SubmitChanges(); - } + model.IsEng = false; + + if (pds.Rows[i][8].ToString().Trim().Contains("Y")) + model.IsMatI = true; + else + model.IsMatI = false; + model.Punch_Type = pds.Rows[i][9].ToString().Trim(); + DateTime t10; + if (DateTime.TryParse(pds.Rows[i][10].ToString(), out t10) && !string.IsNullOrEmpty(pds.Rows[i][10].ToString())) + model.Required_Date = t10; + model.Action_By = pds.Rows[i][11].ToString().Trim(); + model.PIC = pds.Rows[i][12].ToString().Trim(); + model.PIC_WUH = pds.Rows[i][13].ToString().Trim(); + model.Correction_Action = pds.Rows[i][14].ToString().Trim(); + DateTime t15; + if (DateTime.TryParse(pds.Rows[i][15].ToString(), out t15) && !string.IsNullOrEmpty(pds.Rows[i][15].ToString())) + model.PUNCH_ITEM_FINISH_DATE = t15; + model.Cleared_By = pds.Rows[i][16].ToString().Trim(); + DateTime t17; + if (DateTime.TryParse(pds.Rows[i][17].ToString(), out t17) && !string.IsNullOrEmpty(pds.Rows[i][17].ToString())) + model.Cleared_Date = t17; + model.Confirmed_By = pds.Rows[i][18].ToString().Trim(); + DateTime t19; + if (DateTime.TryParse(pds.Rows[i][19].ToString(), out t19) && !string.IsNullOrEmpty(pds.Rows[i][19].ToString())) + model.Confirmed_Date = t19; + model.Verified_By = pds.Rows[i][20].ToString().Trim(); + DateTime t21; + if (DateTime.TryParse(pds.Rows[i][21].ToString(), out t21) && !string.IsNullOrEmpty(pds.Rows[i][21].ToString())) + model.Verified_Date = t21; + model.Status = pds.Rows[i][22].ToString().Trim(); + model.Remark = pds.Rows[i][23].ToString().Trim(); + list.Add(model); + maxNumNO++; } } if (list.Count > 0)