| | |
| | | { |
| | | isdel = "0", //是否删除 |
| | | asnno = model.ASNNo, //入库单号 |
| | | skuno = "%" + model.SkuNo+ "%", //物料号 |
| | | skuno = "%" + model.SkuNo + "%", //物料号 |
| | | skuname = "%" + model.SkuName + "%", //物料名称 |
| | | lotno = model.LotNo, //批次号 |
| | | isqualified = model.IsQualified //是否合格 |
| | |
| | | /// <returns></returns> |
| | | public int InsertQuality(BllQualityInspect model) |
| | | { |
| | | |
| | | //创建质检信息 需要 质检号、入库单号、物料号、批次号、是否合格 |
| | | //string str = "insert into BllQualityInspect values(@inspectno,@asnno,@lotno,@supplierlot,@skuno,@skuname,,@standard,@passqty,@failqty,@origin,@inspecttime,@isout,@isqualified,@isdel,@createtime,@createuser,@updatetime,@updateuser);"; |
| | | |
| | | //验证质检号是否为空 |
| | | if (string.IsNullOrEmpty(model.InspectNo)) |
| | | { |
| | | throw new Exception("质检号不可为空,请核查!"); |
| | | } |
| | | //验证入库单号是否为空 |
| | | if (string.IsNullOrEmpty(model.ASNNo)) |
| | | { |
| | | throw new Exception("入库单号不可为空,请核查!"); |
| | | } |
| | | //验证物料号是否为空 |
| | | if (string.IsNullOrEmpty(model.SkuNo)) |
| | | { |
| | | throw new Exception("物料号不可为空,请核查!"); |
| | | } |
| | | //验证批次号是否为空 |
| | | if (string.IsNullOrEmpty(model.LotNo)) |
| | | { |
| | | throw new Exception("批次号不可为空,请核查!"); |
| | | } |
| | | |
| | | |
| | | //查找质检信息中是否存在同批次质检录入记录 |
| | | //BllQualityInspect quality = Db.Queryable<BllQualityInspect>().First(m => m.LotNo == model.LotNo && m.IsDel == "0"); |
| | | //if (quality != null) |
| | | //{ |
| | | // throw new Exception("当前批次已进行质检,请核查!"); |
| | | //} |
| | | BllQualityInspect quality = Db.Queryable<BllQualityInspect>().First(m => m.IsDel == "0" && m.ASNNo == model.ASNNo && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo); |
| | | if (quality != null) |
| | | { |
| | | throw new Exception("当前批次已进行质检,请核查!"); |
| | | } |
| | | |
| | | //查找同批次 同单据 入库单信息、 |
| | | BllArrivalNoticeDetail arrival = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.LotNo == model.LotNo && m.IsDel == "0"); |
| | | BllArrivalNoticeDetail arrivalDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.ASNNo == model.ASNNo && m.LotNo == model.LotNo); |
| | | |
| | | model.Origin = "WMS"; //来源 |
| | | model.CreateTime = Db.GetDate(); //创建日期 |
| | | model.SkuNo = arrival.SkuNo; //物料号 |
| | | model.SkuName = arrival.SkuName; //物料名称 |
| | | //model.ASNNo = arrival.ASNNo; //入库单号 |
| | | model.SkuNo = arrivalDetail.SkuNo; //物料号 |
| | | model.SkuName = arrivalDetail.SkuName; //物料名称 |
| | | model.PassQty = 0; //合格数量 |
| | | model.FailQty = 0; //不合格数量 |
| | | model.Standard = arrival.Standard; //规格 |
| | | model.SupplierLot = arrival.SupplierLot; //供货批次 |
| | | model.Standard = arrivalDetail.Standard; //规格 |
| | | model.SupplierLot = arrivalDetail.SupplierLot; //供货批次 |
| | | |
| | | //查找库存明细信息 |
| | | List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.SkuNo == model.SkuNo && m.LotNo == model.LotNo && m.IsDel == "0").ToList(); |
| | | List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.ASNNo == model.ASNNo && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo).ToList(); |
| | | foreach (var item in detail) |
| | | { |
| | | List<BllBoxInfo> box = Db.Queryable<BllBoxInfo>().Where(a => a.SkuNo == model.SkuNo && a.LotNo == model.LotNo && a.IsDel == "0").ToList(); |
| | | List<BllBoxInfo> box = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.ASNNo == model.ASNNo && a.SkuNo == model.SkuNo && a.LotNo == model.LotNo).ToList(); |
| | | //判断合格状态是否合格 |
| | | if (model.IsQualified == "1") |
| | | { |
| | | //合格 相同批次库存信息全部改为合格状态 且合格数量增加为同批次同单号该物料全部数量之和 |
| | | //不合格数量为0 |
| | | model.FailQty = 0; |
| | | model.PassQty += item.Qty; |
| | | //修改库存明细合格状态 |
| | | item.InspectStatus = "1"; //1合格 |
| | |
| | | else //不合格 |
| | | { |
| | | //不合格 相同批次、入库单库存信息全部改为不合格物料 且不合格数量增加为同批次同单号该物料全部数量之和 |
| | | //合格数量为0 |
| | | model.PassQty = 0; |
| | | model.FailQty += item.Qty; |
| | | item.InspectStatus = "2"; //2不合格 |
| | | foreach (var b1 in box) |