wxw
3 天以前 5bbaca0f07194414ca1249d0d6fdbd7368859071
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -1258,9 +1258,16 @@
                    resultModel.Message = "入库单明细不可为空!";
                    return resultModel;
                }
                var asnModel = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.OrderCode == model.orderNo);
                if (asnModel != null)
                {
                    resultModel.Message = $"{model.orderNo}该单号已存在入库单!";
                    return resultModel;
                }
                // 入库总表信息
                string asnNo = new Common().GetMaxNo("ASN");
                var asnModel = new BllArrivalNotice()
                asnModel = new BllArrivalNotice()
                {
                    ASNNo = asnNo,
                    Status = "0",//等待执行
@@ -1287,9 +1294,9 @@
                        resultModel.Message = "应收物料数量应大于0!";
                        return resultModel;
                    }
                    if (string.IsNullOrEmpty(asnDetailModel.lotNo.ToString()))
                    if (string.IsNullOrEmpty(asnDetailModel.lotNo) && asnModel.Type != "1")
                    {
                        resultModel.Message = "批次号不可为空!";
                        resultModel.Message = "非采购入库,批次号不可为空!";
                        return resultModel;
                    }
@@ -1310,7 +1317,7 @@
                        SkuNo = asnDetailModel.skuNo.ToString(),
                        SkuName = skuModel.SkuName,
                        Standard = skuModel.Standard,
                        LotNo = asnDetailModel.lotNo.ToString(),
                        LotNo = asnDetailModel.lotNo,
                        LotText = "",
                        Qty = Convert.ToDecimal(asnDetailModel.expectedQty),
                        FactQty = 0,
@@ -1324,6 +1331,23 @@
                        InspectStatus = "0",
                        CreateUser = 0
                    };
                    detailModel.BoxCodeStr = detailModel.LotNo;
                    if (string.IsNullOrWhiteSpace(detailModel.LotNo))
                    {
                        string toDayTime = DateTime.Now.ToString("yyyyMM");
                        var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>()
                            .Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK")
                            && m.CreateTime.ToString("yyyyMM") == DateTime.Now.ToString("yyyyMM")).Max(m => m.BoxCodeStr);
                        if (string.IsNullOrWhiteSpace(maxBoxCodeStr))
                        {
                            maxBoxCodeStr = "BK" + toDayTime.Substring(2, 4) + "0001";
                        }
                        else
                        {
                            maxBoxCodeStr = "BK" + (int.Parse(maxBoxCodeStr.Replace("BK", "")) + 1).ToString();
                        }
                        detailModel.BoxCodeStr = maxBoxCodeStr;
                    }
                    detailModels.Add(detailModel);
                }