| | |
| | | autocomplete="off" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | <!-- --> |
| | | <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <!-- <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> |
| | | <label class="layui-form-label">物料编码</label> |
| | | <div class="layui-input-block"> |
| | | <input id="SkuNo" type="text" lay-verify="stock" |
| | |
| | | <input id="Standard" type="text" lay-verify="stock" |
| | | autocomplete="off" class="layui-input" style="border: 0px;" disabled> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | <div id="" class="" style="width: 100%;height: 36px;margin-top: 15px;"> |
| | | <button id="btnQuery" class="btn-ok" type="button">查询</button> |
| | | </div> |
| | |
| | | <!-- <p class="box-list-title">已绑定箱子列表</p> --> |
| | | <table id="tableBoxList" class="tbl-box-list" border="1px" > |
| | | <tr> |
| | | <th >物料名称</th> |
| | | <th >物料编码</th> |
| | | <th >物品批次</th> |
| | | <th >库存<br>数量</th> |
| | | <th >锁定<br>数量</th> |
| | |
| | | </tr> |
| | | <tr id="boxCell" style="display: none;"> |
| | | |
| | | <td name="LotNo">物料批次</td> |
| | | <td name="SkuName" style="word-wrap: break-word; max-width: 64px;">物料名称</td> |
| | | <td name="SkuNo" style="word-wrap: break-word; max-width: 48px;">物料编码</td> |
| | | <td name="LotNo" style="word-wrap: break-word; max-width: 48px;">物料批次</td> |
| | | <td name="Qty">剩余数量</td> |
| | | <td name="LockQty">锁定数量</td> |
| | | <td name="FrozenQty">冻结数量</td> |
| | |
| | | function clear(){ |
| | | $("#LocatNo").val(''); |
| | | $("#PalletNo").val(''); |
| | | $("#BoxNo").val(''); |
| | | $("#SkuNo").val(""); |
| | | $("#SkuName").val(""); |
| | | $("#Standard").val(""); |
| | | //$("#BoxNo").val(''); |
| | | //$("#SkuNo").val(""); |
| | | //$("#SkuName").val(""); |
| | | //$("#Standard").val(""); |
| | | } |
| | | |
| | | $("#btnQuery").click(function(){ |
| | |
| | | clear(); |
| | | $("#LocatNo").val(res.data[0].LocatNo); |
| | | $("#PalletNo").val(res.data[0].PalletNo); |
| | | $("#BoxNo").val(res.data[0].BoxNo); |
| | | $("#SkuNo").val(res.data[0].SkuNo); |
| | | $("#SkuName").val(res.data[0].SkuName); |
| | | $("#Standard").val(res.data[0].Standard); |
| | | //$("#BoxNo").val(res.data[0].BoxNo); |
| | | // $("#SkuNo").val(res.data[0].SkuNo); |
| | | // $("#SkuName").val(res.data[0].SkuName); |
| | | // $("#Standard").val(res.data[0].Standard); |
| | | tableData = deepCopy(res.data) |
| | | refreshTable() |
| | | } else { //不成功 |
| | |
| | | idx++; |
| | | tr.attr('index', idx) |
| | | |
| | | tr.find("td[name='SkuName']").html(list[i].SkuName); |
| | | tr.find("td[name='SkuNo']").html(list[i].SkuNo); |
| | | tr.find("td[name='LotNo']").html(list[i].LotNo); |
| | | tr.find("td[name='Qty']").html(list[i].Qty); |
| | | tr.find("td[name='LockQty']").html(list[i].LockQty); |
| | |
| | | /// </summary> |
| | | public string Date2 { get; set; } |
| | | } |
| | | public class StockDetailWithQtyDto |
| | | { |
| | | public string LotNo { get; set; } |
| | | public string LotText { get; set; } |
| | | public string SupplierLot { get; set; } |
| | | public string OwnerNo { get; set; } |
| | | public string OwnerName { get; set; } |
| | | public string SupplierNo { get; set; } |
| | | public string SupplierName { get; set; } |
| | | public string SkuNo { get; set; } |
| | | public string SkuName { get; set; } |
| | | public string Standard { get; set; } |
| | | public decimal Qty { get; set; } // 来自DataBoxInfo的Qty |
| | | public decimal? LockQty { get; set; } |
| | | public decimal? FrozenQty { get; set; } |
| | | public decimal? InspectQty { get; set; } |
| | | public string ASNNo { get; set; } |
| | | public int? ASNDetailNo { get; set; } |
| | | public string SONo { get; set; } |
| | | public string WareHouseNo { get; set; } |
| | | public string RoadwayNo { get; set; } |
| | | public string AreaNo { get; set; } |
| | | public string LocatNo { get; set; } |
| | | public string PalletNo { get; set; } |
| | | public string PalletNo2 { get; set; } |
| | | public string PalletNo3 { get; set; } |
| | | public string PalletTags { get; set; } |
| | | public DateTime? CompleteTime { get; set; } |
| | | public DateTime? ProductionTime { get; set; } |
| | | public DateTime? ExpirationTime { get; set; } |
| | | public string Status { get; set; } |
| | | public string InspectMark { get; set; } |
| | | public string BitPalletMark { get; set; } |
| | | public string InspectStatus { get; set; } |
| | | public DateTime? InspectTime { get; set; } |
| | | public string PackagNo { get; set; } |
| | | public string IsBale { get; set; } |
| | | public string IsBelt { get; set; } |
| | | public string UDF5 { get; set; } |
| | | public string IsDel { get; set; } |
| | | public DateTime CreateTime { get; set; } |
| | | public int? CreateUser { get; set; } |
| | | public DateTime? UpdateTime { get; set; } |
| | | public int? UpdateUser { get; set; } |
| | | public string Demo { get; set; } |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | | using System.Linq; |
| | | using System.Reflection.Metadata; |
| | | using System.Security.Cryptography.X509Certificates; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | |
| | | using Model.ModelDto; |
| | | using Model.ModelDto.BllCheckDto; |
| | | using Model.ModelDto.PdaDto; |
| | | using Model.ModelDto.SysDto; |
| | | using Newtonsoft.Json; |
| | | using SqlSugar; |
| | | using Utility; |
| | |
| | | // .OrderBy(s => new { s.LotNo, s.LocatNo, s.PalletNo }) |
| | | // .ToListAsync(); |
| | | //} |
| | | public async Task<List<DataStockDetail>> GetStockQueryList(string locatNo, string palletNo, string boxNo) |
| | | public async Task<List<StockDetailWithQtyDto>> GetStockQueryList(string locatNo, string palletNo, string boxNo) |
| | | { |
| | | return await Db.Queryable<DataStockDetail>() |
| | | .LeftJoin<DataBoxInfo>((stk, box) => stk.LotNo == box.LotNo) |
| | | .Where((stk, box) => stk.IsDel == "0") |
| | | .WhereIF(!string.IsNullOrWhiteSpace(locatNo),(stk, box) => stk.LocatNo.Contains(locatNo)) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(palletNo),(stk, box) => stk.PalletNo.Contains(palletNo)) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(boxNo),(stk, box) => box.BoxNo.Contains(boxNo)) |
| | | .OrderBy((stk, box) => new { stk.LotNo, stk.LocatNo, stk.PalletNo, box.BoxNo }) |
| | | .Select((stk, box) => stk) |
| | | return await Db.Queryable<DataStockDetail>("a") |
| | | .InnerJoin<DataBoxInfo>((a, b) => a.LotNo == b.LotNo) |
| | | .Where((a, b) => a.IsDel == "0") |
| | | .WhereIF(!string.IsNullOrWhiteSpace(locatNo), (a, b) => a.LocatNo.Contains(locatNo)) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(palletNo), (a, b) => a.PalletNo.Contains(palletNo)) |
| | | .WhereIF(!string.IsNullOrWhiteSpace(boxNo), (a, b) => b.BoxNo.Contains(boxNo)) |
| | | .OrderBy((a, b) => new { a.LotNo, a.LocatNo, a.PalletNo }) |
| | | .Select((a, b) => new StockDetailWithQtyDto |
| | | { |
| | | LotNo = a.LotNo, |
| | | LotText = a.LotText, |
| | | SupplierLot = a.SupplierLot, |
| | | OwnerNo = a.OwnerNo, |
| | | OwnerName = a.OwnerName, |
| | | SupplierNo = a.SupplierNo, |
| | | SupplierName = a.SupplierName, |
| | | SkuNo = a.SkuNo, |
| | | SkuName = a.SkuName, |
| | | Standard = a.Standard, |
| | | Qty = b.Qty, // DataBoxInfo的Qty字段 |
| | | LockQty = a.LockQty, |
| | | FrozenQty = a.FrozenQty, |
| | | InspectQty = a.InspectQty, |
| | | ASNNo = a.ASNNo, |
| | | ASNDetailNo = a.ASNDetailNo, |
| | | SONo = a.SONo, |
| | | WareHouseNo = a.WareHouseNo, |
| | | RoadwayNo = a.RoadwayNo, |
| | | AreaNo = a.AreaNo, |
| | | LocatNo = a.LocatNo, |
| | | PalletNo = a.PalletNo, |
| | | PalletNo2 = a.PalletNo2, |
| | | PalletNo3 = a.PalletNo3, |
| | | PalletTags = a.PalletTags, |
| | | CompleteTime = a.CompleteTime, |
| | | ProductionTime = a.ProductionTime, |
| | | ExpirationTime = a.ExpirationTime, |
| | | Status = a.Status, |
| | | InspectMark = a.InspectMark, |
| | | BitPalletMark = a.BitPalletMark, |
| | | InspectStatus = a.InspectStatus, |
| | | InspectTime = a.InspectTime, |
| | | PackagNo = a.PackagNo, |
| | | IsBale = a.IsBale, |
| | | IsBelt = a.IsBelt, |
| | | UDF5 = a.UDF5, |
| | | IsDel = a.IsDel, |
| | | CreateTime = a.CreateTime, |
| | | CreateUser = a.CreateUser, |
| | | UpdateTime = a.UpdateTime, |
| | | UpdateUser = a.UpdateUser, |
| | | Demo = a.Demo |
| | | }) |
| | | .ToListAsync(); |
| | | } |
| | | #endregion |
| | |
| | | /// <param name="locatNo">储位编号</param> |
| | | /// <param name="palletNo">托盘号</param> |
| | | /// <returns></returns> |
| | | Task<List<DataStockDetail>> GetStockQueryList(string locatNo, string palletNo, string boxno); |
| | | Task<List<StockDetailWithQtyDto>> GetStockQueryList(string locatNo, string palletNo, string boxno); |
| | | |
| | | #endregion |
| | | |
| | |
| | | using Wms.Tools; |
| | | using Microsoft.Extensions.Options; |
| | | using Model.ModelDto.DataDto; |
| | | using Model.ModelDto; |
| | | |
| | | namespace Wms.Controllers |
| | | { |
| | |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [ServiceFilter(typeof(ApiResponseActionFilter))] |
| | | public async Task<List<DataStockDetail>> GetStockQueryList(string locatNo, string palletNo, string boxno) |
| | | public async Task<List<StockDetailWithQtyDto>> GetStockQueryList(string locatNo, string palletNo, string boxno) |
| | | { |
| | | return await _pdaCrSvc.GetStockQueryList(locatNo, palletNo, boxno); |
| | | } |