wxw
3 天以前 3f5f0c666d20a58998a7a7cc4fc3047d86a0f5b3
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -514,7 +514,7 @@
                        CreateTime = a.CreateTime,
                        UpdateTime = a.UpdateTime
                    }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.BoxNo).ToOffsetPage(model.Page, model.Limit, ref total);
                    }).OrderByDescending(a => a.ASNNo).OrderBy(a => a.BoxNo).ToOffsetPage(model.Page, model.Limit, ref total);
                count = total;
                return data;
            }
@@ -534,8 +534,17 @@
                {
                    throw new Exception("未查询到单据明细信息,请核实");
                }
                var skuInfo = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == asnDetail.SkuNo);
                if (skuInfo == null)
                {
                    throw new Exception("未查询到物料信息,请核实");
                }
                if (string.IsNullOrEmpty(skuInfo.PackagNo))
                {
                    throw new Exception("未查询到物料的包装信息,请核实");
                }
                var packInfo = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == asnDetail.PackagNo);
                var packInfo = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo);
                if (packInfo == null)
                {
                    throw new Exception("未查询到单据明细中的物料包装信息");
@@ -597,17 +606,31 @@
                {
                    throw new Exception("单据数量不能小于等于0");
                }
                if (string.IsNullOrWhiteSpace(asnList.LotNo))
                //if (string.IsNullOrWhiteSpace(asnList.LotNo))
                //{
                //    throw new Exception("单据批次号不能为空");
                //}
                if (string.IsNullOrWhiteSpace(asnList.BoxCodeStr))
                {
                    throw new Exception("单据批次号不能为空");
                    throw new Exception("单据箱码常值不能为空");
                }
                var asn = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == asnList.ASNNo && m.IsDel == "0");
                if (asn == null)
                {
                    throw new Exception("未查询到单据信息");
                }
                var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == asnList.PackagNo);
                //包装编码
                var packagNo = asnList.PackagNo;
                if (string.IsNullOrEmpty(packagNo))
                {
                    var skuInfo = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == asnList.SkuNo);
                    if (skuInfo == null)
                    {
                        throw new Exception("未查询到物料信息");
                    }
                    packagNo = skuInfo.PackagNo;
                }
                var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == packagNo);
                if (pack == null)
                {
                    throw new Exception("未查询到当前单据中物料的包装信息");
@@ -723,9 +746,16 @@
                    string maxLotNoStr = ""; //批次号
                    string maxBoxCode = ""; //箱码号
                    maxLotNoStr = asnList.LotNo;
                    maxBoxCode = label.Where(m => m.LotNo == maxLotNoStr).Max(a => a.BoxNo);
                    maxLotNoStr = asnList.BoxCodeStr;//asnList.LotNo;
                    if (string.IsNullOrEmpty(asnList.LotNo))
                    {
                        maxBoxCode = label.Where(m => m.ASNDetailNo == asnList.Id).Max(a => a.BoxNo);
                    }
                    else
                    {
                        maxBoxCode = label.Where(m => m.LotNo == maxLotNoStr).Max(a => a.BoxNo);
                    }
                    #endregion
                    for (int i = 1; i <= labelNum; i++)
@@ -760,7 +790,6 @@
                            maxBoxCode = maxBoxCode.Substring(0, maxBoxCode.Length-6) + (int.Parse(maxBoxCode.Substring(maxBoxCode.Length - 6, 6)) + 1).ToString().PadLeft(6, '0');
                        }
                        DateTime? storeTime2 = null;
                        // 将条码保存到原料条码表
                        var labelModel = new BllBoxInfo()
                        {
@@ -772,7 +801,7 @@
                            Status = "0",
                            SkuNo = asnList.SkuNo,
                            SkuName = asnList.SkuName,
                            LotNo = maxLotNoStr,
                            LotNo = asnList.LotNo,//maxLotNoStr,
                            Standard = asnList.Standard,
                            PackageStandard = packStr,
                            SupplierLot = supplierLot,
@@ -780,14 +809,26 @@
                            BitBoxMark = bNum > boxQty ? "1" : "0",
                            InspectStatus = "0",
                            ProductionTime = DateTime.Parse(productionTime),
                            StoreTime = string.IsNullOrWhiteSpace(storeTime) ? storeTime2 : DateTime.Parse(storeTime ),
                            ExpirationTime = DateTime.Parse(expirationTime),
                            ProductionTime = null,
                            StoreTime = null,
                            ExpirationTime = null,
                            Origin = "WMS生成",
                            CreateUser = userId,
                            CreateTime = DateTime.Now,
                        };
                        if (!string.IsNullOrEmpty(productionTime))
                        {
                            labelModel.ProductionTime = DateTime.Parse(productionTime);
                        }
                        if (!string.IsNullOrEmpty(storeTime))
                        {
                            labelModel.StoreTime = DateTime.Parse(storeTime);
                        }
                        if (!string.IsNullOrEmpty(expirationTime))
                        {
                            labelModel.ExpirationTime = DateTime.Parse(expirationTime);
                        }
                        Db.Insertable(labelModel).ExecuteCommand();
                        modelList.Add(labelModel);
@@ -932,14 +973,26 @@
                                BitBoxMark = bNum > boxQty ? "1" : "0",
                                InspectStatus = "0",
                                ProductionTime = DateTime.Parse(productionTime),
                                StoreTime = DateTime.Parse(storeTime),
                                ExpirationTime = DateTime.Parse(expirationTime),
                                ProductionTime = null,
                                StoreTime = null,
                                ExpirationTime = null,
                                Origin = "WMS生成",
                                CreateUser = userId,
                                CreateTime = DateTime.Now,
                            };
                            if (!string.IsNullOrEmpty(productionTime))
                            {
                                labelModel.ProductionTime = DateTime.Parse(productionTime);
                            }
                            if (!string.IsNullOrEmpty(storeTime))
                            {
                                labelModel.StoreTime = DateTime.Parse(storeTime);
                            }
                            if (!string.IsNullOrEmpty(expirationTime))
                            {
                                labelModel.ExpirationTime = DateTime.Parse(expirationTime);
                            }
                            Db.Insertable(labelModel).ExecuteCommand();
                            modelList.Add(labelModel);