using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.IO; using System.Linq; using System.Web; using System.Data.SqlClient; using System.Web.UI.WebControls; using BLL; namespace FineUIPro.Web.Welder { public partial class WeldRecordIn : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindGrid(); } } private void BindGrid() { string strSql = @"select R.*,W.WED_Code,W.IdentityCard,W.WED_Name from WeldRecordIn R left join HJGL_BS_Welder W on R.WelderId=W.WED_ID where 1=1"; List listStr = new List(); if (!string.IsNullOrEmpty(this.txtWelderCode.Text.Trim())) { strSql += " AND W.WED_Code LIKE @WED_Code"; listStr.Add(new SqlParameter("@WED_Code", "%" + this.txtWelderCode.Text.Trim() + "%")); } if (!string.IsNullOrEmpty(this.txtWelderName.Text.Trim())) { strSql += " AND W.WED_Name LIKE @WED_Name"; listStr.Add(new SqlParameter("@WED_Name", "%" + this.txtWelderName.Text.Trim() + "%")); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } protected void btnFind_Click(object sender, EventArgs e) { this.BindGrid(); } protected void btnOut_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.txtWelderName.Text.Trim())) { Alert.ShowInTop("请输入焊工姓名!", MessageBoxIcon.Warning); return; } if (string.IsNullOrEmpty(this.txtYear.Text.Trim())) { Alert.ShowInTop("请选择年份!", MessageBoxIcon.Warning); return; } string welderName = this.txtWelderName.Text.Trim(); Model.HJGL_BS_Welder welder = Funs.DB.HJGL_BS_Welder.FirstOrDefault(x => x.WED_Name == welderName); string year = this.txtYear.Text.Trim(); DateTime startDate = Convert.ToDateTime(year + "-01-01"); DateTime endDate = Convert.ToDateTime(year + "-12-31"); DateTime endDate1 = Convert.ToDateTime(year + "-3-31"); DateTime startDate2 = Convert.ToDateTime(year + "-04-01"); DateTime endDate2 = Convert.ToDateTime(year + "-6-30"); DateTime startDate3 = Convert.ToDateTime(year + "-07-01"); DateTime endDate3 = Convert.ToDateTime(year + "-9-30"); DateTime startDate4 = Convert.ToDateTime(year + "-10-01"); var list = from x in Funs.DB.WeldRecordIn join y in Funs.DB.HJGL_BS_Welder on x.WelderId equals y.WED_ID where y.WED_Name == welderName && x.WeldingDate >= startDate && x.WeldingDate <= endDate select x; if (list.Count() > 0) { string varValue = string.Empty; varValue = "特种设备焊接操作人员焊绩记录表(" + year + "年)" + "|" + welderName + "|" + welder.WED_Code + "|" + welder.IdentityCard; var list1 = list.Where(x => x.WeldingDate >= startDate && x.WeldingDate <= endDate1); var list2 = list.Where(x => x.WeldingDate >= startDate2 && x.WeldingDate <= endDate2); var list3 = list.Where(x => x.WeldingDate >= startDate3 && x.WeldingDate <= endDate3); var list4 = list.Where(x => x.WeldingDate >= startDate4 && x.WeldingDate <= endDate); var record11 = list1.FirstOrDefault(x => x.WeldMothed == "GTAW"); if (record11 != null) { varValue += "|" + record11.QualifiedProjectCode + "|" + (record11.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record11.WeldingDate) : "") + "|" + record11.ProjectCode + "|" + record11.WeldJoint; } else { varValue += "||||"; } var record12 = list1.FirstOrDefault(x => x.WeldMothed == "SMAW"); if (record12 != null) { varValue += "|" + record12.QualifiedProjectCode + "|" + (record12.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record12.WeldingDate) : "") + "|" + record12.ProjectCode + "|" + record12.WeldJoint; } else { varValue += "||||"; } var record13 = list1.FirstOrDefault(x => x.WeldMothed == "GMAW" || x.WeldMothed == "FCAW"); if (record13 != null) { varValue += "|" + record13.QualifiedProjectCode + "|" + (record13.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record13.WeldingDate) : "") + "|" + record13.ProjectCode + "|" + record13.WeldJoint; } else { varValue += "||||"; } var record14 = list1.FirstOrDefault(x => x.WeldMothed == "SAW"); if (record14 != null) { varValue += "|" + record14.QualifiedProjectCode + "|" + (record14.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record14.WeldingDate) : "") + "|" + record14.ProjectCode + "|" + record14.WeldJoint; } else { varValue += "||||"; } var record15 = list1.FirstOrDefault(x => x.WeldMothed == "ESW"); if (record15 != null) { varValue += "|" + record15.QualifiedProjectCode + "|" + (record15.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record15.WeldingDate) : "") + "|" + record15.ProjectCode + "|" + record15.WeldJoint; } else { varValue += "||||"; } var record21 = list2.FirstOrDefault(x => x.WeldMothed == "GTAW"); if (record21 != null) { varValue += "|" + record21.QualifiedProjectCode + "|" + (record21.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record21.WeldingDate) : "") + "|" + record21.ProjectCode + "|" + record21.WeldJoint; } else { varValue += "||||"; } var record22 = list2.FirstOrDefault(x => x.WeldMothed == "SMAW"); if (record22 != null) { varValue += "|" + record22.QualifiedProjectCode + "|" + (record22.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record22.WeldingDate) : "") + "|" + record22.ProjectCode + "|" + record22.WeldJoint; } else { varValue += "||||"; } var record23 = list2.FirstOrDefault(x => x.WeldMothed == "GMAW" || x.WeldMothed == "FCAW"); if (record23 != null) { varValue += "|" + record23.QualifiedProjectCode + "|" + (record23.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record23.WeldingDate) : "") + "|" + record23.ProjectCode + "|" + record23.WeldJoint; } else { varValue += "||||"; } var record24 = list2.FirstOrDefault(x => x.WeldMothed == "SAW"); if (record24 != null) { varValue += "|" + record24.QualifiedProjectCode + "|" + (record24.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record24.WeldingDate) : "") + "|" + record24.ProjectCode + "|" + record24.WeldJoint; } else { varValue += "||||"; } var record25 = list2.FirstOrDefault(x => x.WeldMothed == "ESW"); if (record25 != null) { varValue += "|" + record25.QualifiedProjectCode + "|" + (record25.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record25.WeldingDate) : "") + "|" + record25.ProjectCode + "|" + record25.WeldJoint; } else { varValue += "||||"; } var record31 = list3.FirstOrDefault(x => x.WeldMothed == "GTAW"); if (record31 != null) { varValue += "|" + record31.QualifiedProjectCode + "|" + (record31.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record31.WeldingDate) : "") + "|" + record31.ProjectCode + "|" + record31.WeldJoint; } else { varValue += "||||"; } var record32 = list3.FirstOrDefault(x => x.WeldMothed == "SMAW"); if (record32 != null) { varValue += "|" + record32.QualifiedProjectCode + "|" + (record32.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record32.WeldingDate) : "") + "|" + record32.ProjectCode + "|" + record32.WeldJoint; } else { varValue += "||||"; } var record33 = list3.FirstOrDefault(x => x.WeldMothed == "GMAW" || x.WeldMothed == "FCAW"); if (record33 != null) { varValue += "|" + record33.QualifiedProjectCode + "|" + (record33.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record33.WeldingDate) : "") + "|" + record33.ProjectCode + "|" + record33.WeldJoint; } else { varValue += "||||"; } var record34 = list3.FirstOrDefault(x => x.WeldMothed == "SAW"); if (record34 != null) { varValue += "|" + record34.QualifiedProjectCode + "|" + (record34.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record34.WeldingDate) : "") + "|" + record34.ProjectCode + "|" + record34.WeldJoint; } else { varValue += "||||"; } var record35 = list3.FirstOrDefault(x => x.WeldMothed == "ESW"); if (record35 != null) { varValue += "|" + record35.QualifiedProjectCode + "|" + (record35.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record35.WeldingDate) : "") + "|" + record35.ProjectCode + "|" + record35.WeldJoint; } else { varValue += "||||"; } var record41 = list4.FirstOrDefault(x => x.WeldMothed == "GTAW"); if (record41 != null) { varValue += "|" + record41.QualifiedProjectCode + "|" + (record41.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record41.WeldingDate) : "") + "|" + record41.ProjectCode + "|" + record41.WeldJoint; } else { varValue += "||||"; } var record42 = list4.FirstOrDefault(x => x.WeldMothed == "SMAW"); if (record42 != null) { varValue += "|" + record42.QualifiedProjectCode + "|" + (record42.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record42.WeldingDate) : "") + "|" + record42.ProjectCode + "|" + record42.WeldJoint; } else { varValue += "||||"; } var record43 = list4.FirstOrDefault(x => x.WeldMothed == "GMAW" || x.WeldMothed == "FCAW"); if (record43 != null) { varValue += "|" + record43.QualifiedProjectCode + "|" + (record43.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record43.WeldingDate) : "") + "|" + record43.ProjectCode + "|" + record43.WeldJoint; } else { varValue += "||||"; } var record44 = list4.FirstOrDefault(x => x.WeldMothed == "SAW"); if (record44 != null) { varValue += "|" + record44.QualifiedProjectCode + "|" + (record44.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record44.WeldingDate) : "") + "|" + record44.ProjectCode + "|" + record44.WeldJoint; } else { varValue += "||||"; } var record45 = list4.FirstOrDefault(x => x.WeldMothed == "ESW"); if (record45 != null) { varValue += "|" + record45.QualifiedProjectCode + "|" + (record45.WeldingDate != null ? string.Format("{0:yyyy-MM-dd}", record45.WeldingDate) : "") + "|" + record45.ProjectCode + "|" + record45.WeldJoint; } else { varValue += "||||"; } varValue = HttpUtility.UrlEncodeUnicode(varValue); PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", BLL.Const.HGGL_WelderRecordReportId, string.Empty, varValue, "打印 - "))); } else { Alert.ShowInTop("该焊工在所选年份无焊工焊绩可导出!", MessageBoxIcon.Warning); return; } } protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { } protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } protected void imgbtnImport_Click(object sender, EventArgs e) { if (GetButtonPower(Const.BtnIn)) { try { if (this.FileExcel.HasFile == false) { Alert.ShowInTop("请您选择Excel文件!", MessageBoxIcon.Warning); return; } string IsXls = Path.GetExtension(FileExcel.FileName).ToString().Trim().ToLower(); if (IsXls != ".xls") { Alert.ShowInTop("只可以选择Excel文件"); 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;"; 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]); 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; } } else { ShowNotify("您没有这个权限,请与管理员联系!"); } } #region 将Dataset的数据导入数据库 /// /// 将Dataset的数据导入数据库 /// /// 数据集 /// 数据集列数 /// private void AddDatasetToSQL(DataTable pds) { string errorInfos = string.Empty; string result = string.Empty; if (pds != null && pds.Rows.Count > 0) { int ir = pds.Rows.Count; for (int i = 0; i < ir; i++) { string col0 = pds.Rows[i][0].ToString().Trim();//钢印号 string col1 = pds.Rows[i][1].ToString().Trim();//焊接方法 string col2 = pds.Rows[i][2].ToString().Trim();//合格项目代号 string col3 = pds.Rows[i][3].ToString().Trim();//焊接时间 string col4 = pds.Rows[i][4].ToString().Trim();//施焊产品 string col5 = pds.Rows[i][5].ToString().Trim();//焊缝编号 Model.WeldRecordIn NeweldRecord = new Model.WeldRecordIn(); var getWelder = Funs.DB.HJGL_BS_Welder.FirstOrDefault(x => x.WED_Code == col0); if (getWelder != null) { if (getWelder.WED_IfOnGuard == false) { result += "第" + (i + 2).ToString() + "行," + "该焊工不在岗" + "|"; } else if (getWelder.IsOAM == false) { result += "第" + (i + 2).ToString() + "行," + "该焊工不是从OA同步" + "|"; } else { NeweldRecord.WelderId = getWelder.WED_ID; NeweldRecord.WeldMothed = col1; NeweldRecord.QualifiedProjectCode = col2; if (!string.IsNullOrEmpty(col3.ToString())) { try { NeweldRecord.WeldingDate = Convert.ToDateTime(col3); } catch (Exception) { result += "第" + (i + 2).ToString() + "行," + "焊接时间格式有误!" + "|"; } } NeweldRecord.ProjectCode = col4; NeweldRecord.WeldJoint = col5; //var GetweldRecord = BLL.WeldRecordInService.GetWeldRecorByWelderId(NeweldRecord.WelderId); //if (GetweldRecord == null) //{ NeweldRecord.WeldRecordInId = SQLHelper.GetNewID(typeof(Model.WeldRecordIn)); BLL.WeldRecordInService.AddWeldRecor(NeweldRecord); //} //else //{ // NeweldRecord.WeldRecordInId = GetweldRecord.WelderId; // BLL.WeldRecordInService.UpdateWeldRecor(NeweldRecord); //} } } else { result += "第" + (i + 2).ToString() + "行," + "该焊工不存在于焊工表!" + "|"; } } this.BindGrid(); if (!string.IsNullOrEmpty(result)) { errorInfos = "未成功数据:" + result.Substring(0, result.LastIndexOf("|")); Alert.ShowInParent("数据已导入!" + errorInfos, MessageBoxIcon.Warning); } else { ShowNotify("数据导入成功!", MessageBoxIcon.Success); } } else { ShowNotify("导入数据为空!", MessageBoxIcon.Success); return; } } #endregion protected void imgbtnUpload_Click(object sender, EventArgs e) { string uploadfilepath = Server.MapPath("~/") + BLL.Const.WeldRecordInTemplateUrl; string fileName = Path.GetFileName(BLL.Const.WeldRecordInTemplateUrl); 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); } } protected void btnMenuDelete_Click(object sender, EventArgs e) { if (GetButtonPower(Const.BtnDelete)) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); var WeldRecord = BLL.WeldRecordInService.GetWeldRecorById(rowID); if (WeldRecord != null) { BLL.WeldRecordInService.DeleteWeldRecorById(rowID); ShowNotify("删除数据成功!(表格数据已重新绑定)"); } } BindGrid(); } } else { ShowNotify("您没有这个权限,请与管理员联系!"); } } #region 判断按钮权限 /// /// 获取按钮权限 /// /// /// private bool GetButtonPower(string button) { return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WeldRecordInMenuId, button); } #endregion } }