| | |
| | | var skuList = new List<string>(); |
| | | var sku = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0" && !plnList.Contains(m.SkuNo)); //排除空托盘的物料集合 |
| | | string skuType = string.Empty; |
| | | string inspectStatus = string.Empty; |
| | | switch (type)//0:原料 1:包材 2:成品 3:耗材 4:半成品 |
| | | { |
| | | case "0"://成品入库 |
| | | skuType = "(2)"; |
| | | inspectStatus = "1"; |
| | | break; |
| | | case "1"://领料出库 |
| | | skuType = "(0,1,3)"; |
| | | inspectStatus = "1"; |
| | | break; |
| | | case "2"://抽检出库 |
| | | skuType = "(2)"; |
| | | skuType = "(0,1,2,3)"; |
| | | inspectStatus = "1"; |
| | | break; |
| | | case "3"://物料取样出库 |
| | | skuType = "(0)"; |
| | | skuType = "(0,1,2,3)"; |
| | | inspectStatus = "0"; |
| | | break; |
| | | case "4"://不合格品出库 |
| | | skuType = "(2)"; |
| | | skuType = "(0,1,2,3)"; |
| | | inspectStatus = "2"; |
| | | break; |
| | | case "5"://中间品出库 |
| | | skuType = "(4)"; |
| | | inspectStatus = "0"; |
| | | break; |
| | | case "6"://代储出库 |
| | | skuType = "(2)"; |
| | | skuType = "(0,1,2,3)"; |
| | | inspectStatus = "0"; |
| | | break; |
| | | case "8"://寄存出库 |
| | | skuType = "(3)"; |
| | | skuType = "(0,1,2,3)"; |
| | | inspectStatus = "0"; |
| | | break; |
| | | default: //其它出库 |
| | | skuType = "(0,1,2,3,4)"; |
| | | inspectStatus = "0,1"; |
| | | break; |
| | | } |
| | | skuList = sku.Where(m => skuType.Contains(m.Type)).Select(m => m.SkuNo).ToList(); |
| | |
| | | var stockDetailRst = new StockDetailServer(); |
| | | Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>() |
| | | //.And(it => it.WareHouseNo == wareHouseNo) |
| | | .And(it => it.InspectStatus == "1") |
| | | .AndIF(!string.IsNullOrWhiteSpace(inspectStatus), it => inspectStatus.Contains(it.InspectStatus)) |
| | | .And(m => skuList.Contains(m.SkuNo)) |
| | | .AndIF(!string.IsNullOrWhiteSpace(msg), it => (it.SkuNo.Contains(msg) || it.SkuName.Contains(msg) || it.LotNo.Contains(msg))) |
| | | .And(it => (it.Qty - it.LockQty - it.FrozenQty) > 0) |