Example #1
0
        private bool CreateAsnDetail(long id, TInAsnD[] details)
        {
            var o = wms.TInAsns.Where(x => x.Id == id).FirstOrDefault();

            if (o == null)
            {
                return(false);
            }

            o.PieceQty  = details.Sum(x => x.Qty);
            o.CartonQty = details.Where(x => !string.IsNullOrEmpty(x.Carton)).Distinct().Count();

            foreach (var d in details)
            {
                var n = new TInAsnD
                {
                    HId         = id,
                    Sku         = d.Sku,
                    Barcode     = d.Barcode,
                    Qty         = d.Qty,
                    IsDeleted   = false,
                    CreatedBy   = DefaultUser.UserName,
                    CreatedTime = DateTime.UtcNow,
                };
                wms.TInAsnDs.Add(n);
            }

            return(wms.SaveChanges() > 0);
        }
Example #2
0
        private bool DoCheckList(int whId, int custId, int brandId, TInAsnD asnDetail, TProdSku sku)
        {
            //校验asn里面的内容和sku信息是否一致.
            var list = strategyService.CheckList(whId, custId, brandId);

            var p1 = Enum.GetName(typeof(EnumCheckSku), EnumCheckSku.Product);

            if (list.Contains(p1))
            {
                if (asnDetail.ProductCode != sku.ProductCode)
                {
                    throw new Exception("product code is not eqals.");
                }
            }
            return(true);
        }
Example #3
0
        public bool CreateAsnDetailList(long id, VAsnDetailAddForm[] detailList)
        {
            var details = new List <TInAsnD>();

            foreach (var detail in detailList)
            {
                TInAsnD d = new TInAsnD();
                d.HId         = id;
                d.Carton      = detail.Carton;
                d.Sku         = detail.Sku;
                d.Barcode     = detail.Barcode;
                d.Qty         = detail.Qty;
                d.CreatedBy   = DefaultUser.UserName;
                d.CreatedTime = DateTime.UtcNow;
                details.Add(d);
            }
            return(this.CreateAsnDetail(id, details.ToArray()));
        }
Example #4
0
        public bool CreateFull(VAsnDetails vAsn)
        {
            var o = new TInAsn
            {
                Code        = DateTime.Now.ToString(FormatString.DefaultFormat),
                RefCode     = DateTime.Now.ToString(FormatString.DefaultFormat),
                WhId        = vAsn.Asn.WhId,
                CustId      = vAsn.Asn.CustId,
                BrandId     = vAsn.Asn.BrandId,
                BatchNo     = vAsn.Asn.BatchNo ?? DateTime.Now.ToString("yyyyMMdd"),
                BizCode     = vAsn.Asn.BizCode,
                GoodsType   = vAsn.Asn.GoodsType,
                TypeCode    = "Asn",
                TransCode   = "Inbound",
                SrcCode     = "Interface",
                IsCiq       = false,
                Status      = "None",
                CheckStatus = "None",
                IsDeleted   = false,
                CreatedBy   = "rickli",
                CreatedTime = DateTime.UtcNow
            };
            var ds = new List <TInAsnD>();


            foreach (var d in vAsn.AsnDs)
            {
                var n = new TInAsnD
                {
                    Sku         = d.Sku,
                    Barcode     = d.Barcode,
                    Qty         = d.Qty,
                    IsDeleted   = false,
                    CreatedBy   = "rickli",
                    CreatedTime = DateTime.UtcNow,
                };
                ds.Add(n);
                o.DetailList.Add(n);
            }

            wms.TInAsns.Add(o);

            return(wms.SaveChanges() > 0);
        }
Example #5
0
        public bool Upload(IFormFile file, long id, string code)
        {
            ioService.basePath = this.Root;
            //保存文件
            DataTable dataTable = ioService.Import(file, "ASN", code);

            var details = new List <TInAsnD>();

            //写入到数据库
            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                TInAsnD d = new TInAsnD();
                d.HId         = id;
                d.Barcode     = dataTable.Rows[i]["barcode"].ToString();
                d.Sku         = dataTable.Rows[i]["sku"].ToString();
                d.Qty         = Convert.ToInt32(dataTable.Rows[i]["qty"].ToString());
                d.CreatedBy   = "rickli";
                d.CreatedTime = DateTime.UtcNow;
                details.Add(d);
            }
            return(CreateAsnDetail(id, details.ToArray()));
        }