| | |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.Dto.service; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.entity.Base; |
| | | using NewPdaSqlServer.util; |
| | | using SqlSugar; |
| | | using System.Security.Cryptography; |
| | |
| | | /// </summary> |
| | | /// <param name="query">仓库查询参数</param> |
| | | /// <returns>物料明细列表</returns> |
| | | public List<MesItemTblDetail> GetMesItemTblDetailByBillNo( |
| | | public ProductionPickDto GetMesItemTblDetailByBillNo( |
| | | WarehouseQuery query) |
| | | { |
| | | // 关联查询物料表、物料明细表和物料基础信息表 |
| | |
| | | JoinType.Left, |
| | | b.Tld009 == c.Id) |
| | | ).Where((a, b, c) => a.BillNo == query.billNo && (a.Tbl013 ?? 0) == 1) |
| | | .Select<MesItemTblDetail>((a, b, c) => new MesItemTblDetail |
| | | .Select<ItemDetailModel>((a, b, c) => new ItemDetailModel |
| | | { |
| | | BillNo = a.BillNo, |
| | | Tlid = b.Tlid, |
| | | Tlmid = b.Tlmid, |
| | | Tld005 = b.Tld005 ?? 0, // 待退数量 |
| | | Tld006 = b.Tld006 ?? 0, // 已退数量 |
| | | Tld009 = b.Tld009, |
| | | FQty = b.Tld005 ?? 0, // 待退数量 |
| | | SQty = b.Tld006 ?? 0, // 已退数量 |
| | | DSQty = (b.Tld005 ?? 0) - (b.Tld006 ?? 0), |
| | | ItemNo = c.ItemNo, // 物料编号 |
| | | ItemName = c.ItemName, // 物料名称 |
| | | ItemModel = c.ItemModel // 物料型号 |
| | | }).ToList(); |
| | | |
| | | // 筛选出待退数量大于已退数量的记录 |
| | | var itemTblDetails = mesItemTblDetails |
| | | .Where(s => (s.Tld005 ?? 0) - (s.Tld006 ?? 0) > 0).ToList(); |
| | | |
| | | if (mesItemTblDetails.Count<1) |
| | | throw new Exception("该申请单【" + query.billNo + "】 明细不存在,请确认!"); |
| | | |
| | | var DS_list = mesItemTblDetails.Where(s => s.DSQty > 0).ToList(); |
| | | |
| | | var YS_list = mesItemTblDetails.Where(s => s.SQty > 0).ToList(); |
| | | |
| | | var itemTblDetails = new ProductionPickDto |
| | | { |
| | | items = DS_list, |
| | | Ysitems = YS_list |
| | | // yisao = mesInvItemOutCDetailsList |
| | | }; |
| | | |
| | | |
| | | return itemTblDetails; |
| | | } |
| | |
| | | if (c_mes_inv_item_barcodes.Memo != "生产退料") |
| | | throw new Exception("此条码不是生产退料条码,不可使用生产退料模块!"); |
| | | |
| | | // 使用 String.Equals 方法进行字符串比较,指定比较规则为忽略大小写,提高比较的灵活性 |
| | | if (!string.Equals(c_mes_inv_item_barcodes.BillNo, p_bill_no, StringComparison.OrdinalIgnoreCase)) |
| | | throw new Exception($"该条码对应的申请号【{c_mes_inv_item_barcodes.BillNo}】与 当前申请单号【{p_bill_no}】不一致,请核对!"); |
| | | // 获取退料单信息 |
| | | var C_MES_ITEM_TBL = Db.Queryable<MesItemTbl>() |
| | | .Where(a => a.BillNo == c_mes_inv_item_barcodes.BillNo |
| | | .Where(a => a.BillNo == p_bill_no |
| | | && (a.Tbl013 ?? 0) == 1).First(); |
| | | |
| | | |
| | | |
| | | // 获取退料单信息 |
| | | var tbWOMDAA = Db.Queryable<Womdaa>() |
| | | .Where(a => a.Guid.ToString() == C_MES_ITEM_TBL.Tbl002).First(); |