Exemple #1
0
        private static Boolean SetWorkProcessInfo(string billNo)
        {
            Boolean     ret         = false;
            ProduceData produceData = LibProduceCache.Default.GetProduceData(billNo);

            if (produceData != null)
            {
                foreach (DataRow curRow in produceData.WorkOrder.Tables[3].Rows)
                {
                    ret = true;
                    DataRow parentRow = produceData.WorkOrder.Tables[2].Rows.Find(new object[] { curRow["BILLNO"], curRow["PARENTROWID"] });
                    if (!LibSysUtils.ToBoolean(parentRow["NEEDGATHER"]))
                    {
                        continue;
                    }
                    string workstationId = LibSysUtils.ToString(curRow["WORKSTATIONID"]);
                    if (!_ProductScheduling.WsRelWorkOrder.ContainsKey(workstationId))
                    {
                        _ProductScheduling.WsRelWorkOrder.Add(workstationId, new List <string>()
                        {
                            billNo
                        });
                    }
                    if (!_ProductScheduling.WsRelWorkOrder[workstationId].Contains(billNo))
                    {
                        _ProductScheduling.WsRelWorkOrder[workstationId].Add(billNo);
                    }
                    if (produceData.FirstWorkProcessNo.Contains(LibSysUtils.ToInt32(parentRow["WORKPROCESSNO"])) && !_ProductScheduling.FirstWs.Contains(workstationId))
                    {
                        _ProductScheduling.FirstWs.Add(workstationId);
                    }
                }
            }
            return(ret);
        }
Exemple #2
0
        /// <summary>
        /// 将object格式化成字节数组byte[]
        /// </summary>
        /// <param name="billNo">单据编号</param>
        /// <returns>字节数组</returns>

        public ProduceData GetProduceData(string billNo)
        {
            ProduceData produceData = null;
            string      json        = this.StringGet(billNo);

            if (!string.IsNullOrEmpty((json)))
            {
                produceData = JsonUtiler.Deserialize <ProduceData>(json);
            }
            if (produceData == null)
            {
                object lockItem = lockObjDic.GetOrAdd(billNo, new object());
                lock (lockItem)
                {
                    json = this.StringGet(billNo);
                    if (!string.IsNullOrEmpty((json)))
                    {
                        produceData = JsonUtiler.Deserialize <ProduceData>(json);
                    }
                    //  produceData = this.Get< ProduceData>(billNo)  ;
                    if (produceData == null)
                    {
                        //CacheItemPolicy policy = new CacheItemPolicy();
                        //policy.SlidingExpiration = new TimeSpan(0, 60, 0); //60分钟内不访问自动剔除
                        LibBcfData ppWorkOrderBcf = (LibBcfData)LibBcfSystem.Default.GetBcfInstance("pp.WorkOrder");
                        DataSet    ds             = ppWorkOrderBcf.BrowseTo(new object[] { billNo });
                        produceData = new ProduceData(ds);
                        this.Set(billNo, produceData, new TimeSpan(0, 720, 0));

                        //   byte[] binaryDataResult = GetBinaryFormatData(produceData);
                        //   Default.StringSetBytes(billNo, binaryDataResult, new TimeSpan(0, 30, 0));
                    }
                }
            }
            return(produceData);
        }