| | |
| | | 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; |
| | | } |
| | |
| | | LineK3id = c_mes_inv_item_barcodes.LineK3id, |
| | | ItemId = c_mes_inv_item_barcodes.ItemId, |
| | | DepotCode = c_mes_depots.DepotCode, |
| | | DepotId = c_depot_code.ToString() |
| | | DepotId = c_depot_code.ToString(), |
| | | itemDabid = C_MES_ITEM_TBL_DETAIL.Tlid.ToString() |
| | | }).IgnoreColumns(true).ExecuteCommand(); |
| | | else |
| | | // 存在时更新数量 |
| | |
| | | throw new Exception( |
| | | $"关键数据插入失败,预期至少{minimumExpectedOperations}个操作,实际执行{totalResult}个操作"); |
| | | |
| | | // 创建 插入日志 |
| | | var logService = new LogService(); |
| | | var LogMsg = "[PDA]生产退料。条码【" + query.barcode + "】 退料单号【" + c_bill_no + "】"; |
| | | logService.CreateLog(db, query.userName, tbWOMDAA.Guid.ToString(), "WOMDAA", LogMsg, tbWOMDAA.Daa001); |
| | | |
| | | return totalResult; |
| | | }); |
| | | |