using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using UAS_MES.DataOperate; using UAS_MES.PublicMethod; namespace UAS_MES.Query { public partial class Query_OnlineTraceBack : Form { DataHelper dh; LogStringBuilder sql = new LogStringBuilder(); AutoSizeFormClass asc = new AutoSizeFormClass(); DataTable ComBoxData = new DataTable(); public Query_OnlineTraceBack() { InitializeComponent(); } private void Query_OnlineTraceBack_Load(object sender, EventArgs e) { asc.controllInitializeSize(this); dh = new DataHelper(); DataColumn status = new DataColumn("status"); DataColumn statuscode = new DataColumn("statuscode"); ComBoxData.Columns.Add(status); ComBoxData.Columns.Add(statuscode); DataRow dr = ComBoxData.NewRow(); dr[0] = "未上线"; dr[1] = "0"; ComBoxData.Rows.Add(dr); dr = ComBoxData.NewRow(); dr[0] = "在线"; dr[1] = "1"; ComBoxData.Rows.Add(dr); dr = ComBoxData.NewRow(); dr[0] = "已完工"; dr[1] = "2"; ComBoxData.Rows.Add(dr); dr = ComBoxData.NewRow(); dr[0] = "不良待维修"; dr[1] = "3"; ComBoxData.Rows.Add(dr); dr = ComBoxData.NewRow(); dr[0] = "已报废"; dr[1] = "4"; ComBoxData.Rows.Add(dr); ms_status.DataSource = ComBoxData; ms_status.DisplayMember = "status"; ms_status.ValueMember = "statuscode"; } private void ma_code_KeyDown(object sender, KeyEventArgs e) { } private void Query_OnlineTraceBack_SizeChanged(object sender, EventArgs e) { asc.controlAutoSize(this); } private void Query_Click(object sender, EventArgs e) { if (dh.CheckExist("make", "ma_code='" + ms_makecode.Text + "'")) { string statuscode = ms_status.SelectedValue.ToString(); if (statuscode == "1" || statuscode == "2" || statuscode == "3" || statuscode == "4") { string condition = BaseUtil.GetScreenSqlCondition(ms_makecode, ms_status, ms_stepcode, ms_nextstepcode); sql.Clear(); sql.Append("select ms_sncode,ms_stepcode,ms_nextstepcode,case when ms_status=1 then '在线' when ms_status=2 then "); sql.Append("'已完工' when ms_status=3 then '不良待维修' when ms_status=4 then '已报废' end ms_status,ms_craftcode"); sql.Append(",mp_indate,mp_inman,mp_sourcecode from makeserial left join makeprocess on mp_makecode=ms_makecode "); sql.Append("and mp_sncode=ms_sncode and mp_stepcode=ms_stepcode " + condition + " order by ms_id "); DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select"); BaseUtil.FillDgvWithDataTable(SnInf, dt); } else { sql.Clear(); sql.Append("select DISTINCT nvl(msl_sncode,msd_sncode)ms_sncode,nvl(msl_makecode,msd_makecode) ms_makecode,'未上线' ms_status from "); sql.Append("makesnruledetail left join makesnlist on msl_makecode = msd_makecode and msl_sncode = msd_sncode left join makeserial on "); sql.Append("(ms_makecode='" + ms_makecode.Text + "' or msd_makecode='" + ms_makecode.Text + "' or msl_makecode='" + ms_makecode.Text + "')"); sql.Append("and msd_sncode not in (select ms_sncode from makeserial where ms_makecode ='" + ms_makecode.Text + "')"); sql.Append(" where msd_type='before' and msd_makecode='" + ms_makecode.Text + "' and ms_sncode is not null order by ms_sncode"); DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select"); BaseUtil.FillDgvWithDataTable(SnInf, dt); } } else { MessageBox.Show("工单号" + ms_makecode.Text + "不存在"); BaseUtil.CleanDataGridView(SnInf); ms_makecode.Clear(); } } } }