chengsc
2024-07-21 45490d814b84159f269813e6cff3c79fab6e170b
添加上架任务记录
2个文件已修改
6个文件已添加
763 ■■■■■ 已修改文件
HTML/views/ASNSetting/ArrivalNotice.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/PalletUpShelf.html 431 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelDto/BllAsnDto/PalletUpShelfDto.cs 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelVm/BllAsnVm/PalletUpShelfVm.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/PalletUpShelfServer.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.Entity/BllAsnEntity/BllPalletUpShelf.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IBllAsnServer/IPalletUpShelfServer.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/BllAsnController.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/ArrivalNotice.html
@@ -401,7 +401,7 @@
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'table', 'laypage', 'layer', 'laydate'], function () {
        }).use(['index', 'form','table', 'laypage', 'layer', 'laydate'], function () {
            var doing = true;
HTML/views/ASNSetting/PalletUpShelf.html
New file
@@ -0,0 +1,431 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>托盘上架</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
    <link rel="stylesheet" href="../../css/public.css" media="all">
    <style>
        .rightMargin {
            margin-right: 0px;
        }
        .buJu {
            margin-top: 10px;
            display: flex;
            flex-direction: row-reverse;
        }
        .beiJing {
            background-color: #fafafa;
            padding-top: 5px;
            border-radius: 3px;
            box-shadow: inset 0 0 3px 1px #ccc;
        }
        /* 表格下拉小箭头隐藏 */
        .layui-table-grid-down {
            display: none;
        }
    </style>
    <script>
        // 这里是需要在页面渲染之前执行的代码
        document.addEventListener("DOMContentLoaded", function () {
            //获取table默认显示数
            pageCntFirst();
            //判断是否开启table列表列宽调整功能。
            GetIsSetColW();
        });
    </script>
</head>
<body>
    <div class="layui-fluid" style="padding: 3px;">
        <div class="layui-card">
            <div class="layui-form layui-card-header layuiadmin-card-header-auto">
                <div class="layui-form-item">
                    <div class="layui-inline" style="margin-right: 0;">
                        <label class="layui-form-label" style="width: 60px;">追溯号</label>
                        <div class="layui-input-inline" style="margin-right: 0;">
                            <input type="text" id="TraceNo" name="TraceNo" placeholder="追溯号" autocomplete="off"
                                class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline" style="margin-right: 0;">
                        <label class="layui-form-label" style="width: 60px;">任务号</label>
                        <div class="layui-input-inline" style="margin-right: 0;">
                            <input type="text" id="TaskNo" name="TaskNo" placeholder="任务号" autocomplete="off"
                                class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline" style="margin-right: 0;">
                        <label class="layui-form-label" style="width: 60px;">托盘号</label>
                        <div class="layui-input-inline" style="margin-right: 0;">
                            <div class="layui-input-inline" style="margin-right: 0;">
                                <input type="text" id="PalletNo" name="PalletNo" placeholder="托盘号"
                                    autocomplete="off" class="layui-input">
                            </div>
                        </div>
                    </div>
                    <div class="layui-inline" style="margin-right: 0;">
                        <label class="layui-form-label" style="width: 60px;">物品编码</label>
                        <div class="layui-input-inline" style="margin-right: 0;">
                            <input type="text" id="SkuNo" name="SkuNo" placeholder="物料编码" autocomplete="off"
                                class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline" style="margin-right: 0;">
                        <label class="layui-form-label" style="width: 60px;">物品名称</label>
                        <div class="layui-input-inline" style="margin-right: 0;">
                            <input type="text" id="SkuName" name="SkuName" placeholder="物料名称" autocomplete="off"
                                class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline" style="margin-right: 0;">
                        <label class="layui-form-label" style="width: 60px;">批次号</label>
                        <div class="layui-input-inline" style="margin-right: 0;">
                            <div class="layui-input-inline" style="margin-right: 0;">
                                <input type="text" id="LotNo" name="LotNo" placeholder="批次号" autocomplete="off"
                                    class="layui-input">
                            </div>
                        </div>
                    </div>
                    <div class="layui-inline" style="margin-right: 0;">
                        <label class="layui-form-label">状态</label>
                        <div class="layui-input-inline" style="margin-right: 0;">
                            <div class="layui-input-inline" style="margin-right: 0;">
                                <select name="Status" id="Status" lay-filter="Status" lay-search>
                                    <option value=""></option>
                                    <option value="0">等待执行</option>
                                    <option value="1">正在执行</option>
                                    <option value="2">执行完成</option>
                                    <option value="4">已取消</option>
                                </select>
                            </div>
                        </div>
                    </div>
                    <div class="layui-inline">
                        <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
                            lay-filter="LAY-app-contlist-search">
                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>搜索
                        </button>
                        <!-- <button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-btn-normal buDaLabelClass" style="margin-left: 5px;" lay-event="BuDaLabel" id="BuDaLabel">
                            <i class="layui-icon layui-icon-print layuiadmin-button-btn"></i>补打标签
                        </button>
                        <button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-btn-danger delLabelClass" style="margin-left: 5px;" lay-event="delLabel" id="delLabel">
                            <i class="layui-icon layui-icon-delete layuiadmin-button-btn"></i>删除标签
                        </button> -->
                    </div>
                    <!-- 确认出库口弹窗 -->
                    <!-- <div class="layui-inline" id="divDelLotNo" style="display: none; padding-top: 10px;">
                        <div class="layui-inline">
                            <label class="layui-form-label">入库单据</label>
                            <div class="layui-input-inline" style="width: 220px;">
                                <input type="text" id="AsnNoSelect" name="AsnNoSelect" placeholder="入库单据" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-inline DivLoadingArea" style="margin-top: 10px;">
                            <label class="layui-form-label">批次号</label>
                            <div class="layui-input-inline" style="width: 220px;">
                                <select name="LotNoSelect" id="LotNoSelect" lay-search>
                                    <option value=""></option>
                                </select>
                            </div>
                        </div>
                    </div> -->
                </div>
            </div>
            <div class="layui-card-body">
                <div class="position-relative">
                    <table id="Box-list" lay-filter="Box-list"></table>
                    <div class="headerSetIcon">
                        <button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols">
                            <i class="layui-icon">&#xe610;</i>
                        </button>
                    </div>
                    <script type="text/html" id="templetStatus">
                        {{# function GetBtn1(d){
                                switch (d.Status) {
                                    case "0": return '<button class="layui-btn layui-btn-radius layui-btn-xs">等待执行</button>';
                                    case "1": return '<button class="layui-btn layui-btn-radius layui-btn-xs layui-btn-danger ">正在执行</button>';
                                    case "2": return '<button class="layui-btn layui-btn-radius layui-btn-xs layui-btn-normal ">执行完成</button>';
                                    case "3": return '<button class="layui-btn layui-btn-radius layui-btn-xs layui-btn-normal ">已取消</button>';
                                    default: return "";
                                }
                            }
                        }}
                        {{ GetBtn1(d) }}
                    </script>
                    <script type="text/html" id="templetCreateTime">
                        {{# function GetBtn2(d){
                                return formatDate(d.CreateTime);
                            }
                        }}
                        {{ GetBtn2(d) }}
                    </script>
                    <script type="text/html" id="templetUpdateTime">
                        {{# function GetBtn3(d){
                                return formatDate(d.UpdateTime);
                            }
                        }}
                        {{ GetBtn3(d) }}
                    </script>
                </div>
                <script type="text/html" id="toolbarDemoList">
                    {{# function GetBtn2(d){
                            var html = '';
                            if(d.Origin == "WMS生成" || d.Status == "0"){
                                html = `<a class="layui-btn layui-btn-danger layui-btn-xs delClass" lay-event="del">
                                    <i class="layui-icon layui-icon-delete"></i>删除</a>`;
                            }
                            return html;
                        }
                    }}
                    {{ GetBtn2(d) }}
                </script>
            </div>
        </div>
    </div>
    <script src="../../layuiadmin/layui/layui.js"></script>
    <script src="../../js/public.js"></script>
    <script src="../../js/jquery-3.5.1.min.js"></script>
    <script src="../../js/jquery.cookie.js"></script>
    <script>
        // layui.extend({
        //     excel: '../../layuiadmin/layui/layui_exts/excel' // {/}的意思即代表采用自有路径,即不跟随 base 路径
        // })
        layui.config({
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'layer', 'table', 'laydate',], function () {
            var form = layui.form,
                table = layui.table,
                layer = layui.layer,
                laydate = layui.laydate;
            // 搜索方法
            form.on('submit(LAY-app-contlist-search)', function (data) {
                bindTable();
            });
            // 页面加载绑定Table
            bindTable();
            //生成
            $('#BuDaLabel').on('click', function () {
                layer.open({
                    type: 2,
                    title: '打印',
                    content: 'LabelBoxBuDa.html',
                    maxmin: true,
                    area: ['430px', '390px'],
                    // btn: ['取消']
                });
            });
            $("#AsnNoSelect").on('input', function () {
                if ($("#AsnNoSelect").val() == "" || $("#AsnNoSelect").val().length < 16) {
                    return
                }
                if ($("#AsnNoSelect").val().length >= 16) {
                    $("#AsnNoSelect").val($("#AsnNoSelect").val().substr(-16))
                }
                GetLotNoByAsnNo()
            })
            function GetLotNoByAsnNo() {
                $("#LotNoSelect").empty()
                $("#LotNoSelect").append('<option value =>' + '</option>');
                form.render('select');
                var param = {
                    asnNo: $("#AsnNoSelect").val(),
                };
                sendData(IP + "/BllAsn/GetLotNoListByAsn", param, 'get', function(res) {
                    if (res.code == 0) { //成功
                        for (var i = 0; i < res.data.length; i++) {
                            $("#LotNoSelect").append('<option value =' + res.data[i] + '>' + res.data[i] + '</option>');
                        }
                        form.render('select');
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 3000 //2秒关闭(如果不配置,默认是3秒)
                        }, function() {
                        });
                    }
                });
            }
            //删除标签
            $('#delLabel').on('click', function () {
                layer.open({
                    type: 1,
                    title: '删除标签',
                    content: $('#divDelLotNo'),
                    maxmin: false,
                    area: ['350px','340px'],
                    btn: ['确定', '取消'],
                    yes: function(index, layero) {
                        var param = {
                            AsnNo: $('#AsnNoSelect').val(),
                            LotNo: $('#LotNoSelect').val(),
                        };
                        sendData(IP + "/BllAsn/DelLabelByAsnNo", param, 'post', function(res) {
                            if (res.code == 0) { //成功
                                bindTable();
                                layer.msg(res.msg, {
                                    icon: 1,
                                    time: 1500 //1秒关闭(如果不配置,默认是3秒)
                                }, function() {
                                    $('#AsnNoSelect').val("");
                                    $("#LotNoSelect").empty()
                                    $("#LotNoSelect").append('<option value =>' + '</option>');
                                    form.render('select');
                                });
                            } else { //不成功
                                layer.msg(res.msg, {
                                    icon: 2,
                                    time: 3000 //2秒关闭(如果不配置,默认是3秒)
                                }, function() {
                                    bindTable();
                                    $('#AsnNoSelect').val("");
                                    $("#LotNoSelect").empty()
                                    $("#LotNoSelect").append('<option value =>' + '</option>');
                                    form.render('select');
                                });
                            }
                            layer.close(index);
                        });
                    }
                });
            });
            //自定义表头
            var TotalColsArr = [[
                { field: 'TraceNo', title: '追溯号', align: 'center',fixed: 'left', width: 180, "disabled": true },
                { field: 'TaskNo', title: '任务号', align: 'center', fixed: 'left', width: 220, "disabled": true },
                { field: 'PalletNo', title: '托盘号', align: 'center', fixed: 'left', width: 220, "disabled": true  },
                { field: 'Status', title: '状态', align: 'center', templet: '#templetStatus', width: 90 },
                { field: 'SkuNo', title: '物料编码', align: 'center',  width: 140},
                { field: 'SkuName', title: '物料名称', align: 'center'},
                { field: 'LotNo', title: '批次号', align: 'center', width: 155},
                { field: 'LocatName', title: '储位地址', align: 'center', width: 90 },
                { field: 'RoadwayName', title: '所属巷道', align: 'center', width: 90 },
                { field: 'WareHouseName', title: '所属仓库', align: 'center', width: 90 },
                { field: 'CreateUserName', title: '创建人', align: 'center', width: 100 },
                { field: 'CreateTime', title: '创建时间', align: 'center', width: 160, templet: '#templetCreateTime' },
                { field: 'UpdateUserName', title: '更新人', align: 'center', width: 100 },
                { field: 'UpdateTime', title: '更新时间', align: 'center', width: 160, templet: '#templetUpdateTime' },
                //{ field: 'caozuo', title: '操作', fixed: 'right', width: 100, align: 'center', toolbar: '#toolbarDemoList', "disabled": true }
            ]];
            //url编码
            var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
            //#endregion
            function bindTable() {
                var colsJson
                var param1 = {
                    Href: 'BllAsn/GetPalletUpShelfList'
                };
                sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function (res) {
                    if (res.code == 0) {
                        if (res.data == '' || res.data == undefined || res.data == null) {
                            colsJson = TotalColsArr
                        } else {
                            colsJson = eval(res.data);
                        }
                    } else {
                        colsJson = TotalColsArr
                    }
                    var param = {
                        TraceNo:$("#ASNNo").val(),
                        TaskNo: $("#BoxNo").val(),
                        PalletNo: $("#PalletNo").val(),
                        SkuNo: $("#SkuNo").val(),
                        SkuName: $("#SkuName").val(),
                        LotNo: $("#LotNo").val(),
                        Status: $("#Status").val(),
                    };
                    table.render({
                        elem: '#Box-list',
                        url: IP + "/BllAsn/GetPalletUpShelfList",
                        method: 'POST',
                        height: 'full-96',
                        id: 'Box-list',
                        where: param,
                        contentType: 'application/json',
                        headers: { ToKen: $.cookie('token') },
                        page: true,
                        even: true,
                        limit: pageCnt,
                        limits: pageLimits,
                        cellMinWidth: 60, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                        done: function (res) {
                            //自定义列宽
                            SetTableColW('Box-list', 'BllAsn/GetPalletUpShelfList', TotalColsSysArr);
                        },
                        cols: colsJson
                    });
                });
                //#endregion
            }
            //自定义表头
            active = {
                customCols: function () {
                    layer.open({
                        type: 2,
                        title: '自定义列',
                        content: '../SystemSettings/HeaderSetting.html?Href=BllAsn/GetPalletUpShelfList&ColsSysArr=' + TotalColsSysArr,
                        maxmin: false,
                        resize: false,
                        area: ['970px', '650px']
                    });
                },
            };
            $('.layui-btn').on('click', function () {
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });
        })
    </script>
