zhaowc
2024-09-04 260d6082a7e53e0f040365a763da9bcf952118bd
修改平库出库页面单据加载托盘位置功能
5个文件已修改
183 ■■■■ 已修改文件
Pda/View/SoSetting/pingKuOut.html 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelDto/PdaDto/PdaSoDto.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/PdaSoController.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/SoSetting/pingKuOut.html
@@ -84,6 +84,15 @@
                            <img src="/assets/down_arraw.png">
                        </div>
                    </div>
                    <div class="layui-form-item layout-dropdownlist" style="margin-top: 10px;">
                        <label class="layui-form-label">物料-批次:</label>
                        <div class="layui-input-block" id="goodDiv">
                            <select id="goodSelect" lay-filter="goodSelect" lay-search>
                                <option value=""></option>
                            </select>
                            <img src="/assets/down_arraw.png">
                        </div>
                    </div>
                    <!-- <div id="" class="layui-form-item layout-input">
                            <label class="layui-form-label" lang>库位地址:</label>
                            <div class="layui-input-block">
@@ -115,17 +124,21 @@
                <table id="tableBoxList" class="tbl-box-list" border="" cellspacing="" cellpadding="">
                    <tr>
                        <th lang>托盘码</th>
                        <th lang>物料号</th>
                        <!-- <th lang>物料号</th>
                        <th lang>物料名称</th>
                        <th lang>批次号</th>
                        <th lang>批次号</th> -->
                        <th lang>所属仓库</th>
                        <th lang>所属区域</th>
                        <th lang>库位地址</th>
                        
                    </tr>
                    <tr id="boxCell" style="display: none">
                        <td name="PalletNo">托盘码</td>
                        <td name="SkuNo">物料号</td>
                        <td name="WareHouseName">所属仓库</td>
                        <td name="AreaName">所属区域</td>
                        <!-- <td name="SkuNo">物料号</td>
                        <td name="SkuName">物料名称</td>
                        <td name="LotNo">批次号</td>
                        <td name="LotNo">批次号</td> -->
                        <td name="LocatNo">库位地址</td>
                        <!-- <td name="del">
                                <div id="" class="tbl-btn-del" lang>
