示例#1
0
        ///  查询站台信息
        /// </summary>
        /// <returns></returns>
        public PsbLoc[] GetEquipData(string LOCTypeNo)
        {
            IList <PsbLoc> lists = new List <PsbLoc>();
            var            Equip = TableViewServiceFactory.CreateInstance <IPsbLocService>();
            var            lst   = Equip.GetEntityList(new PsbLoc {
                LocTypeNo = LOCTypeNo
            });

            foreach (var psbLocData in lst)
            {
                if (psbLocData.LocGroupNo != null)
                {
                    lists.Add(psbLocData);
                }
            }
            PsbLoc[] psbLoc = new PsbLoc[lists.Count];
            int      i      = 0;

            foreach (var list in lists)
            {
                psbLoc[i] = list;
                i++;
            }
            return(psbLoc);
        }
示例#2
0
        /// <summary>
        ///  查询站台号
        /// </summary>
        /// <returns></returns>
        public PsbLoc GetLocNo(string LocName)
        {
            var tdate = TableViewServiceFactory.CreateInstance <IPsbLocService>();

            var where = new PsbLoc()
            {
                LocNo = LocName
            };
            return(tdate.GetEntityList(where).FirstOrDefault());
        }
示例#3
0
        /// <summary>
        ///  查询站台号
        /// </summary>
        /// <returns></returns>
        public PsbLoc GetPalletType(string locNo)
        {
            var tdate = TableViewServiceFactory.CreateInstance <IPsbLocService>();

            var where = new PsbLoc()
            {
                LocNo = locNo
            };
            return(tdate.GetEntityList(where, "LOC_NO").FirstOrDefault());
        }
示例#4
0
        private bool VerifyBillData(WbsOrder bill, WbsOrderLine[] body)
        {
            var outHeaderService = TableViewServiceFactory.CreateInstance <IWbsOrderService>();

            #region 验证 主表数据
            #region 验证 单据类型
            var kind = bill.OrderTypeNo;
            if (kind == null)
            {
                throw new VerifyException("请选择单据类型,如果没有订单类型,请维护订单类型!");
            }
            #endregion
            #region 验证 异常出库
            var kindInt = bill.OrderTypeNo;
            if (kindInt == "100891" && body.Length > 1)
            {
                throw new VerifyException("异常出库每次建单据只允许一种物料!");
            }
            #endregion
            #endregion
            #region 验证 表体
            foreach (var line in body)
            {
                if (!string.IsNullOrWhiteSpace(line.LimitPalletId))
                {
                    line.LinePriority = line.LinePriority - 1;
                    if (line.LinePriority == 0)
                    {
                        line.LinePriority = 1;
                    }
                }
                if (bill.OrderTypeNo == "100058")
                {//空笼出库
                    line.MaterialNo = "BPALLET";
                }
                else
                {
                    if (!string.IsNullOrWhiteSpace(line.LimitPalletId))
                    {
                        #region 验证 出库物料
                        if (string.IsNullOrWhiteSpace(line.MaterialNo))
                        {
                            throw new VerifyException("行号[" + line.LineId?.ToString("0") + "],请选择出库物料!");
                        }
                        #endregion
                        #region 验证 物料等级
                        if (string.IsNullOrWhiteSpace(line.ProductGrade))
                        {
                            throw new VerifyException("行号[" + line.LineId?.ToString("0") + "],请选择物料等级!");
                        }
                        #endregion
                    }
                }
                #region 验证 单号行号
                if (line.LineId == null)
                {
                    throw new VerifyException("行号[" + line.LineId?.ToString("0") + "],请输入单号行号!");
                }
                #endregion
                #region 验证 库位编码是否存在

                var data = TableViewServiceFactory.CreateInstance <IPsbBinStatusService>();
                var eloc = TableViewServiceFactory.CreateInstance <IPsbLocService>();
                if (!string.IsNullOrWhiteSpace(line.LimitBinNo))
                {
                    PsbBinStatus ba = new PsbBinStatus();
                    ba.BinNo = line.LimitBinNo;
                    var listbabin = data.GetEntityTable(ba);
                    if (listbabin.Rows.Count == 0)
                    {
                        throw new VerifyException("开始库位[" + line.LimitBinNo + "],的库位编码不存在!");
                    }
                }
                if (!string.IsNullOrWhiteSpace(line.ElocNo))
                {
                    PsbLoc bat = new PsbLoc();
                    bat.LocNo = line.ElocNo;
                    var listbabint = eloc.GetEntityTable(bat);
                    if (listbabint.Rows.Count == 0)
                    {
                        throw new VerifyException("目的站台[" + line.ElocNo + "],的库位编码不存在!");
                    }
                }
                #endregion
                #region 验证 工装编码

                if (!string.IsNullOrWhiteSpace(line.LimitPalletId))
                {
                    var Padata = TableViewServiceFactory.CreateInstance <IPsbPalletService>();
                    var pallet = new PsbPallet();
                    pallet.PalletNo = line.LimitPalletId;
                    if (Padata.GetRowCount(pallet) == 0)
                    {
                        throw new VerifyException("工装编码[" + line.LimitPalletId + "],不存在或者无效!");
                    }
                }
                #endregion
                #region 验证 单据数量
                if (line.RequireQty == null || line.RequireQty <= 0)
                {
                    throw new VerifyException("行号[" + line.LineId?.ToString("0") + "],请输入单据数量且为非零正整数!");
                }
                #endregion
            }
            #endregion
            return(true);
        }