| | |
| | | } |
| | | } |
| | | |
| | | public List<ExStockInfoDto> GetStockGroupList(string type, string msg) |
| | | public List<ExStockInfoDto> GetStockGroupList(string type, string ownerNo, string msg) |
| | | { |
| | | try |
| | | { |
| | | if (string.IsNullOrEmpty(type)) |
| | | { |
| | | throw new Exception("请选择出库单类型"); |
| | | } |
| | | if (type == "6" && string.IsNullOrEmpty(ownerNo)) |
| | | { |
| | | throw new Exception("代储单据请选择货主"); |
| | | } |
| | | var plnList = new List<string>() { "100099" }; |
| | | var skuList = new List<string>(); |
| | | var sku = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0" && !plnList.Contains(m.SkuNo)); //排除空托盘的物料集合 |
| | |
| | | string inspectStatus = string.Empty; |
| | | switch (type)//0:原料 1:包材 2:成品 3:耗材 4:半成品 |
| | | { |
| | | case "0"://成品入库 |
| | | case "0"://成品出库 |
| | | skuType = "(2)"; |
| | | inspectStatus = "1"; |
| | | break; |
| | |
| | | break; |
| | | case "6"://代储出库 |
| | | skuType = "(0,1,2,3)"; |
| | | inspectStatus = "0"; |
| | | inspectStatus = "0,1"; |
| | | break; |
| | | case "8"://寄存出库 |
| | | skuType = "(0,1,2,3)"; |
| | | inspectStatus = "0"; |
| | | inspectStatus = "0,1"; |
| | | break; |
| | | default: //其它出库 |
| | | skuType = "(0,1,2,3,4)"; |
| | | inspectStatus = "0"; |
| | | inspectStatus = "0,1"; |
| | | break; |
| | | } |
| | | skuList = sku.Where(m => skuType.Contains(m.Type)).Select(m => m.SkuNo).ToList(); |
| | |
| | | //.And(it => it.WareHouseNo == wareHouseNo) |
| | | .AndIF(!string.IsNullOrWhiteSpace(inspectStatus), it => inspectStatus.Contains(it.InspectStatus)) |
| | | .And(m => skuList.Contains(m.SkuNo)) |
| | | .AndIF(type == "6", m => m.OwnerNo == ownerNo)//代储出库需要关联货主 |
| | | .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) |
| | | .And(it => (it.Status == "0" || it.Status == "1")) |
| | |
| | | } |
| | | else if (notice.Type == "3" || notice.Type == "5" || notice.Type == "6" || notice.Type == "7" || notice.Type == "8")//取样出库 |
| | | { |
| | | stockDetail = stockDetail.Where(m => m.InspectStatus == "0").ToList(); |
| | | stockDetail = stockDetail.Where(m => m.InspectStatus == "0" || m.InspectStatus == "1").ToList(); |
| | | } |
| | | else if (notice.Type == "4")//不合格出库 |
| | | { |