ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/Welder/WeldRecordIn.aspx.cs

516 lines
24 KiB
C#
Raw Normal View History

2024-05-08 17:17:11 +08:00
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<SqlParameter> listStr = new List<SqlParameter>();
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的数据导入数据库
/// <summary>
/// 将Dataset的数据导入数据库
/// </summary>
/// <param name="pds">数据集</param>
/// <param name="Cols">数据集列数</param>
/// <returns></returns>
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
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private bool GetButtonPower(string button)
{
return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WeldRecordInMenuId, button);
}
#endregion
}
}