using BLL; using BLL.Common; using FineUIPro.Web.HJGL.WeldingManage; using Microsoft.JScript.Vsa; using Model; using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.Data.SqlClient; using System.IO; using System.Linq; using System.Threading; namespace FineUIPro.Web.HJGL.CheckManage { public partial class CheckManageImport : PageBase { #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (percent == 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 HJGL_CheckImportTemp " + @" WHERE ProjectId=@ProjectId AND UserId=@UserId "; List listStr = new List(); listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); listStr.Add(new SqlParameter("@UserId", this.CurrUser.UserId)); //if (!string.IsNullOrEmpty(this.txtValue1.Text.Trim())) //{ // strSql += " AND Value1 LIKE @Value1"; // listStr.Add(new SqlParameter("@Value1", "%" + this.txtValue1.Text.Trim() + "%")); //} //if (!string.IsNullOrEmpty(this.txtValue2.Text.Trim())) //{ // strSql += " AND Value2 LIKE @Value2"; // listStr.Add(new SqlParameter("@Value2", "%" + this.txtValue2.Text.Trim() + "%")); //} //if (!string.IsNullOrEmpty(this.txtValue3.Text.Trim())) //{ // strSql += " AND Value3 LIKE @Value3"; // listStr.Add(new SqlParameter("@Value3", "%" + this.txtValue3.Text.Trim() + "%")); //} //if (!string.IsNullOrEmpty(this.txtValue4.Text.Trim())) //{ // strSql += " AND Value4 LIKE @Value4"; // listStr.Add(new SqlParameter("@Value4", "%" + this.txtValue4.Text.Trim() + "%")); //} //if (!string.IsNullOrEmpty(this.txtToopValue.Text.Trim())) //{ // strSql += " AND ToopValue LIKE @ToopValue"; // listStr.Add(new SqlParameter("@ToopValue", "%" + this.txtToopValue.Text.Trim() + "%")); //} SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); // 2.获取当前分页数据 //var table = this.GetPagedDataTable(Grid1, tb1); Grid1.RecordCount = tb.Rows.Count; //tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); var dataInTempAll = from x in Funs.DB.HJGL_CheckImportTemp where x.ProjectId == this.CurrUser.LoginProjectId && x.UserId == this.CurrUser.UserId 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"; } } } var errData = from x in dataInTempAll where x.ToopValue != null select x; this.lbDataCout.Text = errData.Count().ToString(); } #endregion #region 双击事件 /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); return; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckManageImportEdit.aspx?TempId={0}", Grid1.SelectedRowID, "维护 - "))); } #endregion #region 导入信息 维护 /// /// 导入信息编辑 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); return; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckManageImportEdit.aspx?TempId={0}", Grid1.SelectedRowID, "维护 - "))); } /// /// 删除按钮 /// /// /// protected void btnMenuDelete_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning); return; } foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); BLL.CheckManageImportTempService.DeleteDataInTempByDataInTempID(rowID); //BLL.Sys_LogService.AddLog(Const.System_7, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除导入信息"); } ShowNotify("删除成功!", MessageBoxIcon.Success); this.BindGrid(); } #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 imgbtnImport_Click(object sender, EventArgs e) { try { if (this.FileExcel.HasFile == false) { Response.Write(" "); //for (int i = 0; i < 10; i++) //{ // Response.Flush(); // Response.Write(" "); // System.Threading.Thread.Sleep(5000); // Response.Flush(); //} return; } string IsXls = Path.GetExtension(FileExcel.FileName).ToString().Trim().ToLower(); if (IsXls != ".xls") { Response.Write(""); return; } string rootPath = Server.MapPath("~/"); string initFullPath = rootPath + Const.ExcelUrl; if (!Directory.Exists(initFullPath)) { Directory.CreateDirectory(initFullPath); } string fileUrl = initFullPath + BLL.Funs.GetNewFileName() + IsXls; this.FileExcel.PostedFile.SaveAs(fileUrl); //string oleDBConnString = String.Empty; //oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; //oleDBConnString += "Data Source="; //oleDBConnString += fileUrl; //oleDBConnString += ";Extended Properties=Excel 8.0;"; ////oleDBConnString = "Provider=Microsoft.ACE.OLEDB.12.0;"; ////oleDBConnString += "Data Source="; ////oleDBConnString += fileUrl; ////oleDBConnString += ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; //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.SelectCommand.CommandTimeout = 3600; //oleAdMaster.Fill(ds, "m_tableName"); //oleAdMaster.Dispose(); //oleDBConn.Close(); //oleDBConn.Dispose(); //this.AddDatasetToSQL(ds.Tables[0]); DataTable dt = NPOIHelper.ExcelToDataTable1(fileUrl); this.AddDatasetToSQL(dt); if (!string.IsNullOrEmpty(fileUrl) && System.IO.File.Exists(fileUrl)) { System.IO.File.Delete(fileUrl);//删除上传的XLS文件 } this.FileExcel.Reset(); } catch (Exception ex) { ShowNotify(ex.Message, MessageBoxIcon.Warning); return; } } #endregion #region 将Dataset的数据导入数据库 /// /// 将Dataset的数据导入数据库 /// /// 数据集 /// 数据集列数 /// private void AddDatasetToSQL(DataTable pds) { if (pds != null && pds.Rows.Count > 0) { int ir = pds.Rows.Count; List newDataInTempList = new List(); for (int i = 0; i < ir; i++) { if (!string.IsNullOrEmpty(pds.Rows[i][3].ToString())) { Model.HJGL_CheckImportTemp newDataInTemp = new Model.HJGL_CheckImportTemp(); newDataInTemp.TempId = SQLHelper.GetNewID(typeof(Model.Sys_DataInTemp)); newDataInTemp.ProjectId = this.CurrUser.LoginProjectId; newDataInTemp.UserId = this.CurrUser.UserId; newDataInTemp.Time = System.DateTime.Now; newDataInTemp.RowNo = i + 2; newDataInTemp.Value1 = pds.Rows[i][0].ToString().Trim();//单位代号 newDataInTemp.Value2 = pds.Rows[i][1].ToString().Trim();//工区代号 newDataInTemp.Value3 = pds.Rows[i][2].ToString().Trim();//管线代号 newDataInTemp.Value4 = pds.Rows[i][3].ToString().Trim();//焊口代号 newDataInTemp.Value5 = pds.Rows[i][4].ToString().Trim();//点口委托日期 newDataInTemp.Value6 = pds.Rows[i][5].ToString().Trim();//委托单号 newDataInTemp.Value7 = pds.Rows[i][6].ToString().Trim();//检测单位名称 newDataInTemp.Value8 = pds.Rows[i][7].ToString().Trim();//检测方法代号 newDataInTemp.Value9 = pds.Rows[i][8].ToString().Trim();//检测方法代号 newDataInTemp.Value10 = pds.Rows[i][9].ToString().Trim();//合格等级(I\II\III\IV\V) newDataInTemp.Value11 = pds.Rows[i][10].ToString().Trim();//检测(拍片)日期 newDataInTemp.Value12 = pds.Rows[i][11].ToString().Trim();//报告日期 newDataInTemp.Value13 = pds.Rows[i][12].ToString().Trim();//返修位置 newDataInTemp.Value14 = pds.Rows[i][13].ToString().Trim();//拍片总数 newDataInTemp.Value15 = pds.Rows[i][14].ToString().Trim(); //合格片数 newDataInTemp.Value16 = pds.Rows[i][15].ToString().Trim();//是否合格(合格/不合格) newDataInTemp.Value17 = pds.Rows[i][16].ToString().Trim();//缺陷定义 newDataInTemp.Value18 = pds.Rows[i][17].ToString().Trim(); //胶片规格 newDataInTemp.Value19 = pds.Rows[i][18].ToString().Trim(); //缺陷长度 newDataInTempList.Add(newDataInTemp); } } BLL.CheckManageImportTempService.AddDataInTemp(newDataInTempList); this.BindGrid(); ShowNotify("数据已导入临时表!", MessageBoxIcon.Success); } else { Alert.ShowInTop("导入数据为空!", MessageBoxIcon.Success); return; } } #endregion #region 保存审核事件 /// /// 保存审核事件 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { btnSaveMethod(this.CurrUser.LoginProjectId, this.CurrUser.UserId); } protected void btnSaveCheck_Click(object sender, EventArgs e) { btnSaveCheckMethod(this.CurrUser.LoginProjectId, this.CurrUser.UserId); } protected void btnRefresh_Click(object sender, EventArgs e) { this.BindGrid(); } protected void btnSaveMethod(string LoginProjectId, string UserId) { //beginProgress(); 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 == LoginProjectId select x; var isos = from x in Funs.DB.PW_IsoInfo where x.ProjectId == CurrUser.LoginProjectId select x; var jointInfos = from x in Funs.DB.PW_JointInfo where x.ProjectId == CurrUser.LoginProjectId select x; var workAreas = from x in Funs.DB.ProjectData_WorkArea where x.ProjectId == LoginProjectId select x; var acceptGrades = BLL.TrustManageEditService.GetAcceptGradeList();//合格等级(I\II\III\IV\V) var detectionTypes = from x in Funs.DB.Base_DetectionType select x; var dataInTemp = from x in Funs.DB.HJGL_CheckImportTemp where x.ProjectId == LoginProjectId && x.UserId == UserId select x; int okCount = 0; int ir = dataInTemp.Count(); string erreMessage = ""; foreach (var tempData in dataInTemp) { if (tempData != null) { string errInfo = string.Empty; string unitId = ""; string isoId = ""; if (!string.IsNullOrEmpty(tempData.Value1)) { var unit = units.FirstOrDefault(x => x.UnitCode == tempData.Value1); if (unit == null) { errInfo += "单位代码[" + tempData.Value1 + "]不存在;"; } else { unitId = unit.UnitId; } } else { errInfo += "单位代码为必填项;"; } if (!string.IsNullOrEmpty(tempData.Value2) && !string.IsNullOrEmpty(unitId)) { var workArea = workAreas.FirstOrDefault(x => x.WorkAreaCode == tempData.Value2 && x.UnitId == unitId); if (workArea == null) { errInfo += "工区编号[" + tempData.Value2 + "]该单位下不存在;"; } } else { errInfo += "工区编号为必填项;"; } if (string.IsNullOrEmpty(tempData.Value3)) { errInfo += "管线代号此项为必填项!"; } else { var iso = isos.FirstOrDefault(x => x.UnitId == unitId && x.ISO_IsoNo == tempData.Value3); if (iso == null) { errInfo += "管线代号[" + tempData.Value3 + "]该单位下不存在!"; } else { isoId = iso.ISO_ID; } } if (string.IsNullOrEmpty(tempData.Value4)) { errInfo += "焊口代号此项为必填项!"; } else { var jointInfo = jointInfos.FirstOrDefault(x => x.ISO_ID == isoId && x.JOT_JointNo == tempData.Value4); if (jointInfo == null) { errInfo += "焊口代号[" + tempData.Value4 + "]该管线下不存在!"; } else if (!string.IsNullOrEmpty(jointInfo.PW_PointID) && !string.IsNullOrEmpty(tempData.Value5)) { errInfo += "焊口代号[" + tempData.Value4 + "]已点!"; } else if (string.IsNullOrEmpty(tempData.Value5)) { errInfo += "点口委托日期此项为必填项!"; } } if (string.IsNullOrEmpty(tempData.Value6)) { errInfo += "委托单号此项为必填项!"; } if (string.IsNullOrEmpty(tempData.Value7)) { errInfo += "检测单位名称此项为必填项!"; } else { var unit = units.FirstOrDefault(x => x.UnitName == tempData.Value7); if (unit == null) { errInfo += "检测单位名称此项不存在!"; } } if (string.IsNullOrEmpty(tempData.Value8)) { errInfo += "检测代号此项为必填项!"; } if (string.IsNullOrEmpty(tempData.Value9)) { errInfo += "检测方法代号此项为必填项!"; } else { var detectionType = detectionTypes.FirstOrDefault(x => x.DetectionTypeCode == tempData.Value9); if (detectionType == null) { errInfo += "检测方法代号此项不存在!"; } if ("RT" == tempData.Value9) { if (string.IsNullOrEmpty(tempData.Value14)) { errInfo += "拍片总数此项为必填项!"; } if (string.IsNullOrEmpty(tempData.Value15)) { errInfo += "合格片数此项为必填项!"; } } } if (string.IsNullOrEmpty(tempData.Value10)) { errInfo += "合格等级此项为必填项!"; } else { var acceptGrade = acceptGrades.FirstOrDefault(x => x.Text == tempData.Value10); if (acceptGrade == null) { errInfo += "合格等级此项不存在!"; } } if (string.IsNullOrEmpty(tempData.Value16)) { errInfo += "是否合格此项为必填项!"; } if (!string.IsNullOrEmpty(errInfo)) { tempData.ToopValue = errInfo; BLL.CheckManageImportTempService.UpdateDataInTemp(tempData); erreMessage += errInfo + ";"; } } } if (dataInTemp.Where(x => x.ToopValue != null && x.ToopValue != "").Select(x => x.ToopValue).Count() > 0) { this.BindGrid(); return; } //新增点口数据 List points = new List(); var dataInUnits = dataInTemp.Select(x => x.Value1).Distinct(); foreach (var unitCode in dataInUnits) { var dataInWorkAreas = dataInTemp.Where(x => x.Value1 == unitCode).Select(x => x.Value2).Distinct(); foreach (var WorkArea in dataInWorkAreas) { var dataInPointDates = dataInTemp.Where(x => x.Value1 == unitCode && x.Value2 == WorkArea && x.Value5 != null && x.Value5 != "").Select(x => x.Value5).Distinct(); foreach (var pointDate in dataInPointDates) { Model.BO_Point point = new Model.BO_Point(); string date = pointDate.Trim().Replace("-", "").Replace("/", ""); point.PW_PointNo = BLL.SQLHelper.RunProcNewId("SpGetNewCode3ByProjectPrefix", "dbo.BO_Point", "PW_PointNo", this.CurrUser.LoginProjectId, date + "-"); point.PW_PointID = Guid.NewGuid().ToString(); var u = units.FirstOrDefault(x => x.UnitCode == unitCode); if (u != null) { point.UnitId = u.UnitId; } point.PW_PointDate = DateTime.Parse(pointDate); point.ProjectId = this.CurrUser.LoginProjectId; var w = workAreas.FirstOrDefault(x => x.WorkAreaCode == WorkArea); if (w != null) { point.InstallationId = w.InstallationId; } point.PW_TablerDate = DateTime.Now; point.PW_Tabler = this.CurrUser.UserId; Funs.DB.BO_Point.InsertOnSubmit(point); var dataInJoints = dataInTemp.Where(x => x.Value1 == unitCode && x.Value2 == WorkArea && x.Value5 == pointDate).Select(x => new { x.Value3, x.Value4 }).Distinct(); foreach (var joint in dataInJoints) { var isoTemp = isos.Where(x => x.ISO_IsoNo == joint.Value3).FirstOrDefault(); if (isoTemp != null) { var jointTemp = jointInfos.Where(x => x.JOT_JointNo == joint.Value4 && x.ISO_ID == isoTemp.ISO_ID); if (jointTemp != null) { foreach (var jot in jointTemp) { jot.PW_PointID = point.PW_PointID; } } } } } } } //新增委托 try { var dataInTrusts = dataInTemp.Select(x => x.Value6).Distinct(); List newTrusts = new List(); List TrustItem = new List(); foreach (var trust in dataInTrusts) { var firstDataTemp = dataInTemp.FirstOrDefault(x => x.Value6 == trust); Model.CH_Trust newTrust = new Model.CH_Trust(); newTrust.CH_TrustID = Guid.NewGuid().ToString(); newTrust.ProjectId = this.CurrUser.LoginProjectId; newTrust.CH_TrustCode = firstDataTemp.Value6; var iso = isos.FirstOrDefault(x => x.ISO_IsoNo == firstDataTemp.Value3); var unit = units.FirstOrDefault(x => x.UnitCode == firstDataTemp.Value1); var workArea = workAreas.FirstOrDefault(x => x.WorkAreaCode == firstDataTemp.Value2 && x.UnitId == unit.UnitId); var joint = jointInfos.FirstOrDefault(x => x.ISO_ID == iso.ISO_ID && x.JOT_JointNo == firstDataTemp.Value4); if (joint != null) { if (unit != null) { newTrust.CH_TrustUnit = unit.UnitId; } if (workArea != null) { newTrust.InstallationId = workArea.InstallationId; } newTrust.CH_TrustDate = Funs.GetNewDateTime(firstDataTemp.Value5); if (iso != null) { newTrust.CH_NDTRate = iso.DetectionRateId; } newTrust.CH_TrustType = "1"; var detectionType = detectionTypes.FirstOrDefault(x => x.DetectionTypeCode == firstDataTemp.Value9); if (detectionType != null) { newTrust.CH_NDTMethod = detectionType.DetectionTypeId; } // newTrust.CH_TrustMan = this.CurrUser.UserId; //newTrust.CH_ItemName = this.txtCH_ItemName.Text.Trim(); var acceptGrade = acceptGrades.FirstOrDefault(x => x.Text == firstDataTemp.Value10); newTrust.CH_AcceptGrade = acceptGrade.Value; newTrust.CH_Tabler = this.CurrUser.UserId; newTrust.CH_SlopeType = joint.JST_ID; string type = detectionType.DetectionTypeCode.Split('\\')[0]; if (type != null) switch (type) { case "RT": // RT采用标准--NB / T47013.2 - 2015 II级 //UT采用标准--NB / T47013.3 - 2015 I级 //MT采用标准--NB / T47013.4 - 2015 I级 //PT采用标准--NB / T47013.5 - 2015 I级 // TOFD采用标准--NB / T47013.10 - 2015 II级 //3D - TFM--NB / T47013.15 - 2021 II级 if (acceptGrade != null) { newTrust.CH_NDTCriteria = "NB/T47013.2-2015/AB级" + "(" + acceptGrade.Text + ")"; } else { newTrust.CH_NDTCriteria = "NB/T47013.2-2015/AB级"; } break; case "UT": if (acceptGrade != null) { newTrust.CH_NDTCriteria = "NB/T47013.3-2015/B级" + "(" + acceptGrade.Text + ")"; } else { newTrust.CH_NDTCriteria = "NB/T47013.3-2015/B级"; } break; case "MT": if (acceptGrade != null) { newTrust.CH_NDTCriteria = "NB/T47013.4-2015" + "(" + acceptGrade.Text + ")"; } else { newTrust.CH_NDTCriteria = "NB/T47013.4-2015"; } break; case "PT": if (acceptGrade != null) { newTrust.CH_NDTCriteria = "NB/T47013.5-2015" + "(" + acceptGrade.Text + ")"; } else { newTrust.CH_NDTCriteria = "NB/T47013.5-2015"; } break; case "TOFD": if (acceptGrade != null) { newTrust.CH_NDTCriteria = "NB/T47013.10-2015/B级" + "(" + acceptGrade.Text + ")"; } else { newTrust.CH_NDTCriteria = "NB/T47013.10-2015/B级"; } break; case "3D-TFM": if (acceptGrade != null) { newTrust.CH_NDTCriteria = "NB/T47013.15-2015" + "(" + acceptGrade.Text + ")"; } else { newTrust.CH_NDTCriteria = "NB/T47013.15-2015"; } break; } newTrust.CH_WeldMethod = joint.WME_ID; var checkUnit = units.FirstOrDefault(x => x.UnitName == firstDataTemp.Value7); if (checkUnit != null) { newTrust.CH_CheckUnit = checkUnit.UnitId; } newTrust.CH_RequestDate = Funs.GetNewDateTime(firstDataTemp.Value5); newTrust.CH_AuditDate = DateTime.Now; newTrust.CH_AuditMan = this.CurrUser.UserId; newTrusts.Add(newTrust); Funs.DB.CH_Trust.InsertOnSubmit(newTrust); } var allJoints = dataInTemp.Where(x => x.Value6 == trust); if (allJoints != null) { foreach (var allJoint in allJoints) { var isotemp = isos.FirstOrDefault(x => x.ISO_IsoNo == allJoint.Value3); if (isotemp != null) { var joints = jointInfos.FirstOrDefault(x => x.ISO_ID == isotemp.ISO_ID && x.JOT_JointNo == allJoint.Value4); if (joints != null) { Model.CH_TrustItem newitem = new Model.CH_TrustItem(); newitem.CH_TrustID = newTrust.CH_TrustID; newitem.JOT_ID = joints.JOT_ID; newitem.CH_TrustItemID = Guid.NewGuid().ToString(); TrustItem.Add(newitem); Funs.DB.CH_TrustItem.InsertOnSubmit(newitem); if (String.IsNullOrEmpty(joints.JOT_TrustFlag) || joints.JOT_TrustFlag == "00")//未下委托 { joints.JOT_TrustFlag = "01"; } else if (joints.JOT_TrustFlag == "01")//一次委托,未审核 { joints.JOT_TrustFlag = "02"; } else if (joints.JOT_TrustFlag == "02")//一次委托,已审核 { joints.JOT_TrustFlag = "11"; } else if (joints.JOT_TrustFlag == "11")//二次委托,未审核 { joints.JOT_TrustFlag = "12"; } else if (joints.JOT_TrustFlag == "12")//二次委托,已审核 { joints.JOT_TrustFlag = "21"; } else if (joints.JOT_TrustFlag == "21")//三次委托,未审核 { joints.JOT_TrustFlag = "22";//三次委托,已审核 } } } } } } var dataInChecks = dataInTemp.Select(x => x.Value8).Distinct(); foreach (var checkCode in dataInChecks) { var firstDataTemp = dataInTemp.FirstOrDefault(x => x.Value8 == checkCode); var trust = newTrusts.FirstOrDefault(x => x.CH_TrustCode == firstDataTemp.Value6); if (trust != null) { Model.CH_Check check = new Model.CH_Check(); check.CHT_CheckID = Guid.NewGuid().ToString(); check.ProjectId = this.CurrUser.LoginProjectId; check.CHT_CheckCode = checkCode; check.CH_TrustID = trust.CH_TrustID; check.UnitId = trust.CH_TrustUnit; check.InstallationId = trust.InstallationId; if (!string.IsNullOrEmpty(firstDataTemp.Value11)) { check.CHT_CheckDate = Funs.GetNewDateTime(firstDataTemp.Value11); } // check.CHT_CheckType = this.txtCheckType.Text.Trim(); check.CHT_Tabler = this.CurrUser.UserId; check.CHT_TableDate = DateTime.Now; check.CHT_AuditMan = this.CurrUser.UserId; check.CHT_AuditDate = DateTime.Now; // check.CHT_CheckMan = this.ddlCheckMan.SelectedValue; check.ContractualUnits = trust.CH_CheckUnit; Funs.DB.CH_Check.InsertOnSubmit(check); var allCheckData = dataInTemp.Where(x => x.Value8 == checkCode); foreach (var allCheck in allCheckData) { var isotemp = isos.FirstOrDefault(x => x.ISO_IsoNo == allCheck.Value3); var joint = jointInfos.FirstOrDefault(x => x.ISO_ID == isotemp.ISO_ID && x.JOT_JointNo == allCheck.Value4); var detectionType = detectionTypes.FirstOrDefault(x => x.DetectionTypeCode == allCheck.Value9); var temptrust = newTrusts.Where(x => x.CH_TrustCode == allCheck.Value6).FirstOrDefault(); var trustItem = TrustItem.FirstOrDefault(x => x.CH_TrustID == temptrust.CH_TrustID && x.JOT_ID == joint.JOT_ID); if (trustItem != null) { Model.CH_CheckItem checkitem = new Model.CH_CheckItem(); checkitem.CHT_CheckItemID = Guid.NewGuid().ToString(); checkitem.CHT_CheckID = check.CHT_CheckID; checkitem.JOT_ID = joint.JOT_ID; checkitem.CH_TrustItemID = trustItem.CH_TrustItemID; checkitem.CHT_CheckMethod = detectionType.DetectionTypeId; //checkitem.CHT_RequestDate = int.Parse(allCheck.Value14); checkitem.CHT_RepairLocation = allCheck.Value13; if (!string.IsNullOrEmpty(allCheck.Value14)) { try { checkitem.CHT_TotalFilm = int.Parse(allCheck.Value14); } catch (Exception e) { } } if (!string.IsNullOrEmpty(allCheck.Value15)) { try { checkitem.CHT_PassFilm = int.Parse(allCheck.Value15); } catch (Exception e) { } } checkitem.CHT_CheckResult = allCheck.Value16; //checkitem.CHT_CheckNo = allCheck.Value8; if (!string.IsNullOrEmpty(allCheck.Value11)) { checkitem.CHT_FilmDate = Funs.GetNewDateTime(allCheck.Value11); } if (!string.IsNullOrEmpty(allCheck.Value12)) { checkitem.CHT_ReportDate = Funs.GetNewDateTime(allCheck.Value12); } checkitem.FilmSpecifications = allCheck.Value18; if (!string.IsNullOrEmpty(allCheck.Value19)) { try { checkitem.DefectLength = decimal.Parse(allCheck.Value19); } catch (Exception e) { } } if (!string.IsNullOrEmpty(joint.Extend_Length)) { checkitem.ExtendingRice = Decimal.Parse(joint.Extend_Length); } checkitem.Defects_Definition = allCheck.Value17; Funs.DB.CH_CheckItem.InsertOnSubmit(checkitem); if (string.IsNullOrEmpty(joint.JOT_CheckFlag) || joint.JOT_CheckFlag == "00") { joint.JOT_CheckFlag = "01"; } else if (joint.JOT_CheckFlag == "01")//一次检测,未审核 { joint.JOT_CheckFlag = "02"; } else if (joint.JOT_CheckFlag == "02")//一次检测,已审核 { joint.JOT_CheckFlag = "11"; } else if (joint.JOT_CheckFlag == "11")//二次检测,未审核 { joint.JOT_CheckFlag = "12"; } else if (joint.JOT_CheckFlag == "12")//二次检测,已审核 { joint.JOT_CheckFlag = "21"; } else if (joint.JOT_CheckFlag == "21")//三次检测,未审核 { joint.JOT_CheckFlag = "22";//三次检测,已审核 } } } } } Funs.DB.HJGL_CheckImportTemp.DeleteAllOnSubmit(dataInTemp); Funs.DB.SubmitChanges(); this.BindGrid(); } catch (Exception e) { ErrLogInfo.WriteLog("新增检测记录错误"); } } protected void btnSaveCheckMethod(string LoginProjectId, string UserId) { //beginProgress(); 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 == LoginProjectId select x; var isos = from x in Funs.DB.PW_IsoInfo where x.ProjectId == CurrUser.LoginProjectId select x; var jointInfos = from x in Funs.DB.PW_JointInfo where x.ProjectId == CurrUser.LoginProjectId select x; var workAreas = from x in Funs.DB.ProjectData_WorkArea where x.ProjectId == LoginProjectId select x; var acceptGrades = BLL.TrustManageEditService.GetAcceptGradeList();//合格等级(I\II\III\IV\V) var detectionTypes = from x in Funs.DB.Base_DetectionType select x; var dataInTemp = from x in Funs.DB.HJGL_CheckImportTemp where x.ProjectId == LoginProjectId && x.UserId == UserId select x; int okCount = 0; int ir = dataInTemp.Count(); string erreMessage = ""; PW_JointInfo jointInfo=null; foreach (var tempData in dataInTemp) { jointInfo = null; if (tempData != null) { try { string errInfo = string.Empty; string unitId = ""; string isoId = ""; if (!string.IsNullOrEmpty(tempData.Value1)) { var unit = units.FirstOrDefault(x => x.UnitCode == tempData.Value1); if (unit == null) { errInfo += "单位代码[" + tempData.Value1 + "]不存在;"; } else { unitId = unit.UnitId; } } else { errInfo += "单位代码为必填项;"; } if (!string.IsNullOrEmpty(tempData.Value2) && !string.IsNullOrEmpty(unitId)) { var workArea = workAreas.FirstOrDefault(x => x.WorkAreaCode == tempData.Value2 && x.UnitId == unitId); if (workArea == null) { errInfo += "工区编号[" + tempData.Value2 + "]该单位下不存在;"; } } else { errInfo += "工区编号为必填项;"; } if (string.IsNullOrEmpty(tempData.Value3)) { errInfo += "管线代号此项为必填项!"; } else { var iso = isos.FirstOrDefault(x => x.UnitId == unitId && x.ISO_IsoNo == tempData.Value3); if (iso == null) { errInfo += "管线代号[" + tempData.Value3 + "]该单位下不存在!"; } else { isoId = iso.ISO_ID; } } if (string.IsNullOrEmpty(tempData.Value4)) { errInfo += "焊口代号此项为必填项!"; } else { jointInfo = jointInfos.FirstOrDefault(x => x.ISO_ID == isoId && x.JOT_JointNo == tempData.Value4); if (jointInfo == null) { errInfo += "焊口代号[" + tempData.Value4 + "]该管线下不存在!"; } } if (string.IsNullOrEmpty(tempData.Value6)) { errInfo += "委托单号此项为必填项!"; } else { var trust = Funs.DB.CH_Trust.FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId && x.CH_TrustCode == tempData.Value6); if (trust == null) { errInfo += "委托单号[" + tempData.Value6 + "]不存在!"; } else { if (jointInfo != null) { var cH_TrustItem = Funs.DB.CH_TrustItem.FirstOrDefault(x => x.CH_TrustID == trust.CH_TrustID && x.JOT_ID == jointInfo.JOT_ID); if (cH_TrustItem == null) { errInfo += "委托单号[" + tempData.Value6 + "]下,不存在焊口" + jointInfo.JOT_JointNo + "不存在!"; } } } } if (string.IsNullOrEmpty(tempData.Value7)) { errInfo += "检测单位名称此项为必填项!"; } else { var unit = units.FirstOrDefault(x => x.UnitName == tempData.Value7); if (unit == null) { errInfo += "检测单位名称此项不存在!"; } } if (string.IsNullOrEmpty(tempData.Value8)) { errInfo += "检测代号此项为必填项!"; } if (string.IsNullOrEmpty(tempData.Value9)) { errInfo += "检测方法代号此项为必填项!"; } else { var detectionType = detectionTypes.FirstOrDefault(x => x.DetectionTypeCode == tempData.Value9); if (detectionType == null) { errInfo += "检测方法代号此项不存在!"; } if ("RT" == tempData.Value9) { if (string.IsNullOrEmpty(tempData.Value14)) { errInfo += "拍片总数此项为必填项!"; } if (string.IsNullOrEmpty(tempData.Value15)) { errInfo += "合格片数此项为必填项!"; } } } if (string.IsNullOrEmpty(tempData.Value10)) { errInfo += "合格等级此项为必填项!"; } else { var acceptGrade = acceptGrades.FirstOrDefault(x => x.Text == tempData.Value10); if (acceptGrade == null) { errInfo += "合格等级此项不存在!"; } } if (string.IsNullOrEmpty(tempData.Value16)) { errInfo += "是否合格此项为必填项!"; } if (!string.IsNullOrEmpty(errInfo)) { tempData.ToopValue = errInfo; BLL.CheckManageImportTempService.UpdateDataInTemp(tempData); erreMessage += errInfo + ";"; } } catch (Exception e) { tempData.ToopValue = e.Message; BLL.CheckManageImportTempService.UpdateDataInTemp(tempData); erreMessage += e.Message + ";"; } } } if (dataInTemp.Where(x => x.ToopValue != null && x.ToopValue != "").Select(x => x.ToopValue).Count() > 0) { this.BindGrid(); return; } //新增检测记录 var dataInChecks = dataInTemp.Select(x => x.Value8).Distinct(); foreach (var checkCode in dataInChecks) { var firstDataTemp = dataInTemp.FirstOrDefault(x => x.Value8 == checkCode); if (firstDataTemp != null) { bool hasAdd = false; var trust = Funs.DB.CH_Trust.FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId && x.CH_TrustCode == firstDataTemp.Value6); Model.CH_Check check = new Model.CH_Check(); check.CHT_CheckID = Guid.NewGuid().ToString(); if (chAddForCheck.Checked) { check = Funs.DB.CH_Check.FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId && x.CHT_CheckCode == checkCode); if (check == null) { check = new Model.CH_Check(); check.CHT_CheckID = Guid.NewGuid().ToString(); } else { hasAdd = true; } } check.ProjectId = this.CurrUser.LoginProjectId; check.CHT_CheckCode = checkCode; check.CH_TrustID = trust.CH_TrustID; check.UnitId = trust.CH_TrustUnit; check.InstallationId = trust.InstallationId; if (!string.IsNullOrEmpty(firstDataTemp.Value11)) { check.CHT_CheckDate = Funs.GetNewDateTime(firstDataTemp.Value11); } // check.CHT_CheckType = this.txtCheckType.Text.Trim(); check.CHT_Tabler = this.CurrUser.UserId; check.CHT_TableDate = DateTime.Now; check.CHT_AuditMan = this.CurrUser.UserId; check.CHT_AuditDate = DateTime.Now; // check.CHT_CheckMan = this.ddlCheckMan.SelectedValue; check.ContractualUnits = trust.CH_CheckUnit; if (!hasAdd) { Funs.DB.CH_Check.InsertOnSubmit(check); } var allCheckData = dataInTemp.Where(x => x.Value8 == checkCode); foreach (var allCheck in allCheckData) { var isotemp = isos.FirstOrDefault(x => x.ISO_IsoNo == allCheck.Value3); var joint = jointInfos.FirstOrDefault(x => x.ISO_ID == isotemp.ISO_ID && x.JOT_JointNo == allCheck.Value4); var detectionType = detectionTypes.FirstOrDefault(x => x.DetectionTypeCode == allCheck.Value9); //var temptrust = newTrusts.Where(x => x.CH_TrustCode == allCheck.Value6).FirstOrDefault(); ; if (joint != null) { var trustItem = Funs.DB.CH_TrustItem.FirstOrDefault(x => x.CH_TrustID == trust.CH_TrustID && x.JOT_ID == joint.JOT_ID); bool hasitem = false; Model.CH_CheckItem checkitem = new Model.CH_CheckItem(); checkitem.CHT_CheckItemID = Guid.NewGuid().ToString(); if (chAddForCheck.Checked) { checkitem = Funs.DB.CH_CheckItem.FirstOrDefault(x => x.JOT_ID == joint.JOT_ID && x.CHT_CheckID == check.CHT_CheckID); if (checkitem == null) { checkitem = new Model.CH_CheckItem(); checkitem.CHT_CheckItemID = Guid.NewGuid().ToString(); } else { hasitem = true; } } checkitem.CHT_CheckID = check.CHT_CheckID; checkitem.JOT_ID = joint.JOT_ID; if (trustItem != null) { checkitem.CH_TrustItemID = trustItem.CH_TrustItemID; } checkitem.CHT_CheckMethod = detectionType.DetectionTypeId; //checkitem.CHT_RequestDate = int.Parse(allCheck.Value14); checkitem.CHT_RepairLocation = allCheck.Value13; if (!string.IsNullOrEmpty(allCheck.Value14)) { try { checkitem.CHT_TotalFilm = int.Parse(allCheck.Value14); } catch (Exception e) { } } if (!string.IsNullOrEmpty(allCheck.Value15)) { try { checkitem.CHT_PassFilm = int.Parse(allCheck.Value15); } catch (Exception e) { } } checkitem.CHT_CheckResult = allCheck.Value16; //checkitem.CHT_CheckNo = allCheck.Value8; if (!string.IsNullOrEmpty(allCheck.Value11)) { checkitem.CHT_FilmDate = Funs.GetNewDateTime(allCheck.Value11); } if (!string.IsNullOrEmpty(allCheck.Value12)) { checkitem.CHT_ReportDate = Funs.GetNewDateTime(allCheck.Value12); } checkitem.FilmSpecifications = allCheck.Value18; if (!string.IsNullOrEmpty(allCheck.Value19)) { try { checkitem.DefectLength = decimal.Parse(allCheck.Value19); } catch (Exception e) { } } if (!string.IsNullOrEmpty(joint.Extend_Length)) { try { checkitem.ExtendingRice = Decimal.Parse(joint.Extend_Length); } catch (Exception e) { } } checkitem.Defects_Definition = allCheck.Value17; if (!hasitem) { Funs.DB.CH_CheckItem.InsertOnSubmit(checkitem); } if (string.IsNullOrEmpty(joint.JOT_CheckFlag) || joint.JOT_CheckFlag == "00") { joint.JOT_CheckFlag = "01"; } else if (joint.JOT_CheckFlag == "01")//一次检测,未审核 { joint.JOT_CheckFlag = "02"; } else if (joint.JOT_CheckFlag == "02")//一次检测,已审核 { joint.JOT_CheckFlag = "11"; } else if (joint.JOT_CheckFlag == "11")//二次检测,未审核 { joint.JOT_CheckFlag = "12"; } else if (joint.JOT_CheckFlag == "12")//二次检测,已审核 { joint.JOT_CheckFlag = "21"; } else if (joint.JOT_CheckFlag == "21")//三次检测,未审核 { joint.JOT_CheckFlag = "22";//三次检测,已审核 } if (String.IsNullOrEmpty(joint.JOT_TrustFlag) || joint.JOT_TrustFlag == "00")//未下委托 { joint.JOT_TrustFlag = "01"; } else if (joint.JOT_TrustFlag == "01")//一次委托,未审核 { joint.JOT_TrustFlag = "02"; } else if (joint.JOT_TrustFlag == "02")//一次委托,已审核 { joint.JOT_TrustFlag = "11"; } else if (joint.JOT_TrustFlag == "11")//二次委托,未审核 { joint.JOT_TrustFlag = "12"; } else if (joint.JOT_TrustFlag == "12")//二次委托,已审核 { joint.JOT_TrustFlag = "21"; } else if (joint.JOT_TrustFlag == "21")//三次委托,未审核 { joint.JOT_TrustFlag = "22";//三次委托,已审核 } } } } } Funs.DB.HJGL_CheckImportTemp.DeleteAllOnSubmit(dataInTemp); Funs.DB.SubmitChanges(); this.BindGrid(); } #endregion #region 删除所有数据事件 /// /// 删除所有数据事件 /// /// /// protected void btnAllDelete_Click(object sender, EventArgs e) { ////先删除临时表中 该人员以前导入的数据 BLL.CheckManageImportTempService.DeleteDataInTempByProjectIdUserId(this.CurrUser.LoginProjectId, this.CurrUser.UserId); this.BindGrid(); ShowNotify("删除成功!", MessageBoxIcon.Success); this.lbDataCout.Text = string.Empty; } #endregion #region 模版导入说明 下载 /// /// 下载模版 /// /// /// protected void imgbtnUpload_Click(object sender, EventArgs e) { this.TemplateUpload(BLL.Const.HJGL_CheckImportTemplateUrl); } /// /// 模板下载方法 /// /// protected void TemplateUpload(string initTemplatePath) { string uploadfilepath = Server.MapPath("~/") + initTemplatePath; string fileName = Path.GetFileName(initTemplatePath); FileInfo info = new FileInfo(uploadfilepath); if (info.Exists) { long fileSize = info.Length; Response.Clear(); Response.ContentType = "application/x-zip-compressed"; Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); Response.AddHeader("Content-Length", fileSize.ToString()); Response.TransmitFile(uploadfilepath, 0, fileSize); Response.Flush(); Response.Close(); } else { ShowNotify("文件不存在!", MessageBoxIcon.Warning); } } #endregion public static Dictionary percent { get; set; } public static Dictionaryurl { get; set; } [System.Web.Services.WebMethod] public static int getPercent(string id) { return percent[id]; } } }