Ejemplo n.º 1
0
 /// <summary>
 /// 保存此条码工序
 /// </summary>
 /// <param name="ErrMessage">异常信息</param>
 /// <param name="_BarCode">条码</param>
 /// <returns></returns>
 public bool SaveProcessFlow(string _BarCode, ObservableCollection <Maticsoft.Model.e_ProcessFlow> _ProcessFlow)
 {
     try
     {
         Maticsoft.BLL.e_ProcessFlow MprocessFlow = new Maticsoft.BLL.e_ProcessFlow();
         ObservableCollection <Maticsoft.Model.e_ProcessFlow> _TemProcessFlow = new ObservableCollection <Maticsoft.Model.e_ProcessFlow>(_ProcessFlow);
         foreach (Maticsoft.Model.e_ProcessFlow tem in _TemProcessFlow)
         {
             tem.BarCode = _BarCode;
             MprocessFlow.Add(tem);
         }
         return(true);
     }
     catch { return(false); }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 验证工序是否可以保存
        /// </summary>
        /// <param name="Barcode">条码</param>
        /// <param name="_ProcessFlow">待保存的工序信息</param>
        /// <param name="_MaxProcessOrder">已保存的最大工序的顺序编号</param>
        /// <param name="IsBelong">该工序是否属于此条码</param>
        /// <param name="IsYetSave">是否已经保存过此工序</param>
        /// <param name="IsUpProcessSave">上工序是否已经完成</param>
        /// <param name="IsBarcodeNull">条码是否为空</param>
        /// <returns></returns>
        public void VerifyBarcode(string Barcode, Maticsoft.Model.e_ProcessFlow _ProcessFlow, int _MaxProcessOrder, out bool IsBelong, out bool IsYetSave, out bool IsUpProcessSave, out bool IsBarcodeNull)
        {
            /*1.根据条码获取工单
             * 2.根据工单获取图纸编号
             * 3.根据图纸编号获取工序列表
             * 4.验证 此工序是否属于该工单
             * 5.验证 此工序的上工序是否已经完成
             * 6.验证 此工序是否已经做过 目前设定(如果做过忽略警告,正常保存)
             */
            Maticsoft.BLL.SerialNumber  MserialNumber = new Maticsoft.BLL.SerialNumber();
            Maticsoft.BLL.e_Flow        Mflow         = new Maticsoft.BLL.e_Flow();
            Maticsoft.BLL.e_WorkOrder   MworkOrder    = new Maticsoft.BLL.e_WorkOrder();
            Maticsoft.BLL.e_ProcessFlow MprocessFlow  = new Maticsoft.BLL.e_ProcessFlow();

            Maticsoft.Model.SerialNumber SerialNumber = MserialNumber.GetModel(Barcode); //条码
            if (SerialNumber != null)
            {
                Maticsoft.Model.e_WorkOrder WorkOrder = MworkOrder.GetModel(SerialNumber.OrderID); //工单

                //根据条码获取的工单中对应的图纸编号 获取该编号所有的工序
                List <Maticsoft.Model.e_Flow> flowList = Mflow.GetModelList("DrawNum = '" + WorkOrder.DrawNum + "'").ToList();

                IsBelong = false;
                foreach (Maticsoft.Model.e_Flow tem in flowList)
                {
                    if (tem.ProcessNum == _ProcessFlow.ProNum)
                    {
                        IsBelong = true;
                    }                                                                                  //该工序是否存在
                }
                IsYetSave       = (int.Parse(_ProcessFlow.R1) == _MaxProcessOrder ? true : false);     //是否已经保存此工序
                IsUpProcessSave = (int.Parse(_ProcessFlow.R1) - 1 == _MaxProcessOrder ? true : false); //上工序是否已完成
                IsBarcodeNull   = true;
            }
            else
            {
                IsBarcodeNull   = false;
                IsYetSave       = true;
                IsBelong        = true;
                IsUpProcessSave = true;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取已经完成的工序列表
        /// </summary>
        /// <param name="Barcode">条码</param>
        /// <param name="MaxProcessOrder">最大的工序序列号</param>
        /// <param name="YetOverFlowCount">已完成的工序总数量</param>
        /// <param name="eFlowList">已完成工序列表</param>
        public void Get_Bar_YetOverFlow(string Barcode, out int MaxProcessOrder, out int YetOverFlowCount, ref ObservableCollection <Maticsoft.Model.e_ProcessFlow> _Yet_ProcessFlow)
        {
            _Yet_ProcessFlow.Clear();
            YetOverFlowCount = 0;
            MaxProcessOrder  = 0;
            //获取已经完成的工序并根据工序的顺序号  排序
            Maticsoft.BLL.e_ProcessFlow MprocessFlow = new Maticsoft.BLL.e_ProcessFlow();
            ObservableCollection <Maticsoft.Model.e_ProcessFlow> TemFlowList = new ObservableCollection <Maticsoft.Model.e_ProcessFlow>(MprocessFlow.GetModelList("BarCode = '" + Barcode + "'"));

            TemFlowList.OrderBy(x => x.R1);
            //对已经完成的工序列表进行处理,得到最大工序号和获取已经完成了多少道工序
            string temFlowNum = "";

            foreach (Maticsoft.Model.e_ProcessFlow tem in TemFlowList)
            {
                YetOverFlowCount = ((tem.ProNum == temFlowNum) ? YetOverFlowCount : YetOverFlowCount++);          //计算此条码已经做了多少道工序
                temFlowNum       = tem.ProNum;                                                                    //将工序编号存储在此变量中,以备和下一个工序编号进行比较
                MaxProcessOrder  = ((int.Parse(tem.R1) < MaxProcessOrder) ? MaxProcessOrder : int.Parse(tem.R1)); //获取最大工序序列号
                _Yet_ProcessFlow.Add(tem);
            }
        }