@@ -173,11 +186,23 @@
            }
            form.on('select(getbar)', function (data) {
                console.log();
                //console.log();
                if (data.value == "") {
                    return;
                }
                GetBoxInfo();
            });
            form.on('select(goodSelect)', function (data) {
                console.log($("#goodSelect").val());
                if (data.value == "") {
                    return;
                }
                var skuno = $("#goodSelect").val().substring(0,6);
                var lotNo = $("#goodSelect").val().substring(12);
                console.log("skuno:"+skuno);
                console.log("lotNo:" + lotNo);
                loadlocatinfo(skuno, lotNo);
            });
            $("#selectDiv").click(function () {
@@ -195,14 +220,13 @@
                var val = input.val()
                $("#bar").empty()
                $("#bar").append('<option value =>' + '</option>');
                form.render('select');
                var PalletNo =  $("#PalletNo").val();
                if(PalletNo.length != 8){ //下拉框获取平库出库单
                    var param = {
                        Type: "1",
                    };
                    synData(IP + "/PdaSo/GetRunNoticeList", param,'post', function (res) {
                        console.log(res);
                        //console.log(res);
                        if (res.code == 0) { //成功
                            for (var i = 0; i < res.data.length; i++) {
                                $("#bar").append('<option value =' + res.data[i] + '>' + res.data[i]
@@ -264,9 +288,10 @@
                }
                synData(IP + "/PdaSo/GetPingKuInfoByPallet", param2, 'get', function (res) {
                    if (res.code == 0) {
                        tableData = deepCopy(res.data)
                        refreshTable(tableData)
                        updateGoodList(res.data);//物料批次信息
                        var skuno = res.data[0].SkuNo;
                        var lotNo = res.data[0].LotNo;
                        loadlocatinfo(skuno, lotNo);//获取托盘位置信息
                    } else {
                        layer.msg(res.msg, {
                            icon: 2,
@@ -274,6 +299,50 @@
                        }, function () { });
                    }
                });
            }
            //获取托盘位置信息并更新表单
            function loadlocatinfo(skuno, lotNo){
                let param3 = {
                    "SoNo": $("#bar").val(),
                    "SkuNo": skuno,
                    "LotNo": lotNo
                }
                synData(IP + "/PdaSo/GetPingKuLocationInfo", param3, 'get', function (res) {//获取托盘明细
                    if (res.code == 0) {
                        tableData = deepCopy(res.data)
                        refreshTable(tableData)
                    } else {
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                })
            }
              /* 物料及批次下拉框 */
            function updateGoodList(data) {
                var input = $('select[id="goodSelect"]').next().find('.layui-select-title input')
                var val = input.val()
                $("#goodSelect").empty()
                $("#goodSelect").append('<option value =>' + '</option>');
                for (var i = 0; i < data.length; i++) {
                    if (data[i].LotNo == '' || data[i].LotNo == null) {
                        $("#goodSelect").append('<option value =' + data[i].SkuNo + ' selected>' + data[i]
                            .SkuName +
                            '</option>');
                    } else {
                        $("#goodSelect").append('<option value =' + data[i].SkuNo  + data[i].SkuName + "-" +
                        data[i].LotNo + ' selected>' + data[i]
                            .SkuNo + data[i].SkuName + "-" + data[i].LotNo +
                            '</option>');
                    }
                }
                form.render('select');
            }
            function clearTable() {
@@ -299,7 +368,6 @@
                var arrTrs = new Array()
                let idx = 0
                for (var i in list) {
                    console.log("list[i].LocatN:"+list[i].LocatNo);
                    // list[i].BoxCode
                    var tr = $("#boxCell").eq(0).clone();
                    tr.appendTo("#tableBoxList");
@@ -307,9 +375,11 @@
                    idx++;
                    tr.attr('index', idx)
                    tr.find("td[name='PalletNo']").html(list[i].PalletNo);
                    tr.find("td[name='SkuNo']").html(list[i].SkuNo);
                    tr.find("td[name='SkuName']").html(list[i].SkuName);
                    tr.find("td[name='LotNo']").html(list[i].LotNo);
                    //tr.find("td[name='SkuNo']").html(list[i].SkuNo);
                    //tr.find("td[name='SkuName']").html(list[i].SkuName);
                    //tr.find("td[name='LotNo']").html(list[i].LotNo);
                    tr.find("td[name='WareHouseName']").html(list[i].WareHouseName);
                    tr.find("td[name='AreaName']").html(list[i].AreaName);
                    tr.find("td[name='LocatNo']").html(list[i].LocatNo);
                    // var code = list[i].BoxCode
                    // //console.log("code is "+code)
@@ -331,7 +401,7 @@
                    "PalletNo": $("#PalletNo").val()
                }
                synData(IP + "/PdaSo/IsEnableOkPalletNo", param, 'post', function (res) {
                    console.log(res);
                    if (res.code == 0) { //成功 
                        updateBillList();
Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
@@ -24,6 +24,8 @@
        public string LotNo { get; set; }                   // 批次 
        public string LocatNo { get; set; }
        public decimal? PickedQty { get; set; }                       // 箱内已拣数量
        public string WareHouseName { get; set; }
        public string AreaName { get; set; }
    }
    public class DetailIdSkuLotNo
    {
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -1198,6 +1198,17 @@
            var info = Db.Queryable<BllExportAllot>()
                .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
                .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
                .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo}).Select((a,b) => new BoxInfo()
                {
                    SkuNo = a.SkuNo,
                    SkuName = a.SkuName,
                    LotNo = a.LotNo
                }).ToListAsync();
            var data = await info;
            /*v var info = Db.Queryable<BllExportAllot>()
                .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
                .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
                .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo()
                {
                    PalletNo = a.PalletNo,
@@ -1206,22 +1217,41 @@
                    LotNo = a.LotNo,
                    LocatNo =  b.LocatNo
                }).ToListAsync();
            var data = await info;*/
            return data;
        }
        //获取平库单据中托盘位置信息
        public async Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string skuno,string lotno)
        {
            var info = Db.Queryable<BllExportAllot>()
                .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
                .LeftJoin<SysWareHouse>((a,b,c)=>b.WareHouseNo == c.WareHouseNo)
                .LeftJoin<SysStorageArea>((a,b,c,d)=>b.AreaNo == d.AreaNo)
                .Where(a => a.IsDel == "0" && (a.Status == "0" || a.Status == "1") && a.SONo == soNo && a.SkuNo == skuno && a.LotNo == lotno)
                .GroupBy((a, b,c,d) => new { a.PalletNo, b.LocatNo,c.WareHouseName,d.AreaName }).Select((a, b,c,d) => new BoxInfo()
                {
                    PalletNo = a.PalletNo,
                    LocatNo = b.LocatNo,
                    WareHouseName = c.WareHouseName,
                    AreaName = d.AreaName
                }).ToListAsync();
            var data = await info;
            /*var a = info.First().LocatNo;
            if (await info.CountAsync() == 0)
            {
                throw Oops.Bah("未查询到托盘分配下发的信息");
            }
            var data = await info.GroupBy(a => new { a.SkuNo, a.SkuName, a.LotNo,a.PalletNo }).Select(a => new BoxInfo()
            {
                PalletNo = a.PalletNo,
                SkuNo = a.SkuNo,
                SkuName = a.SkuName,
                LotNo = a.LotNo
            }).ToListAsync();*/
            /*v var info = Db.Queryable<BllExportAllot>()
                .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
                .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
                .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo()
                {
                    PalletNo = a.PalletNo,
                    SkuNo = a.SkuNo,
                    SkuName = a.SkuName,
                    LotNo = a.LotNo,
                    LocatNo =  b.LocatNo
                }).ToListAsync();
            var data = await info;*/
            return data;
        }
Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
@@ -114,6 +114,15 @@
        Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo);
        /// <summary>
        /// 获取平库托盘位置信息
        /// </summary>
        /// <param name="soNo">出库单号</param>
        ///  <param name="SkuNo">物料编码</param>
        ///  <param name="LotNo">批次</param>
        /// <returns></returns>
        Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string SkuNo,string LotNo);
        /// <summary>
        /// 平库出库完成
        /// </summary>
        /// <param name="soNo">出库单号</param>
Wms/Wms/Controllers/PdaSoController.cs
@@ -175,6 +175,20 @@
        }
        /// <summary>
        /// 获取平库托盘位置信息
        /// </summary>
        /// <param name="soNo">出库单号</param>
        ///  <param name="SkuNo">物料编码</param>
        ///  <param name="LotNo">批次</param>
        /// <returns></returns>
        [HttpGet]
        public async Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string SkuNo,string LotNo)
        {
            return await _pdaSoSvc.GetPingKuLocationInfo(soNo, SkuNo, LotNo);
        }
        /// <summary>
        /// 平库出库
        /// </summary>
        /// <param name="soNo">出库单号</param>