|
|
@@ -56,21 +56,6 @@ namespace UAS_MES_NEW.Make
|
|
|
|
|
|
private void Make_Repair_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
- //为DBFind配置Call和Form的名称
|
|
|
- cr_code.FormName = Name;
|
|
|
- cr_code.TableName = "craft";
|
|
|
- cr_code.SelectField = "cr_name # 工艺名称,cr_code # 工艺编号,cr_prodcode # 物料编号";
|
|
|
- cr_code.SetValueField = new string[] { "cr_code" };
|
|
|
- cr_code.DBTitle = "回流工艺";
|
|
|
- cr_code.DbChange += Cr_code_DbChange;
|
|
|
-
|
|
|
- cd_stepcode.FormName = Name;
|
|
|
- cd_stepcode.TableName = "craftdetail left join step on st_code=cd_stepcode left join craft on cd_crid=cr_id";
|
|
|
- cd_stepcode.SetValueField = new string[] { "cd_stepcode" };
|
|
|
- cd_stepcode.SelectField = "cd_stepname # 工序名称 ,cd_stepcode # 工序编号,cd_stepno # 执行顺序";
|
|
|
- cd_stepcode.DBTitle = "回流工序";
|
|
|
- cd_stepcode.DbChange += Cd_stepcode_DbChange;
|
|
|
-
|
|
|
bd_soncode.FormName = Name;
|
|
|
bd_soncode.TableName = "bom left join bomdetail on bd_bomid=bo_id left join product on bd_soncode=pr_code";
|
|
|
bd_soncode.SetValueField = new string[] { "bd_soncode" };
|
|
|
@@ -139,18 +124,6 @@ namespace UAS_MES_NEW.Make
|
|
|
else OperatResult.AppendText(">>不良零件不能为空\n", Color.Red);
|
|
|
}
|
|
|
|
|
|
- private void Cd_stepcode_DbChange(object sender, EventArgs e)
|
|
|
- {
|
|
|
- Dbfind = cd_stepcode.ReturnData;
|
|
|
- BaseUtil.SetFormValue(this.Controls, Dbfind);
|
|
|
- }
|
|
|
-
|
|
|
- private void Cr_code_DbChange(object sender, EventArgs e)
|
|
|
- {
|
|
|
- Dbfind = cr_code.ReturnData;
|
|
|
- BaseUtil.SetFormValue(this.Controls, Dbfind);
|
|
|
- }
|
|
|
-
|
|
|
private void GetSNCode_KeyDown(object sender, KeyEventArgs e)
|
|
|
{
|
|
|
if (e.KeyCode == Keys.Enter)
|
|
|
@@ -354,80 +327,17 @@ namespace UAS_MES_NEW.Make
|
|
|
OperatResult.AppendText(">>" + ErrorMessage + "未维护不良原因\n", Color.Red);
|
|
|
return;
|
|
|
}
|
|
|
- //查询拆解的物料
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select distinct cm_soncode from craftmaterial where cm_sncode in (select '" + firstsn + "' from dual union ");
|
|
|
- sql.Append("select sn from makesnrelation where firstsn='" + firstsn + "') and cm_craftcode<>'" + cr_code.Text + "' and cm_makecode<>'" + ma_code.Text + "' and cm_status=-1 ");
|
|
|
- dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- //如果含有序列号物料有被拆解过
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
- {
|
|
|
- string soncode = "";
|
|
|
- for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
- {
|
|
|
- soncode += "'" + dt.Rows[i][0].ToString() + "',";
|
|
|
- }
|
|
|
- //查询对应的上料记录
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select cm_soncode from craftmaterial where cm_sncode in (select '" + firstsn + "' from dual union select sn from ");
|
|
|
- sql.Append(" makesnrelation where firstsn='" + firstsn + "') and cm_status=0 and cm_soncode in (" + soncode.Substring(0, soncode.Length - 1) + ")");
|
|
|
- DataTable LoadSoncode = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- //查询的结果不相等表示未完成上料
|
|
|
- if (dt.Rows.Count != LoadSoncode.Rows.Count)
|
|
|
- {
|
|
|
- for (int i = 0; i < LoadSoncode.Rows.Count; i++)
|
|
|
- {
|
|
|
- if (soncode.Contains(LoadSoncode.Rows[i][0].ToString()))
|
|
|
- {
|
|
|
- soncode = soncode.Replace(LoadSoncode.Rows[i][0].ToString(), "");
|
|
|
- }
|
|
|
- }
|
|
|
- OperatResult.AppendText(">>" + soncode.Replace("'", "") + "物料尚未备料,不允许回流\n", Color.Red);
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- dt = (DataTable)dh.ExecuteSql("select cr_id from craft where cr_statuscode='AUDITED' and cr_code='" + cr_code.Text + "'", "select");
|
|
|
- if (dt.Rows.Count == 0)
|
|
|
- OperatResult.AppendText(">>回流工序不存在\n", Color.Red);
|
|
|
- else
|
|
|
- {
|
|
|
- string cr_id = dt.Rows[0]["cr_id"].ToString();
|
|
|
- dt = (DataTable)dh.ExecuteSql("select cd_ifinput from craftdetail left join step on st_code=cd_stepcode where cd_crid='" + cr_id + "' and cd_stepcode='" + cd_stepcode.Text + "' and st_statuscode='AUDITED'", "select");
|
|
|
- if (dt.Rows.Count == 0)
|
|
|
- OperatResult.AppendText(">>回流工序不在回流工艺中\n", Color.Red);
|
|
|
- else
|
|
|
- {
|
|
|
- dt = dh.getFieldsDataByCondition("makeserial", new string[] { "nvl(ms_ifrework,0) ms_ifrework", "ms_paststep" }, "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + ma_code.Text + "'");
|
|
|
- List<string> SQLS = new List<string>();
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
- {
|
|
|
- string ms_ifrework = dt.Rows[0]["ms_ifrework"].ToString();
|
|
|
- string ms_paststep = dt.Rows[0]["ms_paststep"].ToString();
|
|
|
- //如果回流的执行过的工序为空
|
|
|
- if (!ms_paststep.Contains(cd_stepcode.Text) && ms_paststep != "")
|
|
|
- {
|
|
|
- OperatResult.AppendText(">>不允许回流到未执行的工序\n", Color.Red);
|
|
|
- return;
|
|
|
- }
|
|
|
- if (ms_ifrework == "0")
|
|
|
- SQLS.Add("update makeserial set ms_checkno='',ms_paststep = ms_paststep || case when instr(','||ms_paststep||',','" + User.CurrentStepCode + "')=0 then ','||'" + User.CurrentStepCode + "' end , ms_nextstepcode ='" + cd_stepcode.Text + "',ms_craftcode='" + cr_code.Text + "',ms_stepcode='" + User.CurrentStepCode + "',ms_status=1 where ms_id='" + msid + "'");
|
|
|
- else
|
|
|
- SQLS.Add("update makeserial set ms_checkno='',ms_paststep = ms_paststep || case when instr(','||ms_paststep||',','" + User.CurrentStepCode + "')=0 then ','||'" + User.CurrentStepCode + "' end , ms_nextstepcode ='" + cd_stepcode.Text + "',ms_craftcode='" + cr_code.Text + "',ms_stepcode='" + User.CurrentStepCode + "',ms_reworkstatus=1 where ms_id='" + msid + "'");
|
|
|
- }
|
|
|
- SQLS.Add("update makebad set mb_status=-1 where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "'");
|
|
|
- //取消最近拆解部件
|
|
|
- SQLS.Add("update craftmaterial set cm_lastdeco=0 where cm_sncode='" + ms_sncode.Text + "' and cm_makecode='" + ma_code.Text + "' and nvl(cm_lastdeco,0)<>0");
|
|
|
- dh.ExecuteSQLTran(SQLS.ToArray());
|
|
|
- LogicHandler.InsertMakeProcess(ms_sncode.Text, ma_code.Text, User.UserSourceCode, "回流工序", "完成维修回流", User.UserCode);
|
|
|
- LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "回流工序", "完成维修回流", ms_sncode.Text, ms_checkno.Text);
|
|
|
- OperatResult.AppendText(">>序列号" + ms_sncode.Text + "回流成功\n", Color.Green);
|
|
|
- cd_stepcode.Enabled = true;
|
|
|
- BaseUtil.CleanForm(this);
|
|
|
- BadCodeTree.Nodes.Clear();
|
|
|
- GetSNCode.Clear();
|
|
|
- GetSNCode.Focus();
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+ List<string> SQLS = new List<string>();
|
|
|
+ //取消最近拆解部件
|
|
|
+ SQLS.Add("update makebad set mb_status=-1 where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "'");
|
|
|
+ dh.ExecuteSQLTran(SQLS.ToArray());
|
|
|
+ LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "回流工序", "完成维修回流", ms_sncode.Text, ms_checkno.Text);
|
|
|
+ OperatResult.AppendText(">>序列号" + ms_sncode.Text + "回流成功\n", Color.Green);
|
|
|
+ BaseUtil.CleanForm(this);
|
|
|
+ BadCodeTree.Nodes.Clear();
|
|
|
+ GetSNCode.Clear();
|
|
|
+ GetSNCode.Focus();
|
|
|
}
|
|
|
|
|
|
private void Scrap_Click(object sender, EventArgs e)
|
|
|
@@ -577,74 +487,64 @@ namespace UAS_MES_NEW.Make
|
|
|
|
|
|
private void DeleteRepairInf_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
- DataTable dt = (DataTable)dh.ExecuteSql("select ms_makecode from makeserial where ms_id='" + msid + "' and ms_sncode='" + GetSNCode.Text + "' and ms_status=3", "select");
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
+ if (mbr_id != "")
|
|
|
{
|
|
|
- if (mbr_id != "")
|
|
|
- {
|
|
|
- string delete1 = "delete from makebadrsloc where mbl_mbrid='" + mbr_id + "'";
|
|
|
- string delete2 = "delete from makebadrspart where mbp_mbrid='" + mbr_id + "'";
|
|
|
- string delete3 = "delete from makebadrscom where mbc_mbrid='" + mbr_id + "'";
|
|
|
- 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, 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 = "";
|
|
|
- //删除后重新加载Tree的信息
|
|
|
- LoadBadInfTree(sender, e);
|
|
|
- }
|
|
|
- else OperatResult.AppendText(">>必须选择不良原因\n", Color.Red);
|
|
|
+ string delete1 = "delete from makebadrsloc where mbl_mbrid='" + mbr_id + "'";
|
|
|
+ string delete2 = "delete from makebadrspart where mbp_mbrid='" + mbr_id + "'";
|
|
|
+ string delete3 = "delete from makebadrscom where mbc_mbrid='" + mbr_id + "'";
|
|
|
+ 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, 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 = "";
|
|
|
+ //删除后重新加载Tree的信息
|
|
|
+ LoadBadInfTree(sender, e);
|
|
|
}
|
|
|
- else OperatResult.AppendText(">>" + GetSNCode.Text + "序列号错误,不存在或者不处于维修状态\n", Color.Red);
|
|
|
+ else OperatResult.AppendText(">>必须选择不良原因\n", Color.Red);
|
|
|
}
|
|
|
|
|
|
private void SaveBadLocation_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
- DataTable dt = (DataTable)dh.ExecuteSql("select ms_makecode from makeserial where ms_id='" + msid + "' and ms_sncode='" + GetSNCode.Text + "' and ms_status=3", "select");
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
+ if (mbl_loc.Text != "")
|
|
|
{
|
|
|
- if (mbl_loc.Text != "")
|
|
|
+ if (mbr_id != "")
|
|
|
{
|
|
|
- if (mbr_id != "")
|
|
|
+ if (!dh.CheckExist("makebadrsloc", "mbl_mbrid='" + mbr_id + "' and mbl_sncode='" + GetSNCode.Text + "' and mbl_loc='" + mbl_loc.Text.ToUpper() + "'"))
|
|
|
{
|
|
|
- if (!dh.CheckExist("makebadrsloc", "mbl_mbrid='" + mbr_id + "' and mbl_sncode='" + GetSNCode.Text + "' and mbl_loc='" + mbl_loc.Text.ToUpper() + "'"))
|
|
|
+ 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(",'" + mbl_loc.Text.ToUpper() + "','" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + ma_code.Text + "',");
|
|
|
+ sql.Append("sysdate,'" + User.UserCode + "' from dual");
|
|
|
+ dh.ExecuteSql(sql.GetString(), "insert");
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select mbl_id,mbl_loc from makebadrsloc where mbl_mbrid=" + mbr_id, "select");
|
|
|
+ BaseUtil.FillDgvWithDataTable(mbl_locdgv, dt);
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("with temp1 as (select bd_soncode,bd_location from bomdetail,bom where bo_id=bd_bomid ");
|
|
|
+ sql.Append(" start with bo_mothercode='" + pr_code.Text + "' connect by bo_mothercode= prior bd_soncode) ");
|
|
|
+ sql.Append("select bd_soncode from temp1 where instr(','||bd_location||',','," + mbl_loc.Text.ToUpper() + ",')>0");
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows.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(",'" + mbl_loc.Text.ToUpper() + "','" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + ma_code.Text + "',");
|
|
|
+ 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)");
|
|
|
+ sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",'" + dt.Rows[0][0].ToString() + "',");
|
|
|
+ sql.Append("'" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + ma_code.Text + "',");
|
|
|
sql.Append("sysdate,'" + User.UserCode + "' from dual");
|
|
|
dh.ExecuteSql(sql.GetString(), "insert");
|
|
|
- dt = (DataTable)dh.ExecuteSql("select mbl_id,mbl_loc from makebadrsloc where mbl_mbrid=" + mbr_id, "select");
|
|
|
- BaseUtil.FillDgvWithDataTable(mbl_locdgv, dt);
|
|
|
- sql.Clear();
|
|
|
- sql.Append("with temp1 as (select bd_soncode,bd_location from bomdetail,bom where bo_id=bd_bomid ");
|
|
|
- sql.Append(" start with bo_mothercode='" + pr_code.Text + "' connect by bo_mothercode= prior bd_soncode) ");
|
|
|
- sql.Append("select bd_soncode from temp1 where instr(','||bd_location||',','," + mbl_loc.Text.ToUpper() + ",')>0");
|
|
|
- dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- if (dt.Rows.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)");
|
|
|
- sql.Append("select makebadrspart_seq.nextval," + mbr_id + ",'" + dt.Rows[0][0].ToString() + "',");
|
|
|
- sql.Append("'" + bc_code.Text + "','" + nr_code.Text + "','" + GetSNCode.Text + "','" + ma_code.Text + "',");
|
|
|
- sql.Append("sysdate,'" + User.UserCode + "' from dual");
|
|
|
- dh.ExecuteSql(sql.GetString(), "insert");
|
|
|
- dt = (DataTable)dh.ExecuteSql("select mbp_id,mbp_part from makebadrspart where mbp_mbrid=" + mbr_id, "select");
|
|
|
- BaseUtil.FillDgvWithDataTable(mbp_partdgv, dt);
|
|
|
- mbl_loc.Clear();
|
|
|
- }
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select mbp_id,mbp_part from makebadrspart where mbp_mbrid=" + mbr_id, "select");
|
|
|
+ BaseUtil.FillDgvWithDataTable(mbp_partdgv, dt);
|
|
|
+ mbl_loc.Clear();
|
|
|
}
|
|
|
- else OperatResult.AppendText(">>已存在该不良位置\n", Color.Red);
|
|
|
}
|
|
|
- else OperatResult.AppendText(">>请先选择不良原因\n", Color.Red);
|
|
|
+ else OperatResult.AppendText(">>已存在该不良位置\n", Color.Red);
|
|
|
}
|
|
|
- else OperatResult.AppendText(">>不良位置不能为空\n", Color.Red);
|
|
|
+ else OperatResult.AppendText(">>请先选择不良原因\n", Color.Red);
|
|
|
}
|
|
|
- else OperatResult.AppendText(">>" + GetSNCode.Text + "序列号错误,不存在或者不处于维修状态\n", Color.Red);
|
|
|
+ else OperatResult.AppendText(">>不良位置不能为空\n", Color.Red);
|
|
|
}
|
|
|
|
|
|
private void nr_name_TextChanged(object sender, EventArgs e)
|
|
|
@@ -685,11 +585,6 @@ namespace UAS_MES_NEW.Make
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void cr_code_UserControlTextChanged(object sender, EventArgs e)
|
|
|
- {
|
|
|
- cd_stepcode.Condition = "ST_STATUSCODE='AUDITED' and cr_code='" + cr_code.Text + "' and cr_prodcode='" + pr_code.Text + "' order by cd_stepno";
|
|
|
- }
|
|
|
-
|
|
|
private void Clean_Click(object sender, EventArgs e)
|
|
|
{
|
|
|
OperatResult.Clear();
|
|
|
@@ -728,13 +623,7 @@ namespace UAS_MES_NEW.Make
|
|
|
|
|
|
private void ms_prodcode_TextChanged(object sender, EventArgs e)
|
|
|
{
|
|
|
- if (pr_code.Text != "")
|
|
|
- cr_code.Condition = "cr_prodcode='" + pr_code.Text + "'";
|
|
|
- else
|
|
|
- cr_code.Condition = "";
|
|
|
- bd_soncode.Condition = "bd_mothercode='" + pr_code.Text + "' and NVL(bd_usestatus,' ')<>'DISABLE'";
|
|
|
- //设置工序的条件
|
|
|
- cd_stepcode.Condition = "ST_STATUSCODE='AUDITED' and cr_code='" + cr_code.Text + "' and cr_prodcode='" + pr_code.Text + "' order by cd_stepno";
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public void RefreshData()
|
|
|
@@ -937,13 +826,11 @@ namespace UAS_MES_NEW.Make
|
|
|
}
|
|
|
}
|
|
|
sql.Clear();
|
|
|
- sql.Append("insert when (not exists(select 1 from makebad where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "' and ");
|
|
|
- sql.Append("mb_status=0 and mb_badcode=:bc_code)) then into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,");
|
|
|
+ sql.Append("insert into makebad(mb_id,mb_makecode,mb_mscode,mb_sncode,mb_inman,");
|
|
|
sql.Append("mb_indate,mb_stepcode,mb_sourcecode,mb_badcode,mb_bgcode,mb_badtable,mb_status)");
|
|
|
- sql.Append("select DISTINCT :id,ma_code,ms_code,ms_sncode,'" + User.UserCode + "' t1,sysdate,'" + User.CurrentStepCode + "' t2,ms_sourcecode,:bd_code,:bg_code,'' t3,");
|
|
|
- sql.Append("'0' from make left join makeSerial on ms_makecode=ma_code ");
|
|
|
- sql.Append(" where ms_sncode='" + ms_sncode.Text + "' and ms_makecode = '" + ma_code.Text + "'");
|
|
|
- dh.BatchInsert(sql.GetString(), new string[] { "bc_code", "id", "bd_code", "bg_code" }, bccode, id, bccode, bgcode);
|
|
|
+ sql.Append("select :id,'" + ma_code.Text + "','" + GetSNCode.Text + "','" + GetSNCode.Text + "','" + User.UserCode + "',sysdate,'" + User.CurrentStepCode + "','" + User.UserSourceCode + "',:bc_code,:bg_code,'',");
|
|
|
+ sql.Append("'0' from dual ");
|
|
|
+ dh.BatchInsert(sql.GetString(), new string[] { "id", "bc_code", "bg_code" }, id, bccode, bgcode);
|
|
|
OperatResult.AppendText(">>不良插入成功\n", Color.Green);
|
|
|
LoadBadInfTree(sender, e);
|
|
|
}
|