| | |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.Dto.service; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.entity.Base; |
| | | using NewPdaSqlServer.util; |
| | | using SqlSugar; |
| | | using System.Text.RegularExpressions; |
| | |
| | | { |
| | | public List<string> GetQtckList() |
| | | { |
| | | return Db.Queryable<MesItemQtrk>() |
| | | .Where(x => (x.Qt015 ?? 0) == 1 && (x.Qt014 ?? 0) == 0) |
| | | .Select(x => x.Qtck) |
| | | .ToList(); |
| | | //return Db.Queryable<MesItemQtrk>() |
| | | // .Where(x => (x.Qt015 ?? 0) == 1 && (x.Qt014 ?? 0) == 0) |
| | | // .Select(x => x.Qtck) |
| | | // .ToList(); |
| | | |
| | | const string sql = @"SELECT qtck |
| | | FROM MES_ITEM_QTRK |
| | | WHERE QT015 = 1 AND QT028 = 1 AND QT032 = 1 |
| | | AND QT014 = 0 "; |
| | | |
| | | return Db.Ado.SqlQuery<string>(sql); |
| | | } |
| | | |
| | | public List<MesItemQtrrDetail> GetQtckDetailList(WarehouseQuery query) |
| | | public ProductionPickDto GetQtckDetailList(WarehouseQuery query) |
| | | { |
| | | // 1. 验证申请单是否存在 |
| | | var qtrk = Db.Queryable<MesItemQtrk>() |
| | | .Where(x => x.Qtck == query.billNo) |
| | | .First(); |
| | | if (qtrk == null) |
| | | throw new Exception($"未查询到此其他入库申请单 {query.billNo}"); |
| | | // 关联查询物料表、物料明细表和物料基础信息表 |
| | | if (string.IsNullOrEmpty(query.billNo)) throw new Exception("申请单号为空"); |
| | | |
| | | // 2. 验证申请单状态 |
| | | if (qtrk.Qt015 != 1) |
| | | throw new Exception($"其他入库申请单 {query.billNo} 未审核,请确认!"); |
| | | var mesInvItemOuts = base.GetSingle(it => it.Qtck == query.billNo); |
| | | if (mesInvItemOuts == null) throw new Exception("其他入库申请单不存在"); |
| | | |
| | | if (qtrk.Qt014 == 1) |
| | | throw new Exception($"其他入库申请单 {query.billNo} 已完结,请确认!"); |
| | | var sql = @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel, |
| | | ISNULL(A.qd007,0) FQty,ISNULL(A.qd008,0) SQty,ISNULL(A.qd007,0) - ISNULL(A.qd008,0) DSQty |
| | | FROM MES_ITEM_QTRR_DETAIL A |
| | | LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid |
| | | LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id |
| | | WHERE B.qtck = @billNo AND QT015 = 1 AND QT028 = 1 AND QT032 = 1 AND QT014 = 0 "; |
| | | |
| | | // 3. 查询申请单明细 |
| | | var details = Db.Queryable<MesItemQtrk, MesItemQtrrDetail, MesItems>( |
| | | (a, b, c) => new JoinQueryInfos( |
| | | JoinType.Left, a.Guid == b.QtrkGuid, |
| | | JoinType.Left, c.Id.ToString() == b.ItemId)) |
| | | .Where((a, b, c) => |
| | | a.Qtck == query.billNo && |
| | | (b.Qd007 ?? 0) - (b.Qd008 ?? 0) > 0) |
| | | .OrderBy((a, b, c) => b.Qd002) |
| | | .Select((a, b, c) => new MesItemQtrrDetail |
| | | { |
| | | Qtck = a.Qtck, |
| | | ItemNo = c.ItemNo, |
| | | ItemName = c.ItemName, |
| | | Qd007 = b.Qd007 ?? 0, |
| | | Qd008 = b.Qd008 ?? 0 |
| | | }) |
| | | .ToList(); |
| | | var sqlParams = new List<SugarParameter> { |
| | | new("@billNo", query.billNo) |
| | | }; |
| | | |
| | | return details; |
| | | var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql, sqlParams); |
| | | |
| | | if (womdabs.Count < 1) |
| | | throw new Exception($"该其他入库申请单 {query.billNo} 未全部审核或已完结,请确认!"); |
| | | |
| | | var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); |
| | | |
| | | var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); |
| | | |
| | | var dto = new ProductionPickDto |
| | | { |
| | | //daa001 = womdaa.Daa001, |
| | | //PlanNo = womcaa.Caa020, |
| | | items = DS_list, |
| | | Ysitems = YS_list |
| | | }; |
| | | |
| | | return dto; |
| | | } |
| | | |
| | | public string ScanInDepotsQT(WarehouseQuery query) |
| | |
| | | EbelnK3id = barcode.EbelnK3id, |
| | | LineK3id = barcode.LineK3id, |
| | | ItemId = barcode.ItemId, |
| | | DepotId = c_depot_id.ToString() |
| | | DepotId = c_depot_id.ToString(), |
| | | itemDabid = barcode.AboutGuid.ToString(), |
| | | }).IgnoreColumns(true).ExecuteCommand(); |
| | | else |
| | | // 存在则更新数量 |
| | |
| | | .Where(x => x.Qtck == p_bill_no) |
| | | .ExecuteCommand(); |
| | | |
| | | // 创建 插入日志 |
| | | var logService = new LogService(); |
| | | var LogMsg = "【PDA】其他入库。条码【" + query.barcode + "】数量【" + barcode.Quantity.ToString() + "】 入库单号【" + billNo + "】"; |
| | | logService.CreateLog(db, query.userName, qtrk.Guid.ToString(), "MES_ITEM_QTRK", LogMsg, qtrk.Qtck); |
| | | |
| | | if (res < 5) throw new Exception("插入或更新失败"); |
| | | |
| | | return res; |