using DevExpress.Printing.Core.PdfExport.Metafile; using NPOI.SS.Formula.Eval; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration.Assemblies; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; using System.Xml; using UAS_MES_NEW.DataOperate; using UAS_MES_NEW.Entity; using UAS_MES_NEW.PublicMethod; namespace UAS_MES_NEW.Make { public partial class Make_BurnInspection : Form { StringBuilder SQL = new StringBuilder(); LogStringBuilder sql = new LogStringBuilder(); DataHelper dh = new DataHelper(); DataTable Dbfind; DataTable dt = new DataTable(); string SN,WO = ""; string burnId; public Make_BurnInspection() { InitializeComponent(); } private void Make_WirelessTest_Load(object sender, EventArgs e) { //设置锁定工单 LockMakeCode.GetMakeCodeCtl(ma_code); ma_code.SetLockCheckBox(LockMakeCode); //工单号放大镜配置 ma_code.TableName = "make left join product on ma_prodcode=pr_code"; ma_code.SelectField = "ma_code # 工单号,pr_code # 产品编号,pr_detail # 产品名称"; ma_code.FormName = Name; ma_code.SetValueField = new string[] { "ma_code", "pr_code", "pr_detail" }; ma_code.Condition = "ma_statuscode='STARTED'"; ma_code.DbChange += Ma_code_DbChange; dh = SystemInf.dh; } private void Ma_code_DbChange(object sender, EventArgs e) { Dbfind = ma_code.ReturnData; BaseUtil.SetFormValue(this.Controls, Dbfind); //获取工单的其他信息 sql.Clear(); sql.Append("select ma_code,nvl(mcd_okqty,0) mcd_okqty,ma_prodcode as pr_code ,pr_detail,"); sql.Append("pr_spec,ma_qty - nvl(mcd_inqty, 0) mcd_remainqty from make left join makecraftdetail on "); sql.Append("mcd_maid=ma_id left join product on pr_code=ma_prodcode where ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'"); dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select"); if (dt.Rows.Count > 0) { BaseUtil.SetFormValue(this.Controls, dt); } } private void ClearMsg_Click(object sender, EventArgs e) { OperatResult.Clear(); } private void OK_Click(object sender, EventArgs e) { PassStation("OK"); } private void NG_Click(object sender, EventArgs e) { PassStation("NG"); } private void PassStation(string testResult) { BurnLotnoVal.Text = BurnLotnoVal.Text.Trim(); if (DataBox.Rows.Count == 0) { ShowMsg(0, $"请先查询出烧录批号"); return; } if (string.IsNullOrEmpty(BurnLotnoVal.Text)) { ShowMsg(0, $"请扫描烧录批号"); return; } foreach (DataGridViewRow item in DataBox.Rows) { string currLotNo = item.Cells["burn_lotno"].Value.ToString(); if (currLotNo == BurnLotnoVal.Text.Trim()) { burnId = item.Cells["BURN_ID"].Value.ToString(); } } if (string.IsNullOrEmpty(burnId)) { ShowMsg(0, $"请抽检所查询中烧录批号"); return; } dt = (DataTable)dh.ExecuteSql($@"select * from burn_inspect where burn_lotno = '{BurnLotnoVal.Text}'", "select"); if (dt.Rows.Count > 0) { ShowMsg(0, $"批号 {BurnLotnoVal.Text}已抽检"); return; } SQL.Clear(); SQL.Append($@"INSERT INTO burn_inspect (burn_inspect_id,burn_lotno,burn_id, inspect_res,inspect_time,inspect_name) VALUES (burn_inspect_seq.NEXTVAL, '{BurnLotnoVal.Text}',{burnId}, '{testResult}',sysdate,'{User.UserName}')"); dh.ExecuteSql(SQL.ToString(), "insert"); ShowMsg(1, $"{BurnLotnoVal.Text} 记录抽检结果{testResult} 成功"); BurnLotnoVal.Focus(); BurnLotnoVal.SelectAll(); } private void Query_Click(object sender, EventArgs e) { if(string.IsNullOrEmpty(ma_code.Text) && string.IsNullOrEmpty(LineVal.Text)) { ShowMsg(0, $"请选择工单或者线体"); return; } SQL.Clear(); if (!string.IsNullOrEmpty(ma_code.Text)) { SQL.Append($"AND a.work_order = '{ma_code.Text}'"); } if (!string.IsNullOrEmpty(LineVal.Text)) { SQL.Append($"AND a.line = '{LineVal.Text}'"); } dt = (DataTable)dh.ExecuteSql($@"SELECT a.burn_id,a.burn_lotno,a.work_order, a.line,a.burn_software,a.check_code, a.dot_detail,b.inspect_time,b.inspect_name,b.inspect_res FROM burn_info a LEFT JOIN burn_inspect b ON a.burn_id = b.burn_id WHERE 1 = 1 {SQL.ToString()}", "select"); if (dt.Rows.Count > 0) { DataBox.DataSource = dt; } } private void ShowMsg(int type, string msg) { string fullDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); if (type == 0) { OperatResult.AppendText($"{fullDateTime}: {msg}\n", Color.Red); } else if (type == 1) { OperatResult.AppendText($"{fullDateTime}: {msg}\n", Color.Green); } else if (type == 1) { OperatResult.AppendText($"{fullDateTime}: {msg}\n", Color.YellowGreen); } } } }