using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using UAS_MES_NEW.DataOperate; using UAS_MES_NEW.Entity; using UAS_MES_NEW.PublicMethod; namespace UAS_MES_NEW.OQC { public partial class OQC_PlanMaintain_NEW : Form { AutoSizeFormClass asc = new AutoSizeFormClass(); LogStringBuilder sql = new LogStringBuilder(); DataTable dt; DataHelper dh; string ErrorMessage = ""; DataTable Dbfind; public OQC_PlanMaintain_NEW() { InitializeComponent(); } private void 抽样计划维护_Load(object sender, EventArgs e) { asc.controllInitializeSize(this); dh = SystemInf.dh; pr_code.TableName = "QUA_Project"; pr_code.SelectField = "pr_code # 方案编号,pr_name # 方案名称,pr_class # 检验单类型,pr_standard # 方案标准,pr_startdate # 生效日期,pr_enddate #失效日期 ,pr_status # 状态"; pr_code.SetValueField = new string[] { "pr_code" }; pr_code.FormName = Name; pr_code.DbChange += Pr_code_DbChange; GoodProduct.Checked = true; ChooseAll.ChooseAll(CheckTypeDGV); } private void Pr_code_DbChange(object sender, EventArgs e) { Dbfind = pr_code.ReturnData; BaseUtil.SetFormValue(this.Controls, Dbfind); } private void 抽样计划维护_SizeChanged(object sender, EventArgs e) { asc.controlAutoSize(this); } private void Clean_Click(object sender, EventArgs e) { OperateResult.Clear(); } private void ob_projectcode_UserControlTextChanged(object sender, EventArgs e) { sql.Clear(); sql.Append("select pd_itemname from QUA_PROJECT left join "); sql.Append(" QUA_ProjectDetail on pd_prid=pr_id left join QUA_CheckItem on pd_ciid=ci_id "); sql.Append(" where pr_code='" + pr_code.Text + "'"); DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select"); BaseUtil.FillDgvWithDataTable(CheckTypeDGV, dt); } private void OQC_PlanMaintain_FormClosing(object sender, FormClosingEventArgs e) { dh.Dispose(); } string oMakeCode = ""; string oMSID = ""; private void ms_sncode_KeyDown(object sender, KeyEventArgs e) { if (Keys.Enter == e.KeyCode) { if (LogicHandler.CheckStepSNAndMacode(oMakeCode, User.UserSourceCode, ms_sncode.Text, User.UserCode, out oMakeCode, out oMSID, out ErrorMessage)) { DataTable dt = (DataTable)dh.ExecuteSql("select nvl(MS_IFQCCHECK,0)MS_IFQCCHECK,pr_detail,pr_spec,ms_prodcode,PR_QUALMETHOD from makeserial left join product on pr_code=ms_prodcode where ms_id='" + oMSID + "'", "select"); if (dt.Rows.Count > 0) { string ms_ifqccheck = dt.Rows[0]["MS_IFQCCHECK"].ToString(); ms_prodcode.Text = dt.Rows[0]["ms_prodcode"].ToString(); pr_detail.Text = dt.Rows[0]["pr_detail"].ToString(); pr_code.Text = dt.Rows[0]["PR_QUALMETHOD"].ToString(); if (ms_ifqccheck == "0") { OperateResult.AppendText(">>非QC抽检序列号,不允许采集\n", Color.Red); return; } } } else { OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red); } ms_sncode.SelectAll(); } } private void SaveData_Click(object sender, EventArgs e) { if (LogicHandler.CheckStepSNAndMacode(oMakeCode, User.UserSourceCode, ms_sncode.Text, User.UserCode, out oMakeCode, out oMSID, out ErrorMessage)) { DataTable dt = (DataTable)dh.ExecuteSql("select nvl(MS_IFQCCHECK,0)MS_IFQCCHECK,pr_detail,pr_spec,ms_prodcode,PR_QUALMETHOD from makeserial left join product on pr_code=ms_prodcode where ms_id='" + oMSID + "'", "select"); if (dt.Rows.Count > 0) { string ms_ifqccheck = dt.Rows[0]["MS_IFQCCHECK"].ToString(); ms_prodcode.Text = dt.Rows[0]["ms_prodcode"].ToString(); pr_detail.Text = dt.Rows[0]["pr_detail"].ToString(); pr_code.Text = dt.Rows[0]["PR_QUALMETHOD"].ToString(); if (ms_ifqccheck == "0") { OperateResult.AppendText(">>非QC抽检序列号,不允许采集\n", Color.Red); return; } } } else { OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red); } List oi_itemcode_insert = new List(); List ois_ifng_insert = new List(); for (int i = 0; i < CheckTypeDGV.Rows.Count; i++) { if (CheckTypeDGV.Rows[i].Cells["Choose"].FormattedValue.ToString() == "True") { oi_itemcode_insert.Add(CheckTypeDGV.Rows[i].Cells["pd_itemname"].Value.ToString()); ois_ifng_insert.Add(CheckTypeDGV.Rows[i].Cells["CheckResult"].FormattedValue.ToString() == "True" ? "-1" : "0"); } } if (oi_itemcode_insert.Count == 0) { OperateResult.AppendText(">>" + ms_sncode.Text + "必须勾选检验项目\n", Color.Green, ms_sncode); return; } if (GoodProduct.Checked) { sql.Clear(); //when () then sql.Append("insert into OQCItemSamples (ois_id,ois_checkno,ois_makecode, ois_sncode,ois_projectcode,ois_itemcode,"); sql.Append("ois_ifng,ois_defectlevel,ois_remark,ois_indate)select OQCItemSamples_seq.nextval,'','" + oMakeCode + "'"); sql.Append(",'" + ms_sncode.Text + "','" + pr_code.Text + "',:ois_itemcode,:ois_ifng,'','',sysdate from dual "); sql.Append("where not exists (select ois_id from OQCItemSamples where OIS_SNCODE='" + ms_sncode.Text + "' and ois_itemcode =:ois_itemcode)"); dh.BatchInsert(sql.GetString(), new string[] { "ois_itemcode", "ois_ifng", "ois_itemcode" }, oi_itemcode_insert.ToArray(), ois_ifng_insert.ToArray(), oi_itemcode_insert.ToArray()); dh.ExecuteSql("update makeserial set MS_IFQCCHECK=0 where ms_id='" + oMSID + "'", "select"); //if (LogicHandler.SetStepResult(oMakeCode, User.UserSourceCode, ms_sncode.Text, "良品采集", "OK", User.UserCode, out ErrorMessage)) //{ OperateResult.AppendText(">>" + ms_sncode.Text + "良品采集成功\n", Color.Green, ms_sncode); LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "采集良品", "采集良品成功", ms_sncode.Text, ""); //} //else //{ // OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode); //} } else { //if (LogicHandler.SetStepResult(oMakeCode, User.UserSourceCode, ms_sncode.Text, "不良品采集", "NG", User.UserCode, out ErrorMessage)) //{ sql.Clear(); //when () then sql.Append("insert into OQCItemSamples (ois_id,ois_checkno,ois_makecode, ois_sncode,ois_projectcode,ois_itemcode,"); sql.Append("ois_ifng,ois_defectlevel,ois_remark,ois_indate)select OQCItemSamples_seq.nextval,'','" + oMakeCode + "'"); sql.Append(",'" + ms_sncode.Text + "','" + pr_code.Text + "',:ois_itemcode,:ois_ifng,'','',sysdate from dual "); sql.Append("where not exists (select ois_id from OQCItemSamples where OIS_SNCODE='" + ms_sncode.Text + "' and ois_itemcode =:ois_itemcode)"); dh.BatchInsert(sql.GetString(), new string[] { "ois_itemcode", "ois_ifng", "ois_itemcode" }, oi_itemcode_insert.ToArray(), ois_ifng_insert.ToArray(), oi_itemcode_insert.ToArray()); dh.ExecuteSql("update makeserial set MS_IFQCCHECK=0 where ms_id='" + oMSID + "'", "select"); OperateResult.AppendText(">>" + ms_sncode.Text + "不良品采集成功\n", Color.Green, ms_sncode); LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "采集不良品", "采集不良品成功", ms_sncode.Text, ""); //} //else //{ // OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, ms_sncode); //} } BaseUtil.CleanDGVData(CheckTypeDGV); ms_prodcode.Clear(); pr_detail.Clear(); pr_code.Text = ""; } } }