| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027 |
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using CoreFS.CA06;
- using CoreFS.SA06;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections;
- using System.Data;
- using System.Linq;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.Qcm
- {
- class MscMsc_BackLog
- {
- public static DataTable Query(FrmProPSCMSC2 frm)
- {
- if (frm.ControlMsc.GridMsc.ActiveRow == null) return null;
- string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
- if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
- }
- else
- {
- UltraGridRow activeRow = frm.ControlMsc.GridMsc.ActiveRow;
- msc = activeRow.GetValue("KEY_JG");
- }
- ArrayList list = new ArrayList();
- list.Add(msc);
- list.Add(frm.ckbDeleteFilter.Checked ? "0" : "1");
- DataTable dt = null;
- try
- {
- dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryMscBackLog",
- new object[] { list }, frm.ob);
- }
- catch
- {
- return null;
- }
- return dt;
- }
- public static bool Insert(FrmProPSCMSC2 frm)
- {
- if (CheckData(frm, "Insert") == false) return false;
- frm.UltraGrid5.UpdateData();
- if (MessageUtil.ShowYesNoAndQuestion("是否新增所选择的记录?") == DialogResult.No)
- {
- return false;
- }
- string strMaxMscPline = GetMaxMscPline(frm);
- string[] strWhole_BackLogs = GetWhole_BackLog(frm);
- string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
- string processNo = "";
- string memo = "";
- string autoCraft = "";
- string activeMscPlie = "";
- if (frm.UltraGrid4.ActiveRow != null)
- {
- processNo = frm.UltraGrid4.GetActiveRowValue("PROCESS_NO");
- memo = frm.UltraGrid4.GetActiveRowValue("Memo");
- autoCraft = frm.UltraGrid4.GetActiveRowValue("AUTO_CRAFT");
- activeMscPlie = frm.UltraGrid4.GetActiveRowValue("MSC_PLINE");
- }
- if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
- }
- else
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
- }
- ArrayList list1 = new ArrayList();
- list1.Add(msc);
- list1.Add(strMaxMscPline);
- list1.Add(strWhole_BackLogs[0]);
- list1.Add(strWhole_BackLogs[1]);
- list1.Add(frm.UserInfo.GetUserName());
- list1.Add(processNo);
- list1.Add(memo);
- list1.Add(autoCraft);
- ArrayList list2 = new ArrayList();
- ArrayList list3 = new ArrayList();
- foreach (UltraGridRow row in frm.UltraGrid5.Rows)
- {
- string strDeleteFlag = "";
- string cic = row.GetValue("CIC");
- string pic = row.GetValue("PIC");
- string dic = row.GetValue("DIC");
- string sic = row.GetValue("SIC");
- string wic = row.GetValue("WIC");
- string gic = row.GetValue("GIC");
- string processCode = row.Cells["PROCESS_CODE"].Value.ToString();
- if (row.Cells["CHK"].Value.ToString() == "False")
- {
- strDeleteFlag = "DELETE";
- }
- else
- {
- if (frm._dicMscStation.ContainsKey(processCode))
- {
- UltraGrid ultraGridSta2 = frm._dicMscStation[processCode];
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403201" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- cic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403202" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- pic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403203" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- sic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403204" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- dic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403205" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- wic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403208" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- gic = "";
- }
- }
- }
- string MaxMscProBkLog_seq = QueryMaxMscProBkLog_seq(frm, strMaxMscPline);
- ArrayList listProcess = new ArrayList();
- listProcess.AddRange(
- strDeleteFlag, msc, strMaxMscPline,
- MaxMscProBkLog_seq, frm.UserInfo.GetUserName(), row.GetValue("PROCESS_CODE"),
- row.GetValue("PROCESS_DESC"), row.GetValue("MINUTE_PRODUCT"), row.GetValue("MINUTE_WAITE"),
- row.GetValue("BATCH_WAITE"), row.GetValue("MINUTE_PRODUCT_OUT"), row.GetValue("MINUTE_WAITE_OUT"),
- row.GetValue("BATCH_WAITE_OUT"), row.GetValue("COST"), cic, pic, sic, dic, wic,
- gic, row.GetValue("MEMO"), row.GetValue("PROCESS_CODE_C"),
- row.GetText("PROCESS_CODE_C"), row.GetValue("ICOUNT"), "");
- list2.Add(listProcess);
- if (frm._dicMscStation.ContainsKey(processCode) == false)
- {
- if (row.Cells["CHK"].Value.ToString() == "True")
- {
- ArrayList listSub = new ArrayList();
- listSub.Add(processCode);
- listSub.Add(frm.UserInfo.GetUserName());
- listSub.Add(msc);
- listSub.Add(strMaxMscPline);
- listSub.Add(row.GetValue("PROCESS_CODE_C"));
- listSub.Add(row.GetValue("ICOUNT"));
- list3.Add(listSub);
- }
- continue;
- }
- UltraGrid ultraGridSta = frm._dicMscStation[processCode];
- foreach (UltraGridRow rowSta in ultraGridSta.Rows)
- {
- //如果工序选择的二级工序和工序点选择的不一致,则不对工序点进行保存,只保存工序。
- if (rowSta.GetValue("PROCESS_CODE_C") != row.GetValue("PROCESS_CODE_C"))
- {
- continue;
- }
- ArrayList listSub = new ArrayList();
- string strDeleteFlag2 = "";
- if (rowSta.Cells["UCCHOOSE"].Value.ToString() == "False")
- {
- strDeleteFlag2 = "DELETE";
- }
- listSub.Add(strDeleteFlag2);//0
- listSub.Add(msc);//最终保存的时候赋值。1
- listSub.Add(strMaxMscPline);//2
- listSub.Add(rowSta.GetValue("BACKLOG_SEQ"));//3
- listSub.Add(rowSta.GetValue("PROCESS_CODE"));//4
- listSub.Add(rowSta.GetValue("PROCESS_DESC"));//5
- listSub.Add(rowSta.GetValue("STATION_CODE"));//6
- listSub.Add(rowSta.GetValue("STATION_DESC"));//7
- listSub.Add(rowSta.GetValue("STATION_TYPE_CODE"));//8
- listSub.Add(rowSta.GetValue("STATION_ID"));//9
- listSub.Add(rowSta.GetValue("COST"));//10
- listSub.Add(rowSta.GetValue("CHOOSE") == "True" ? "1" : "0");//11
- listSub.Add(rowSta.GetValue("RETURN_RESULT") == "True" ? "1" : "0");//12
- listSub.Add(rowSta.GetValue("SEND_CHECKPLAN") == "True" ? "1" : "0");//13
- listSub.Add(frm.UserInfo.GetUserName());//14
- listSub.Add(rowSta.GetValue("PROCESS_SEQ"));//15
- listSub.Add(rowSta.GetValue("MEMO"));//16
- listSub.Add(rowSta.GetValue("PROCESS_CODE_C"));
- listSub.Add(rowSta.GetValue("PROCESS_DESC_C"));
- list3.Add(listSub);
- }
- //foreach (ArrayList listStation in listStations)
- //{
- // listStation[1] = frm.ultraGrid2.ActiveRow.Cells["MSC"].Value.ToString();
- // listStation[2] = strMaxMscPline;
- // list3.Add(listStation);
- //}
- }
- try
- {
- ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.insertMscBackLog",
- new object[] { list1, list2, list3 }, frm.ob);
- }
- catch
- {
- return false;
- }
- MessageUtil.ShowTips("新增成功!");
- return true;
- }
- /// <summary>
- /// 修改工艺文件路径
- /// </summary>
- /// <param name="frm"></param>
- /// <returns></returns>
- public static void UpdateCraftPath(FrmProPSCMSC2 frm)
- {
- UltraGridRow row = frm.UltraGrid4.ActiveRow;
- ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.updateCraftPath",
- new object[] { row.GetValue("MSC"), row.GetValue("MSC_PLINE"), row.Cells["CRAFT_PATH"].Tag.ToString2() }, frm.ob);
- }
- /// <summary>
- /// 修改工艺贴图
- /// </summary>
- /// <param name="frm"></param>
- public static void UpdateProcessFile(string processFile, string msc, string mscPline, string processCode, OpeBase ob)
- {
- ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.updateProcessFile",
- new object[] { new string[] { processFile, msc, mscPline, processCode } }, ob);
- }
- public static bool Update(FrmProPSCMSC2 frm)
- {
- if (CheckData(frm, "Update") == false) return false;
- frm.UltraGrid5.UpdateData();
- if (MessageUtil.ShowYesNoAndQuestion("是否修改所选择的记录?") == DialogResult.No)
- {
- return false;
- }
- string[] strWhole_BackLogs = GetWhole_BackLog(frm);
- string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
- if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
- }
- else
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
- }
- ArrayList list1 = new ArrayList();
- list1.Add(strWhole_BackLogs[0]);
- list1.Add(strWhole_BackLogs[1]);
- list1.Add(frm.UserInfo.GetUserName());
- list1.Add(frm.UltraGrid4.GetActiveRowValue("PROCESS_NO"));
- list1.Add(frm.UltraGrid4.ActiveRow.Cells["MEMO"].Value.ToString());
- list1.Add(frm.UltraGrid4.ActiveRow.Cells["AUTO_CRAFT"].Value.ToString());
- list1.Add(msc);
- list1.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());
- ArrayList list2 = new ArrayList();
- ArrayList list3 = new ArrayList();
- foreach (UltraGridRow row in frm.UltraGrid5.Rows)
- {
- string strDeleteFlag = "";
- string cic = row.GetValue("CIC");
- string pic = row.GetValue("PIC");
- string dic = row.GetValue("DIC");
- string sic = row.GetValue("SIC");
- string wic = row.GetValue("WIC");
- string gic = row.GetValue("GIC");
- string processCode = row.Cells["PROCESS_CODE"].Value.ToString();
- if (row.Cells["CHK"].Value.ToString() == "False")
- {
- strDeleteFlag = "DELETE";
- }
- else
- {
- if (frm._dicMscStation.ContainsKey(processCode))
- {
- UltraGrid ultraGridSta2 = frm._dicMscStation[processCode];
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403201" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- cic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403202" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- pic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403203" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- sic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403204" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- dic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403205" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- wic = "";
- }
- if (ultraGridSta2.Rows.Where(a => a.GetValue("STATION_TYPE_CODE") == "403208" && a.GetValue("UCCHOOSE") == "True").Count() == 0)
- {
- gic = "";
- }
- }
- }
- //string MaxMscProBkLog_seq = QueryMaxMscProBkLog_seq(frm, strMaxMscPline);
- ArrayList listProcess = new ArrayList();
- listProcess.Add(strDeleteFlag);
- listProcess.Add(msc);
- listProcess.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());
- listProcess.Add(row.Cells["BACKLOG_SEQ"].Value.ToString());
- listProcess.Add(frm.UserInfo.GetUserName());
- listProcess.Add(row.Cells["PROCESS_CODE"].Value.ToString());
- listProcess.Add(row.Cells["PROCESS_DESC"].Value.ToString());
- listProcess.Add(row.Cells["MINUTE_PRODUCT"].Value.ToString());
- listProcess.Add(row.Cells["MINUTE_WAITE"].Value.ToString());
- listProcess.AddRange(row.GetValue("BATCH_WAITE"), row.GetValue("MINUTE_PRODUCT_OUT"),
- row.GetValue("MINUTE_WAITE_OUT"), row.GetValue("BATCH_WAITE_OUT"));
- listProcess.Add(row.Cells["COST"].Value.ToString());
- listProcess.Add(cic);
- listProcess.Add(pic);
- listProcess.Add(sic);
- listProcess.Add(dic);
- listProcess.Add(wic);
- listProcess.Add(gic);
- listProcess.Add(row.Cells["MEMO"].Value.ToString());
- listProcess.Add(row.GetValue("PROCESS_CODE_C"));
- listProcess.Add(row.GetText("PROCESS_CODE_C"));
- listProcess.Add(row.GetValue("ICOUNT"));
- listProcess.Add(row.GetValue("PROCESS_FILE"));
- list2.Add(listProcess);
- if (frm._dicMscStation.ContainsKey(processCode) == false) continue;
- UltraGrid ultraGridSta = frm._dicMscStation[processCode];
- foreach (UltraGridRow rowSta in ultraGridSta.Rows)
- {
- //如果工序选择的二级工序和工序点选择的不一致,则不对工序点进行保存,只保存工序。
- if (rowSta.GetValue("PROCESS_CODE_C") != row.GetValue("PROCESS_CODE_C"))
- {
- continue;
- }
- ArrayList listSub = new ArrayList();
- string strDeleteFlag2 = "";
- if (rowSta.Cells["UCCHOOSE"].Value.ToString() == "False")
- {
- strDeleteFlag2 = "DELETE";
- }
- listSub.Add(strDeleteFlag2);//0
- listSub.Add(msc);//最终保存的时候赋值。1
- listSub.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());//2
- listSub.Add(rowSta.Cells["BACKLOG_SEQ"].Value.ToString());//3
- listSub.Add(rowSta.Cells["PROCESS_CODE"].Value.ToString());//4
- listSub.Add(rowSta.Cells["PROCESS_DESC"].Value.ToString());//5
- listSub.Add(rowSta.Cells["STATION_CODE"].Value.ToString());//6
- listSub.Add(rowSta.Cells["STATION_DESC"].Value.ToString());//7
- listSub.Add(rowSta.Cells["STATION_TYPE_CODE"].Value.ToString());//8
- listSub.Add(rowSta.Cells["STATION_ID"].Value.ToString());//9
- listSub.Add(rowSta.Cells["COST"].Value.ToString());//10
- listSub.Add(rowSta.Cells["CHOOSE"].Value.ToString() == "True" ? "1" : "0");//11
- listSub.Add(rowSta.Cells["RETURN_RESULT"].Value.ToString() == "True" ? "1" : "0");//12
- listSub.Add(rowSta.Cells["SEND_CHECKPLAN"].Value.ToString() == "True" ? "1" : "0");//13
- listSub.Add(frm.UserInfo.GetUserName());//14
- listSub.Add(rowSta.Cells["PROCESS_SEQ"].Value.ToString());//15
- listSub.Add(rowSta.Cells["MEMO"].Value.ToString());//16
- listSub.Add(rowSta.GetValue("PROCESS_CODE_C"));
- listSub.Add(rowSta.GetValue("PROCESS_DESC_C"));
- list3.Add(listSub);
- }
- }
- try
- {
- ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.updateMscBackLog",
- new object[] { list1, list2, list3, frm.OrdLnPk }, frm.ob);
- }
- catch
- {
- return false;
- }
- MessageUtil.ShowTips("修改成功!");
- return true;
- }
- private static string GetMaxMscPline(FrmProPSCMSC2 frm)
- {
- string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
- if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
- }
- else
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
- }
- ArrayList list = new ArrayList();
- list.Add(msc);
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryMaxMscBackLogPline",
- new object[] { list }, frm.ob);
- if (dt != null)
- {
- return dt.Rows[0][0].ToString();
- }
- return "";
- }
- private static string[] GetWhole_BackLog(FrmProPSCMSC2 frm)
- {
- string[] strWhole_BackLogs = new string[] { "", "" };
- int i = 0;
- foreach (UltraGridRow row in frm.UltraGrid5.Rows)
- {
- if (row.Cells["CHK"].Value.ToString() == "True")
- {
- if (i == 0)
- {
- strWhole_BackLogs[0] += row.Cells["PROCESS_CODE"].Value.ToString();
- strWhole_BackLogs[1] += row.GetValue("PROCESS_DESC") + "【" + row.GetText("PROCESS_CODE_C") + "】";
- }
- else
- {
- strWhole_BackLogs[0] += "-" + row.Cells["PROCESS_CODE"].Value.ToString();
- strWhole_BackLogs[1] += "-" + row.GetValue("PROCESS_DESC") + "【" + row.GetText("PROCESS_CODE_C") + "】";
- }
- i++;
- }
- }
- return strWhole_BackLogs;
- }
- private static string QueryMaxMscProBkLog_seq(FrmProPSCMSC2 frm, string strMaxMscPline)
- {
- string msc = "";//如果选择的是接箍,那么msc字段保存接箍码。否则保存msc。
- if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
- }
- else
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
- }
- ArrayList list = new ArrayList();
- list.Add(msc);
- list.Add(strMaxMscPline);
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryMaxMscProBkLog_seq",
- new object[] { list }, frm.ob);
- if (dt != null)
- {
- return dt.Rows[0][0].ToString();
- }
- return "";
- }
- public static bool Delete(FrmProPSCMSC2 frm)
- {
- string msc = frm.UltraGrid4.ActiveRow.Cells["MSC"].Value.ToString();
- string mscPline = frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString();
- //if (IsExistProcess(frm, msc, mscPline))
- //{
- // MessageUtil.ShowWarning("请先作废制程下面的工序,然后再进行操作!");
- // return false;
- //}
- //if (IsExistGrade(frm, msc, mscPline))
- //{
- // MessageUtil.ShowWarning("请先作废制程下面的钢种,然后再进行操作!");
- // return false;
- //}
- return DeleteOrResume(frm, "0");
- }
- public static bool Resume(FrmProPSCMSC2 frm)
- {
- return DeleteOrResume(frm, "1");
- }
- private static bool DeleteOrResume(FrmProPSCMSC2 frm, string validFlag)
- {
- string strAction = validFlag == "1" ? "Resume" : "Delete";
- if (CheckData(frm, strAction) == false) return false;
- if (MessageUtil.ShowYesNoAndQuestion("是否" + (validFlag == "1" ? "恢复" : "作废") + "所选择的记录?")
- == DialogResult.No)
- {
- return false;
- }
- ArrayList list = new ArrayList();
- list.Add(validFlag);
- list.Add(frm.UltraGrid4.ActiveRow.Cells["MSC"].Value.ToString());
- list.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());
- list.Add(frm.UserInfo.GetUserName());
- try
- {
- ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.deleteOrResumeMscBackLog",
- new object[] { list }, frm.ob);
- }
- catch
- {
- return false;
- }
- MessageUtil.ShowTips(validFlag == "1" ? "恢复" : "作废" + "成功!");
- return true;
- }
- private static bool IsExistProcess(FrmProPSCMSC2 frm, string msc, string mscPline)
- {
- ArrayList list = new ArrayList();
- list.AddRange(msc, mscPline);
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.isExistProcess",
- new object[] { list }, frm.ob);
- if (dt.Rows[0][0].ToString() != "0")
- {
- return true;
- }
- return false;
- }
- private static bool IsExistGrade(FrmProPSCMSC2 frm, string msc, string mscPline)
- {
- ArrayList list = new ArrayList();
- list.AddRange(msc, mscPline);
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.isExistGrade",
- new object[] { list }, frm.ob);
- if (dt.Rows[0][0].ToString() != "0")
- {
- return true;
- }
- return false;
- }
- private static DataTable GetMscTabByMsc(string msc, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getComMscByMsc",
- new object[] { msc }, ob);
- return dt;
- }
- private static bool CheckData(FrmProPSCMSC2 frm, string strAction)
- {
- UltraGridRow[] rows = GridHelper.GetRowsWithKey(frm.UltraGrid5,
- new string[] { "CHK" }, new string[] { "True" });
- if (frm.ControlMsc.GridMsc.ActiveRow == null)
- {
- MessageUtil.ShowWarning("选择一条冶金规范码后再进行操作!");
- frm.ultraTabControl1.Tabs["MSC"].Selected = true;
- return false;
- }
- else if (frm.ControlMsc.MscRow.Cells["MSC"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("请先新增冶金规范码后再进行操作!");
- frm.ultraTabControl1.Tabs["MSC"].Selected = true;
- return false;
- }
- string msc = frm.ControlMsc.MscRow.Cells["MSC"].Value.ToString();
- if (strAction == "Insert")
- {
- if (isExistBackLog(msc, "1", GetWhole_BackLog(frm)[1], frm) == true)
- {
- MessageUtil.ShowWarning("系统已存在相同的制程!");
- return false;
- }
- }
- if ((strAction == "Update" || strAction == "Delete" || strAction == "Resume") && frm.UltraGrid4.ActiveRow == null)
- {
- MessageUtil.ShowWarning("选择一条制程后再进行操作!");
- return false;
- }
- DataTable dtMsc = GetMscTabByMsc(msc, frm.ob);
- //if (dtMsc.Rows[0]["UNIT_CODE"].ToString() != CoreUserInfo.UserInfo.GetDeptid()
- // && CoreUserInfo.UserInfo.GetUserID() != "admin" && frm._dicMscStation.Count > 0)
- //{
- // MessageUtil.ShowWarning("该条记录对应的冶金规范是[" + dtMsc.Rows[0]["UNIT_DESC"].ToString() + "]科室维护的,您没有权限!");
- // return false;
- //}
- if (strAction == "Update")
- {
- if (isExistBackLog(msc, frm.UltraGrid4.ActiveRow.GetValue("MSC_PLINE"),
- GetWhole_BackLog(frm)[1], frm) == true)
- {
- MessageUtil.ShowWarning("系统已存在相同的制程!");
- return false;
- }
- }
- //if (strAction == "Insert" || strAction == "Update")
- //{
- // string mscPline = frm.UltraGrid4.ActiveRow == null ? "" : frm.UltraGrid4.ActiveRow.GetValue("MSC_PLINE");
- // string backLogDesc = GetWhole_BackLog(frm)[1];
- // if(GetBackLogDescCnt(msc, backLogDesc, strAction,
- // "", frm.ob) > 0)
- // {
- // MessageUtil.ShowWarning("系统已存在该全程途径描述!");
- // return false;
- // }
- //}
- if (strAction == "Update")
- {
- DataTable comMscBackLog = QueryComMscBacklogByPk(frm.UltraGrid4.ActiveRow.GetValue("MSC"),
- frm.UltraGrid4.ActiveRow.GetValue("MSC_PLINE"), frm);
- if (comMscBackLog.Rows[0]["VALIDFLAG"].ToString2() != "1")
- {
- MessageUtil.ShowWarning("只能修改录入状态的制程!");
- return false;
- }
- //if (GetDesignBomCnt(msc, frm.UltraGrid4.ActiveRow.GetValue("MSC_PLINE"), frm.ob) > 0)
- //{
- // MessageUtil.ShowWarning("该制程已生成物料信息,不允许修改!");
- // return false;
- //}
- }
- if (strAction == "Delete" && frm.UltraGrid4.ActiveRow.GetValue("VALIDFLAG") != "1")
- {
- MessageUtil.ShowWarning("只能作废录入状态的制程!");
- return false;
- }
- if (strAction == "Update" || strAction == "Insert")
- {
- foreach (UltraGridRow row in rows)
- {
- if (row.Cells["MINUTE_PRODUCT"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("自炼生产时间不能为空!");
- row.Cells["MINUTE_PRODUCT"].Activate();
- return false;
- }
- else if (row.Cells["MINUTE_PRODUCT"].Value.ToString().TryParseDecimal() == false)
- {
- MessageUtil.ShowWarning("请输入合法的自炼生产时间!");
- row.Cells["MINUTE_PRODUCT"].Activate();
- return false;
- }
- if (row.Cells["MINUTE_WAITE"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("自炼等待时间不能为空!");
- row.Cells["MINUTE_WAITE"].Activate();
- return false;
- }
- else if (row.Cells["MINUTE_WAITE"].Value.ToString().TryParseDecimal() == false)
- {
- MessageUtil.ShowWarning("请输入合法的自炼等待时间!");
- row.Cells["MINUTE_WAITE"].Activate();
- return false;
- }
- if (row.Cells["BATCH_WAITE"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("自炼批量等待时间不能为空!");
- row.Cells["BATCH_WAITE"].Activate();
- return false;
- }
- else if (row.Cells["BATCH_WAITE"].Value.ToString().TryParseDecimal() == false)
- {
- MessageUtil.ShowWarning("请输入合法的自炼批量等待时间!");
- row.Cells["BATCH_WAITE"].Activate();
- return false;
- }
- if (row.Cells["MINUTE_PRODUCT_OUT"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("外购生产时间不能为空!");
- row.Cells["MINUTE_PRODUCT_OUT"].Activate();
- return false;
- }
- else if (row.Cells["MINUTE_PRODUCT_OUT"].Value.ToString().TryParseDecimal() == false)
- {
- MessageUtil.ShowWarning("请输入合法的外购生产时间!");
- row.Cells["MINUTE_PRODUCT_OUT"].Activate();
- return false;
- }
- if (row.Cells["MINUTE_WAITE_OUT"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("外购等待时间不能为空!");
- row.Cells["MINUTE_WAITE_OUT"].Activate();
- return false;
- }
- else if (row.Cells["MINUTE_WAITE_OUT"].Value.ToString().TryParseDecimal() == false)
- {
- MessageUtil.ShowWarning("请输入合法的外购等待时间!");
- row.Cells["MINUTE_WAITE_OUT"].Activate();
- return false;
- }
- if (row.Cells["BATCH_WAITE_OUT"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("外购批量等待时间不能为空!");
- row.Cells["BATCH_WAITE_OUT"].Activate();
- return false;
- }
- else if (row.Cells["BATCH_WAITE_OUT"].Value.ToString().TryParseDecimal() == false)
- {
- MessageUtil.ShowWarning("请输入合法的外购批量等待时间!");
- row.Cells["BATCH_WAITE_OUT"].Activate();
- return false;
- }
- if (row.Cells["COST"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("工序成本不能为空!");
- row.Cells["COST"].Activate();
- return false;
- }
- if (row.Cells["PROCESS_CODE_C"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("请选择二级工序!");
- row.Cells["PROCESS_CODE_C"].Activate();
- return false;
- }
- if (isExistStation(frm, row) == true)
- {
- if (row.GetValue("PROCESS_SEQ_OLD") != "" && row.GetValue("PROCESS_SEQ_OLD") != row.GetValue("ICOUNT"))
- {
- MessageUtil.ShowWarning("工序[" + row.GetValue("PROCESS_DESC") + "]的循环次数被修改,请重新选择该工序的工序点!");
- row.SetCellActive("BTN");
- return false;
- }
- if (row.GetValue("PROCESS_CODE_C_OLD") != row.GetValue("PROCESS_CODE_C"))
- {
- MessageUtil.ShowWarning("工序[" + row.GetValue("PROCESS_DESC") + "]的二级工序被修改,请重新选择该工序的工序点!");
- row.SetCellActive("BTN");
- return false;
- }
- }
- }
- //检查内控标准维护是否和工序点的类型一致。
- //string processCode = row.Cells["PROCESS_CODE"].Value.ToString();
- //if (frm._dicMscStation.ContainsKey(processCode) == false)
- //{
- // if (CheckStationType2(row, frm, processCode) == false)
- // {
- // return false;
- // }
- //}
- //else
- //{
- // UltraGrid ultraGridSta = frm._dicMscStation[processCode];
- // if (CheckStationType(row, ultraGridSta) == false)
- // {
- // return false;
- // }
- //}
- }
- return true;
- }
- private static int GetBackLogDescCnt(string msc, string backLogDesc, string strAction, string mscPline, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getBackLogDescCnt",
- new object[] { backLogDesc, msc, strAction, mscPline }, ob);
- return int.Parse(dt.Rows[0][0].ToString());
- }
- private static int GetDesignBomCnt(string msc, string mscPline, OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getDesignBomCnt",
- new object[] { msc, mscPline }, ob);
- return int.Parse(dt.Rows[0][0].ToString());
- }
- private static bool isExistStation(FrmProPSCMSC2 frm, UltraGridRow row)
- {
- DataTable dt = null;
- ArrayList list = new ArrayList();
- list.Add(row.Cells["PROCESS_CODE"].Value.ToString());
- list.Add(row.GetValue("PROCESS_CODE_C"));
- try
- {
- dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryBaseStation",
- new object[] { list }, frm.ob);
- }
- catch
- {
- return false;
- }
- if (dt.Rows.Count > 0)
- {
- return true;
- }
- return false;
- }
- private static bool CheckStationType(UltraGridRow row, UltraGrid ultraGridSta)
- {
- string[] strCic = row.Cells["CIC"].Value.ToString().Split(',');
- string[] strPic = row.Cells["PIC"].Value.ToString().Split(',');
- string[] strSic = row.Cells["SIC"].Value.ToString().Split(',');
- string[] strDic = row.Cells["DIC"].Value.ToString().Split(',');
- string[] strWic = row.Cells["WIC"].Value.ToString().Split(',');
- if (IsSelectStandPay(ultraGridSta, "403201", "成分标准", strCic) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- else if (IsSelectStandPay(ultraGridSta, "403202", "理化标准", strPic) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- else if (IsSelectStandPay(ultraGridSta, "403203", "公差标准", strSic) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- else if (IsSelectStandPay(ultraGridSta, "403204", "探伤标准", strDic) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- else if (IsSelectStandPay(ultraGridSta, "403205", "水压标准", strWic) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- return true;
- }
- private static bool IsSelectStandPay(UltraGrid ultraGridSta, string typeCode, string typeName, string[] strIc)
- {
- UltraGridRow[] rows = GridHelper.GetRowsWithKey(ultraGridSta,
- new string[] { "UCCHOOSE", "STATION_TYPE_CODE" }, new string[] { "True", typeCode });
- if (rows.Length == 0)
- {
- if (strIc[0] != "" && strIc.Length > 0)
- {
- MessageUtil.ShowWarning(string.Format("由于所选择的工序点类型中,不包含{0}标准,所以不能选择{0}内控标准!", typeName));
- return false;
- }
- }
- else
- {
- if (strIc[0] == "")
- {
- MessageUtil.ShowWarning(string.Format("请选择一条{0}内控标准!", typeName));
- return false;
- }
- }
- return true;
- }
- private static bool CheckStationType2(UltraGridRow row, FrmProPSCMSC2 frm, string processCode)
- {
- string[] strCic = row.Cells["CIC"].Value.ToString().Split(',');
- string[] strPic = row.Cells["PIC"].Value.ToString().Split(',');
- string[] strSic = row.Cells["SIC"].Value.ToString().Split(',');
- string[] strDic = row.Cells["DIC"].Value.ToString().Split(',');
- string[] strWic = row.Cells["WIC"].Value.ToString().Split(',');
- if (IsSelectStandPay(frm, "403201", "成分标准", strCic, processCode) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- else if (IsSelectStandPay(frm, "403202", "理化标准", strPic, processCode) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- else if (IsSelectStandPay(frm, "403203", "公差标准", strSic, processCode) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- else if (IsSelectStandPay(frm, "403204", "探伤标准", strDic, processCode) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- else if (IsSelectStandPay(frm, "403205", "水压标准", strWic, processCode) == false)
- {
- row.Cells["BTN2"].Activate();
- return false;
- }
- return true;
- }
- private static bool IsSelectStandPay(FrmProPSCMSC2 frm, string typeCode, string typeName, string[] strIc, string processCode)
- {
- string msc = "";
- if (frm.UltraGrid4.ActiveRow == null) return true;
- if (frm.ControlMsc.GridMsc.ActiveRow.ChildBands != null)
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["MSC"].Value.ToString();
- }
- else
- {
- msc = frm.ControlMsc.GridMsc.ActiveRow.Cells["KEY_JG"].Value.ToString();
- }
- ArrayList list = new ArrayList();
- list.Add(msc);
- list.Add(frm.UltraGrid4.ActiveRow.Cells["MSC_PLINE"].Value.ToString());
- list.Add(typeCode);
- list.Add(processCode);
- list.Add(typeCode);
- list.Add(processCode);
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.querySttnTypeCnt", new object[] { list }, frm.ob);
- if (dt.Rows[0][0].ToString() == "0")
- {
- if (strIc[0] != "" && strIc.Length > 0)
- {
- MessageUtil.ShowWarning(string.Format("由于所选择的工序点类型中,不包含{0}标准,所以不能选择{0}内控标准!", typeName));
- return false;
- }
- }
- else
- {
- if (strIc[0] == "")
- {
- MessageUtil.ShowWarning(string.Format("请选择一条{0}内控标准!", typeName));
- return false;
- }
- }
- return true;
- }
- public static bool CopyBackLog(string msc, FrmProPSCMSC2 frm, string copyMsc, string mscPline)
- {
- if (frm.ControlMsc.GridMsc.ActiveRow == null)
- {
- MessageUtil.ShowWarning("选择一条冶金规范码后再进行操作!");
- frm.ultraTabControl1.Tabs["MSC"].Selected = true;
- return false;
- }
- else if (frm.ControlMsc.MscRow.Cells["MSC"].Value.ToString() == "")
- {
- MessageUtil.ShowWarning("请先新增冶金规范码后再进行操作!");
- frm.ultraTabControl1.Tabs["MSC"].Selected = true;
- return false;
- }
- if (String.IsNullOrEmpty(mscPline) && ExistBackLog(msc, frm) == true)
- {
- MessageUtil.ShowWarning("该MSC下存在制程,不能使用复制功能!");
- return false;
- }
- else if(!String.IsNullOrEmpty(mscPline)){
- DataTable comMscBackLog = QueryComMscBacklogByPk(msc, mscPline, frm);
- if (comMscBackLog.Rows.Count > 0)
- {
- MessageUtil.ShowWarning("该MSC下 " + mscPline + " 存在制程,不能使用复制功能!");
- return false;
- }
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否复制" + copyMsc + "下 " + mscPline + "制程?") == DialogResult.No)
- {
- return false;
- }
- ServerHelper.SetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.CopyBackLog",
- new object[] { msc, CoreUserInfo.UserInfo.GetUserName(), copyMsc.ToString2(), mscPline.ToString2() }, frm.ob);
- MessageUtil.ShowTips("复制成功!\r\n复制的数据为无效状态,请核实后再进行恢复操作!");
- Query(frm);
- return true;
- }
- private static bool ExistBackLog(string msc, FrmProPSCMSC2 frm)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryExistBackLog",
- new object[] { msc }, frm.ob);
- if (dt.Rows.Count > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- private static DataTable QueryComMscBacklogByPk(string msc, string mscPline, FrmProPSCMSC2 frm)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryComMscBacklogByPk",
- new object[] { msc, mscPline }, frm.ob);
- return dt;
- }
- /// <summary>
- /// 通过主键查询二级工序
- /// </summary>
- /// <param name="processCodeC"></param>
- /// <param name="frm"></param>
- /// <returns></returns>
- public static DataTable QueryComBaseProcessCByPk(string processCodeC, FrmProPSCMSC2 frm)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.queryComBaseProcessCByPk",
- new object[] { processCodeC }, frm.ob);
- return dt;
- }
- /// <summary>
- /// 是否存在全程途径码
- /// </summary>
- /// <param name="msc"></param>
- /// <param name="mscPline"></param>
- /// <param name="frm"></param>
- /// <returns></returns>
- public static bool isExistBackLog(string msc, string mscPline, string wholeBacklogDesc, FrmProPSCMSC2 frm)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.isExistsBackLog",
- new object[] { msc, mscPline, wholeBacklogDesc }, frm.ob);
- if (dt.Rows[0][0].ToString() == "0")
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- }
- }
|