</body>
</html>
Wms/Model/ModelDto/BllAsnDto/PalletUpShelfDto.cs
New file
@@ -0,0 +1,89 @@
using Model.ModelDto.SysDto;
using System;
using System.Collections.Generic;
using System.Text;
namespace Model.ModelDto.BllAsnDto
{
    public class PalletUpShelfDto
    {
        public int Id { get; set; }
        /// <summary>
        /// 追溯号  --入库单号
        /// </summary>
        public string TraceNo { get; set; }
        /// <summary>
        /// 任务号
        /// </summary>
        public string TaskNo { get; set; }
        /// <summary>
        /// 托盘号
        /// </summary>
        public string PalletNo { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        public string SkuNo { get; set; }
        /// <summary>
        /// 物料名称
        /// </summary>
        public string SkuName { get; set; }
        /// <summary>
        /// 批次号
        /// </summary>
        public string LotNo { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public string Status { get; set; }
        /// <summary>
        /// 仓库
        /// </summary>
        public string WareHouseNo { get; set; }
        /// <summary>
        /// 仓库名称
        /// </summary>
        public string WareHouseName { get; set; }
        /// <summary>
        /// 巷道
        /// </summary>
        public string RoadwayNo { get; set; }
        /// <summary>
        /// 巷道名称
        /// </summary>
        public string RoadwayName { get; set; }
        /// <summary>
        /// 区域
        /// </summary>
        public string AreaNo { get; set; }
        /// <summary>
        /// 区域名称
        /// </summary>
        public string AreaName { get; set; }
        /// <summary>
        /// 储位
        /// </summary>
        public string LocatNo { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 创建人名称
        /// </summary>
        public string CreateUserName { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }
        /// <summary>
        /// 修改人名称
        /// </summary>
        public string UpdateUserName { get; set; }
    }
}
Wms/Model/ModelVm/BllAsnVm/PalletUpShelfVm.cs
New file
@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model.ModelVm.BllAsnVm
{
    /// <summary>
    /// 上架任务记录Vm
    /// </summary>
    public class PalletUpShelfVm : IndexPage
    {
        /// <summary>
        /// 追溯号  --入库单号
        /// </summary>
        public string TraceNo { get; set; }
        /// <summary>
        /// 任务号
        /// </summary>
        public string TaskNo { get; set; }
        /// <summary>
        /// 托盘号
        /// </summary>
        public string PalletNo { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        public string SkuNo { get; set; }
        /// <summary>
        /// 物料名称
        /// </summary>
        public string SkuName { get; set; }
        /// <summary>
        /// 批次号
        /// </summary>
        public string LotNo { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public string Status { get; set; }
    }
}
Wms/WMS.BLL/BllAsnServer/PalletUpShelfServer.cs
New file
@@ -0,0 +1,71 @@
using Model.ModelDto.BllAsnDto;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
using WMS.Entity.Context;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllAsnServer;
namespace WMS.BLL.BllAsnServer
{
    public class PalletUpShelfServer : DbHelper<BllPalletUpShelf>, IPalletUpShelfServer
    {
        private static readonly SqlSugarScope Db = DataContext.Db;
        public PalletUpShelfServer() : base(Db)
        {
        }
        public async Task<List<PalletUpShelfDto>> GetPalletUpShelfList(string traceNo, string taskNo, string palletNo, string skuNo, string skuName, string lotNo, string status, int page, int limit, RefAsync<int> count)
        {
            Expression<Func<BllPalletUpShelf, bool>> item = Expressionable.Create<BllPalletUpShelf>()
                   .AndIF(!string.IsNullOrWhiteSpace(traceNo), it => it.TraceNo.Contains(traceNo.Trim()))
                   .AndIF(!string.IsNullOrWhiteSpace(taskNo), it => it.TaskNo.Contains(taskNo.Trim()))
                   .AndIF(!string.IsNullOrWhiteSpace(palletNo), it => it.PalletNo.Contains(palletNo.Trim()))
                   .AndIF(!string.IsNullOrWhiteSpace(skuNo), it => it.SkuNo.Contains(skuNo.Trim()))
                   .AndIF(!string.IsNullOrWhiteSpace(skuName), it => it.SkuName.Contains(skuName.Trim()))
                   .AndIF(!string.IsNullOrWhiteSpace(lotNo), it => it.LotNo.Contains(lotNo.Trim()))
                   .AndIF(!string.IsNullOrWhiteSpace(status), it => it.Status == status)
                   .And(it => it.IsDel == "0")
                   .ToExpression();//注意 这一句 不能少
            var list = await Db.Queryable<BllPalletUpShelf>().Where(item)
                .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
                .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id)
                .LeftJoin<SysWareHouse>((a,b,c,d)=> a.WareHouseNo == d.WareHouseNo)
                .LeftJoin<SysStorageRoadway>((a,b,c,d,e) => a.RoadwayNo == e.RoadwayNo)
                .LeftJoin<SysStorageArea>((a,b,c,d,e,f) => a.AreaNo == f.AreaNo)
                .Select((a, b,c,d,e,f) => new PalletUpShelfDto
                {
                    Id = a.Id,
                    TraceNo = a.TraceNo,
                    TaskNo = a.TaskNo,
                    PalletNo = a.PalletNo,
                    SkuNo = a.SkuNo,
                    SkuName = a.SkuName,
                    LotNo = a.LotNo,
                    Status = a.Status,
                    WareHouseNo = a.WareHouseNo,
                    WareHouseName = d.WareHouseName,
                    RoadwayNo = a.RoadwayNo,
                    RoadwayName = e.RoadwayName,
                    AreaNo = a.AreaNo,
                    AreaName = f.AreaName,
                    LocatNo = a.LocatNo,
                    CreateTime = a.CreateTime,
                    CreateUserName = b.RealName,
                    UpdateTime = a.UpdateTime,
                    UpdateUserName = c.RealName,
                }).OrderByDescending(a => a.CreateTime).ToOffsetPageAsync(page, limit, count);
            return list;
        }
    }
}
Wms/WMS.Entity/BllAsnEntity/BllPalletUpShelf.cs
New file
@@ -0,0 +1,63 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
namespace WMS.Entity.BllAsnEntity
{
    /// <summary>
    /// 托盘上架记录
    /// </summary>
    [SugarTable("BllPalletUpShelf")]
    public class BllPalletUpShelf:BaseEntity
    {
        /// <summary>
        /// 追溯号  --入库单号
        /// </summary>
        public string TraceNo { get; set; }
        /// <summary>
        /// 任务号
        /// </summary>
        public string TaskNo { get; set; }
        /// <summary>
        /// 托盘号
        /// </summary>
        public string PalletNo { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        public string SkuNo { get; set; }
        /// <summary>
        /// 物料名称
        /// </summary>
        public string SkuName { get; set; }
        /// <summary>
        /// 批次号
        /// </summary>
        public string LotNo { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public string Status { get; set; }
        /// <summary>
        /// 仓库
        /// </summary>
        public string WareHouseNo { get; set; }
        /// <summary>
        /// 巷道
        /// </summary>
        public string RoadwayNo { get; set; }
        /// <summary>
        /// 区域
        /// </summary>
        public string AreaNo { get; set; }
        /// <summary>
        /// 储位
        /// </summary>
        public string LocatNo { get; set; }
    }
}
Wms/WMS.IBLL/IBllAsnServer/IPalletUpShelfServer.cs
New file
@@ -0,0 +1,41 @@
using Model.ModelDto;
using Model.ModelDto.BllAsnDto;
using Model.ModelDto.SysDto;
using Model.ModelVm;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Threading.Tasks;
using WMS.Entity.BllAsnEntity;
namespace WMS.IBLL.IBllAsnServer
{
    public interface IPalletUpShelfServer
    {
        /// <summary>
        /// 获取上架任务记录信息
        /// </summary>
        /// <param name="traceNo">追溯号--入库单号</param>
        /// <param name="taskNo">任务号</param>
        /// <param name="palletNo">托盘号</param>
        /// <param name="skuNo">物料号</param>
        /// <param name="skuName"></param>
        /// <param name="lotNo"></param>
        /// <param name="status"></param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        Task<List<PalletUpShelfDto>> GetPalletUpShelfList(string traceNo, string taskNo, string palletNo, string skuNo, string skuName,string lotNo,string status, int page, int limit, RefAsync<int> count);
    }
}
Wms/Wms/Controllers/BllAsnController.cs
@@ -14,12 +14,15 @@
using System.Threading.Tasks;
using SqlSugar;
using System.Diagnostics;
using Model.ModelDto.SysDto;
using static System.Reflection.Metadata.BlobBuilder;
namespace Wms.Controllers
{
    [Route("api/[controller]/[action]")]
    [ApiController]
    [Authorize]
    [ServiceFilter(typeof(ApiResponseActionFilter))]
    public class BllAsnController : ControllerBase
    {
@@ -33,10 +36,11 @@
        private readonly IAuditLogServer _auditLog;                                 // 审核记录
        private readonly IBllLabelBoxNoServer _labelBox;                            // 箱码标签
        private readonly IProcurePlanServer _procurePlanSvc;                            // 箱码标签
        private readonly IPalletUpShelfServer _palletUpShelfSvc;                            // 上架记录
        #endregion
        #region 构造函数
        public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc, IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc, IOperationASNServer logSvc, IPalletUnbindServer palletUnbind, IAuditLogServer auditLog, IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc)
        public BllAsnController(IArrivalNoticeServer arrivalNoticeSvc, IPalletBindServer palletBindSvc, IBllBoxInfoServer bllBoxInfoSvc, ITaskServer taskSvc, IOperationASNServer logSvc, IPalletUnbindServer palletUnbind, IAuditLogServer auditLog, IBllLabelBoxNoServer labelBox, IProcurePlanServer procurePlanSvc, IPalletUpShelfServer palletUpShelfSvc)
        {
            _arrivalNoticeSvc = arrivalNoticeSvc;
            _PalletBindSvc = palletBindSvc;
@@ -47,6 +51,7 @@
            _auditLog = auditLog;
            _labelBox = labelBox;
            _procurePlanSvc = procurePlanSvc;
            _palletUpShelfSvc = palletUpShelfSvc;
        }
        #endregion
@@ -1257,6 +1262,22 @@
            }
        }
        #endregion
        #region 上架任务记录
        /// <summary>
        /// 获取上架任务记录信息分页集合
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<SqlSugarPagedList> GetPalletUpShelfList(PalletUpShelfVm model)
        {
            RefAsync<int> count = new RefAsync<int>();
            var data = await _palletUpShelfSvc.GetPalletUpShelfList(model.TraceNo, model.TaskNo,model.PalletNo,model.SkuNo,model.SkuName,model.LotNo,model.Status,model.Page,model.Limit, count);
            return new SqlSugarPagedList() { Items = data, Total = count };
        }
        #endregion
    }
}