|
|
@@ -79,7 +79,30 @@ namespace UAS_MES.Make
|
|
|
bd_soncode.DBTitle = "不良零件";
|
|
|
bd_soncode.DbChange += Prodcode_DbChange;
|
|
|
|
|
|
+ //nrg_name.BringToFront();
|
|
|
+ nrg_name.TableName = "QUA_NGREASONGROUP";
|
|
|
+ nrg_name.Field = "nrg_name";
|
|
|
+ nrg_name.ValueField = "nrg_code";
|
|
|
+
|
|
|
+ nr_name.TableName = "QUA_NGREASONGROUPDET left join QUA_NGREASONGROUP on nrgd_nrgid=nrg_id left join QUA_NGReason on nrgd_nrcode=nr_code ";
|
|
|
+ nr_name.Field = "nr_name";
|
|
|
+ nr_name.ValueField = "nr_code";
|
|
|
+
|
|
|
+ mbr_dutyname.TableName = "ngduty";
|
|
|
+ mbr_dutyname.Field = "nd_name";
|
|
|
+ mbr_dutyname.ValueField = "nd_code";
|
|
|
+
|
|
|
+ so_name.TableName = "solution";
|
|
|
+ so_name.Field = "so_name";
|
|
|
+ so_name.ValueField = "so_code";
|
|
|
+
|
|
|
asc.controllInitializeSize(this);
|
|
|
+ mbc_component.SendToBack();
|
|
|
+ so_name.SendToBack();
|
|
|
+ mbl_loc.SendToBack();
|
|
|
+ bd_soncode.SendToBack();
|
|
|
+ mbp_partdgv.SendToBack();
|
|
|
+ mbp_part_label.SendToBack();
|
|
|
dh = SystemInf.dh;
|
|
|
GetSNCode.Focus();
|
|
|
}
|
|
|
@@ -296,7 +319,7 @@ namespace UAS_MES.Make
|
|
|
if (e.Node.Level == 0)
|
|
|
{
|
|
|
mb_id = e.Node.Tag.ToString();
|
|
|
- BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nr_name, nr_code, mbr_solutioncode, mbr_dutycode, mbc_component);
|
|
|
+ BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nrg_code, nr_name, nr_code, so_name, so_code, mbr_dutyname, mbr_dutycode, mbc_component);
|
|
|
mbl_locdgv.DataSource = null;
|
|
|
mbp_partdgv.DataSource = null;
|
|
|
bc_name.Text = BadInf_1[mb_id]["bc_name"];
|
|
|
@@ -305,28 +328,33 @@ namespace UAS_MES.Make
|
|
|
bg_code.Text = BadInf_1[mb_id]["mb_bgcode"];
|
|
|
mb_badremark.Text = BadInf_1[mb_id]["mb_badremark"];
|
|
|
mbr_id = "";
|
|
|
+ SaveRepairInf.Enabled = true;
|
|
|
}
|
|
|
if (e.Node.Level == 1)
|
|
|
{
|
|
|
//展示父节点信息
|
|
|
mb_id = e.Node.Parent.Tag.ToString();
|
|
|
- bc_name.Text = BadInf_1[mb_id]["bc_name"];
|
|
|
bc_code.Text = BadInf_1[mb_id]["mb_badcode"];
|
|
|
- bg_name.Text = BadInf_1[mb_id]["bg_name"];
|
|
|
+ bc_name.Text = BadInf_1[mb_id]["bc_name"];
|
|
|
bg_code.Text = BadInf_1[mb_id]["mb_bgcode"];
|
|
|
+ bg_name.Text = BadInf_1[mb_id]["bg_name"];
|
|
|
//展示子节点信息
|
|
|
mbr_id = e.Node.Tag.ToString();
|
|
|
+ nrg_code.Text = BadInf_2[mbr_id]["nrg_code"];
|
|
|
nrg_name.Text = BadInf_2[mbr_id]["nrg_name"];
|
|
|
- nr_name.Text = BadInf_2[mbr_id]["nr_name"];
|
|
|
nr_code.Text = BadInf_2[mbr_id]["nr_code"];
|
|
|
- mbr_solutioncode.Text = BadInf_2[mbr_id]["so_name"];
|
|
|
+ nr_name.Text = BadInf_2[mbr_id]["nr_name"];
|
|
|
+ so_code.Text = BadInf_2[mbr_id]["so_code"];
|
|
|
+ so_name.Text = BadInf_2[mbr_id]["so_name"];
|
|
|
mbr_dutycode.Text = BadInf_2[mbr_id]["mbr_dutycode"];
|
|
|
+ mbr_dutyname.Text = BadInf_2[mbr_id]["mbr_dutyname"];
|
|
|
mbc_component.Text = dh.getFieldDataByCondition("makebadrscom", "mbc_component", "mbc_mbrid=" + mbr_id).ToString();
|
|
|
//加载两个Grid的数据源
|
|
|
DataTable dt = (DataTable)dh.ExecuteSql("select mbp_id,mbp_part from makebadrspart where mbp_mbrid=" + mbr_id, "select");
|
|
|
BaseUtil.FillDgvWithDataTable(mbp_partdgv, dt);
|
|
|
dt = (DataTable)dh.ExecuteSql("select mbl_id,mbl_loc from makebadrsloc where mbl_mbrid=" + mbr_id, "select");
|
|
|
BaseUtil.FillDgvWithDataTable(mbl_locdgv, dt);
|
|
|
+ SaveRepairInf.Enabled = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -373,8 +401,8 @@ namespace UAS_MES.Make
|
|
|
BadCodeTree.Nodes.Add(tnode_0);
|
|
|
//添加子节点
|
|
|
sql.Clear();
|
|
|
- sql.Append("select mbr_id,mbr_brcode,mbr_brgcode,mbr_solutioncode,so_name,mbr_dutycode,nd_name,nrg_name");
|
|
|
- sql.Append(",nr_name,nr_code from makebadreason left join QUA_NGReason on nr_code=mbr_brcode left join ");
|
|
|
+ sql.Append("select mbr_id,mbr_brcode,mbr_brgcode,mbr_solutioncode,so_code,so_name,mbr_dutycode,mbr_dutyname,nd_name,nrg_name");
|
|
|
+ sql.Append(",nr_name,nr_code,nrg_code from makebadreason left join QUA_NGReason on nr_code=mbr_brcode left join ");
|
|
|
sql.Append("QUA_NGREASONGROUPdet on nrgd_nrcode=nr_code left join QUA_NGREASONGROUP on nrg_id=nrgd_nrgid and ");
|
|
|
sql.Append("mbr_brgcode=nrg_code left join solution on so_code=mbr_solutioncode left join ngduty on nd_code=mbr_dutycode ");
|
|
|
sql.Append("where mbr_mbid=" + mb_id);
|
|
|
@@ -391,9 +419,12 @@ namespace UAS_MES.Make
|
|
|
dic1.Add("mbr_brgcode", dt1.Rows[j]["mbr_brcode"].ToString());
|
|
|
dic1.Add("mbr_solutioncode", dt1.Rows[j]["mbr_solutioncode"].ToString());
|
|
|
dic1.Add("mbr_dutycode", dt1.Rows[j]["mbr_dutycode"].ToString());
|
|
|
+ dic1.Add("mbr_dutyname", dt1.Rows[j]["mbr_dutyname"].ToString());
|
|
|
dic1.Add("nd_name", dt1.Rows[j]["nd_name"].ToString());
|
|
|
dic1.Add("so_name", dt1.Rows[j]["so_name"].ToString());
|
|
|
+ dic1.Add("so_code", dt1.Rows[j]["so_code"].ToString());
|
|
|
dic1.Add("nrg_name", dt1.Rows[j]["nrg_name"].ToString());
|
|
|
+ dic1.Add("nrg_code", dt1.Rows[j]["nrg_code"].ToString());
|
|
|
dic1.Add("nr_name", dt1.Rows[j]["nr_name"].ToString());
|
|
|
dic1.Add("nr_code", dt1.Rows[j]["nr_code"].ToString());
|
|
|
tnode_1.Text = dt1.Rows[j]["nr_name"].ToString();
|
|
|
@@ -604,53 +635,71 @@ namespace UAS_MES.Make
|
|
|
|
|
|
private void SaveRepairInf_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
- //保存不良零件
|
|
|
- DataTable dt = (DataTable)mbp_partdgv.DataSource;
|
|
|
- if (dt != null && dt.Rows.Count > 0)
|
|
|
+ string ErrorMessage = "";
|
|
|
+ if (bg_name.Text == "" || bc_name.Text == "")
|
|
|
{
|
|
|
- List<string> prodcode = new List<string>();
|
|
|
- for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
- {
|
|
|
- if (dt.Rows[i]["mbp_id"].ToString() == "")
|
|
|
- prodcode.Add(dt.Rows[i]["mbp_part"].ToString());
|
|
|
- }
|
|
|
- if (prodcode.Count > 0)
|
|
|
- {
|
|
|
- sql.Clear();
|
|
|
- sql.Append("insert into makebadrspart(mbp_id,mbp_mbrid,mbp_part,mbp_badcode,");
|
|
|
- sql.Append("mbp_brcode,mbp_sncode,mbp_makecode,mbp_indate,mbp_inman,mbp_sccode)");
|
|
|
- sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",:prodcode,");
|
|
|
- sql.Append("'" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
|
|
|
- sql.Append("sysdate,'" + User.UserCode + "','" + User.UserSourceCode + "' from dual");
|
|
|
- dh.BatchInsert(sql.GetString(), new string[] { "prodcode" }, prodcode.ToArray());
|
|
|
- LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "不良零件保存", "不良零件保存成功", ms_sncode.Text, ms_checkno.Text);
|
|
|
- }
|
|
|
- OperatResult.AppendText(">>不良零件保存成功\n", Color.Green);
|
|
|
+ OperatResult.AppendText(">>不良代码组和不良代码不能为空\n", Color.Red);
|
|
|
+ return;
|
|
|
}
|
|
|
- else OperatResult.AppendText(">>不良零件未维护数据\n", Color.Red);
|
|
|
- //保存不良位置
|
|
|
- dt = (DataTable)mbl_locdgv.DataSource;
|
|
|
- if (dt != null && dt.Rows.Count > 0)
|
|
|
+ if (nrg_name.Text == "")
|
|
|
+ ErrorMessage += " 不良原因组 ";
|
|
|
+ if (nr_name.Text == "")
|
|
|
+ ErrorMessage += " 不良原因 ";
|
|
|
+ if (mbr_dutyname.Text == "")
|
|
|
+ ErrorMessage += " 责任别 ";
|
|
|
+ if (ErrorMessage != "")
|
|
|
{
|
|
|
- List<string> location = new List<string>();
|
|
|
- for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
- {
|
|
|
- if (dt.Rows[i]["mbl_id"].ToString() == "")
|
|
|
- location.Add(dt.Rows[i]["mbl_loc"].ToString());
|
|
|
- }
|
|
|
- if (location.Count > 0)
|
|
|
- {
|
|
|
- sql.Clear();
|
|
|
- sql.Append("insert into makebadrsloc(mbl_id,mbl_mbrid,mbl_loc,mbl_badcode,mbl_brcode,");
|
|
|
- sql.Append("mbl_sncode,mbl_makecode,mbl_indate ,mbl_inman) select makebadrsloc_seq.nextval," + mbr_id);
|
|
|
- sql.Append(",:location,'" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + macode + "',");
|
|
|
- sql.Append("sysdate,'" + User.UserCode + "' from dual");
|
|
|
- dh.BatchInsert(sql.GetString(), new string[] { "location" }, location.ToArray());
|
|
|
- LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, macode, User.UserLineCode, User.UserSourceCode, "不良位置保存", "不良位置保存成功", ms_sncode.Text, ms_checkno.Text);
|
|
|
- }
|
|
|
- OperatResult.AppendText(">>不良位置保存成功\n", Color.Green);
|
|
|
+ ErrorMessage += "不能为空";
|
|
|
+ OperatResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ string mbr_id = dh.GetSEQ("makebadreason_seq");
|
|
|
+ //存在不良组件进行提示
|
|
|
+ if (dh.CheckExist("makebadreason left join makebad on mbr_mbid=mb_id and mbr_sncode=mb_sncode", "mbr_badcode='" + bc_code.Text + "' and mbr_sncode='" + ms_sncode.Text + "' and mbr_brcode='" + nr_code.Text + "' and mb_status=0"))
|
|
|
+ {
|
|
|
+ OperatResult.AppendText(">>不良代码【" + bc_name.Text + "】已存在不良原因【" + nr_name.Text + "】\n", Color.Red);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!dh.CheckExist("QUA_NGREASONGROUP", "nrg_name='" + nrg_name.Text + "'"))
|
|
|
+ {
|
|
|
+ OperatResult.AppendText(">>不良原因组不存在\n", Color.Red);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!dh.CheckExist("QUA_NGReason", "nr_name='" + nr_name.Text + "'"))
|
|
|
+ {
|
|
|
+ OperatResult.AppendText(">>不良原因不存在\n", Color.Red);
|
|
|
+ return;
|
|
|
}
|
|
|
- else OperatResult.AppendText(">>不良位置未维护数据\n", Color.Red);
|
|
|
+ if (!dh.CheckExist("ngduty", "nd_name='" + mbr_dutyname.Text + "'"))
|
|
|
+ {
|
|
|
+ OperatResult.AppendText(">>责任别不存在\n", Color.Red);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!dh.CheckExist("solution", "so_name='" + so_name.Text + "'"))
|
|
|
+ {
|
|
|
+ OperatResult.AppendText(">>解决方案不存在\n", Color.Red);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //保存不良原因
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("insert into makebadreason (mbr_mbid,mbr_id,mbr_brcode,mbr_solutioncode,");
|
|
|
+ sql.Append("mbr_dutycode,mbr_brgcode,mbr_badcode,mbr_sncode,mbr_makecode,mbr_indate,");
|
|
|
+ sql.Append("mbr_inman,mbr_brname,mbr_solutionname,mbr_badname,mbr_brgname,mbr_dutyname) select '" + mb_id + "','" + mbr_id + "','" + nr_code.Text + "',");
|
|
|
+ sql.Append("'" + so_code.Text + "','" + mbr_dutyname.Text + "','" + nrg_code.Text + "','" + bc_code.Text + "',");
|
|
|
+ sql.Append("'" + ms_sncode.Text + "','" + ms_makecode.Text + "',sysdate,'" + User.UserCode + "','" + nr_name.Text + "','" + so_name.Text + "','" + bc_name.Text + "','" + nrg_name.Text + "','" + mbr_dutyname.Text + "' from dual");
|
|
|
+ dh.ExecuteSql(sql.GetString(), "insert");
|
|
|
+ if (mbc_component.Text != "")
|
|
|
+ {
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("insert into makebadrscom (mbc_id,mbc_mbrid,mbc_component,mbc_badcode,");
|
|
|
+ sql.Append("mbc_brcode,mbc_sncode,mbc_makecode,mbc_indate,mbc_inman ) values ");
|
|
|
+ sql.Append("(makebadrscom_seq.nextval,'" + mbr_id + "' ,'" + mbc_component.Text + "',");
|
|
|
+ sql.Append("'" + bc_code.Text + "','" + nr_code.Text + "','" + ms_sncode.Text + "','" + ms_makecode.Text + "',sysdate,'" + User.UserCode + "')");
|
|
|
+ dh.ExecuteSql(sql.GetString(), "insert");
|
|
|
+ }
|
|
|
+ OperatResult.AppendText(">>不良原因保存成功\n", Color.Green);
|
|
|
+ SaveRepairInf.Enabled = false;
|
|
|
+ LoadBadInfTree(sender, e);
|
|
|
}
|
|
|
|
|
|
private void DeleteRepairInf_Click(object sender, EventArgs e)
|
|
|
@@ -666,7 +715,7 @@ namespace UAS_MES.Make
|
|
|
string delete4 = "delete from makebadreason where mbr_id='" + mbr_id + "'";
|
|
|
dh.ExecuteSQLTran(delete1, delete2, delete3, delete4);
|
|
|
OperatResult.AppendText(">>删除成功\n", Color.Green);
|
|
|
- BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nr_name, nr_code, mbr_solutioncode, mbr_dutycode, mbc_component);
|
|
|
+ BaseUtil.CleanControlsText(bc_name, bc_code, bg_name, bg_code, mb_badremark, nrg_name, nrg_code, nr_name, nr_code, so_name, so_code, mbr_dutyname, mbr_dutycode, mbc_component);
|
|
|
mbp_partdgv.DataSource = null;
|
|
|
mbl_locdgv.DataSource = null;
|
|
|
mbr_id = "";
|
|
|
@@ -819,5 +868,46 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
GetSNCode_KeyDown(new object(), new KeyEventArgs(Keys.Enter));
|
|
|
}
|
|
|
+
|
|
|
+ private void nr_name_UserControlTextChanged(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ if (nr_name.Text != "")
|
|
|
+ {
|
|
|
+ if (nrg_name.Text == "")
|
|
|
+ {
|
|
|
+ OperatResult.AppendText(">>请先填写不良代码组\n", Color.Red);
|
|
|
+ nr_name.Text = "";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (nr_code.Text == "" || (nr_code.Text != "" && nr_code.Text != nr_name.Value))
|
|
|
+ nr_code.Text = nr_name.Value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void nrg_name_UserControlTextChanged(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ if (nrg_code.Text == "" || (nrg_code.Text != "" && nrg_code.Text != nrg_name.Value))
|
|
|
+ nrg_code.Text = nrg_name.Value;
|
|
|
+ nr_name.Condition = "nrg_code in('" + (nrg_code.Text == "" ? "''" : nrg_code.Text) + "')";
|
|
|
+ }
|
|
|
+
|
|
|
+ private void mbr_dutyname_UserControlTextChanged(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ if (mbr_dutycode.Text == "" || (mbr_dutycode.Text != "" && mbr_dutycode.Text != mbr_dutyname.Value))
|
|
|
+ mbr_dutycode.Text = mbr_dutyname.Value;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void mbc_component_UserControlTextChanged(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void so_name_UserControlTextChanged(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ if (so_code.Text == "" || (so_code.Text != "" && so_code.Text != so_name.Value))
|
|
|
+ so_code.Text = so_name.Value;
|
|
|
+ }
|
|
|
}
|
|
|
}
|