示例#1
0
        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;
                    }
                }
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
 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);
 }