private void ModifNCtask(MES_DISPATCH node)//修改已有工单 { for (int ii = 0; ii < TaskDb.Rows.Count; ii++) { if (TaskDb.Rows[ii][(int)NodeName.派工单号].ToString() == node.DISPATCH_CODE) { switch (node.FLAG) { case 2: //修改 TaskDb.Rows[ii][(int)NodeName.生产数量] = node.QTY; break; case 3: //删除 if (TaskDb.Rows[ii][(int)NodeName.工单状态].ToString() == "3") //正在加工的工单 { if (TaskDb.Rows[ii][(int)NodeName.操作标示].ToString() != "4") //非尾单 强制切单 { if (nowTaskNode != null && TaskDb.Rows.Count > (int.Parse(nowTaskNode[(int)NodeName.编号].ToString()) + 1)) { nowTaskNode = TaskDb.Rows[ii + 1]; nowTaskNode[(int)NodeName.操作标示] = "3"; } } } TaskDb.Rows[ii][(int)NodeName.工单状态] = "-1"; break; default: break; } } } }
public void AddMCTask(MES_DISPATCH node) { switch (node.FLAG) { case 1: //新增 case 4: //尾单 if (nowTaskNode == null && TaskDb.Rows.Count > 0 && TaskDb.Rows[TaskDb.Rows.Count - 1][(int)NodeName.工单状态].ToString() == "4") { NCTaskInser2DB(node, "3"); } else { NCTaskInser2DB(node, "0"); } AutoSaveData2Xml_Flag = true; SaveData2Xml_threaFucEvent.Set(); break; case 2: //修改 case 3: //删除 ModifNCtask(node); NCTaskInser2DB(node, "-1"); AutoSaveData2Xml_Flag = true; SaveData2Xml_threaFucEvent.Set(); break; default: break; } }
private void NCTaskInser2DB(MES_DISPATCH node, String Stated)//将派工单添加到TaskDb { if (TaskDb.Rows.Count >= TaskManCount) { if (TaskDb.Rows[0][(int)NodeName.工单状态].ToString() == "3") { for (int ii = 1; ii < TaskDb.Rows.Count; ii++) { if (TaskDb.Rows[ii][(int)NodeName.工单状态].ToString() != "-1") { TaskDb.Rows[ii][(int)NodeName.工单状态] = "3"; break; } } } TaskDb.Rows.RemoveAt(0); } for (int ii = 0; ii < TaskDb.Rows.Count; ii++) { TaskDb.Rows[ii][(int)NodeName.编号] = ii; } string[] array = new string[TaskDb.Columns.Count]; array[(int)NodeName.编号] = TaskDb.Rows.Count.ToString(); array[(int)NodeName.机台编号] = node.EQUIP_CODE; array[(int)NodeName.派工单号] = node.DISPATCH_CODE; array[(int)NodeName.物料编码] = node.MATERIAL_CODE; array[(int)NodeName.生产数量] = node.QTY.ToString(); array[(int)NodeName.计划开始时间] = node.PLAN_START_DATE.ToString(); array[(int)NodeName.计划完成时间] = node.PLAN_END_DATE.ToString(); array[(int)NodeName.NC编号] = node.NC_ID; array[(int)NodeName.NC版本号] = node.NC_VER; array[(int)NodeName.作业指导号] = node.OP_DOC; array[(int)NodeName.作业指导版本号] = node.OP_DOC_VER; array[(int)NodeName.线体] = node.LINE; array[(int)NodeName.工序编码] = node.OP_CODE; array[(int)NodeName.生产订单] = node.ORDER_CODE; array[(int)NodeName.操作标示] = node.FLAG.ToString(); array[(int)NodeName.SN] = node.SN.ToString(); array[(int)NodeName.时间戳] = node.MARK_TIME.ToString(); array[(int)NodeName.日期] = node.MARK_DATE; array[(int)NodeName.NC文件路径] = node.NC_PATH; array[(int)NodeName.NC作业指导书路径] = node.OP_DOC_PATH; array[(int)NodeName.报工数量] = "0"; array[(int)NodeName.工单状态] = Stated; array[(int)NodeName.short_name] = node.Short_name; TaskDb.Rows.Add(array); }