yyk
2024-07-18 ac85d00b1c88e0088c9f6f23c09a4ed87415ad38
修改库存信息接口及页面。
7个文件已修改
778 ■■■■■ 已修改文件
HTML/js/public.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/StatisticalReport/InventoryStatistics.html 398 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelDto/DataDto/MateDataStockDto.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/DataServer/StockServer.cs 328 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.Entity/Context/DataContext.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IDataServer/IStockServer.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/StatisticalController.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/js/public.js
@@ -203,9 +203,9 @@
  var bodyHeight = $("#body").outerHeight();
  var topHeight = $("#top").outerHeight();
  var centerHeight = $("#center").outerHeight();
//   console.log(bodyHeight);
//   console.log(topHeight);
//   console.log(centerHeight);
  console.log(bodyHeight);
  console.log(topHeight);
  console.log(centerHeight);
  var hh = bodyHeight - topHeight-centerHeight - 26 ;//6是body上内边距 
  return hh;
HTML/views/StatisticalReport/InventoryStatistics.html
@@ -36,6 +36,18 @@
            <div class="layui-form layui-card-header layuiadmin-card-header-auto" id="top">
                <div class="layui-form-item" style="margin-bottom: 0px;">
                    <div class="layui-inline ">
                        <label class="layui-form-label" style="width: 60px;">查询类型</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                            <select name="SelectType" id="SelectType" lay-filter="SelectType" lay-search>
                                <option value="">正常</option>
                                <option value="0">物料信息</option>
                                <option value="1">批次信息</option>
                                <option value="2">质检信息</option>
                                <option value="3">货主信息</option>
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline zongdan">
                        <label class="layui-form-label" style="width: 60px;">物料编码</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
@@ -71,7 +83,7 @@
                                class="layui-input">
                        </div>
                    </div>
                    <div class="layui-inline mingxi">
                    <!-- <div class="layui-inline mingxi">
                        <label class="layui-form-label" style="width: 60px;">储位地址</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                            <input type="text" id="LocatNo" name="LocatNo" placeholder="储位地址" autocomplete="off"
@@ -84,7 +96,7 @@
                            <input type="text" id="PalletNo" name="PalletNo" placeholder="托盘号" autocomplete="off"
                                class="layui-input">
                        </div>
                    </div>
                    </div> -->
                    
                    <div class="layui-inline ">
                        <label class="layui-form-label" style="width: 60px;">库存状态</label>
@@ -123,7 +135,7 @@
                            </select>
                        </div>
                    </div>
                    <div class="layui-inline zhijian">
                    <!-- <div class="layui-inline zhijian">
                        <label class="layui-form-label" style="width: 60px;">开始时间</label>
                        <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
                            <input type="text" autocomplete="off" id="StartTime" class="layui-input"
@@ -136,7 +148,7 @@
                            <input type="text" autocomplete="off" id="EndTime" class="layui-input"
                                placeholder="结束时间">
                        </div>
                    </div>
                    </div> -->
                    <div class="layui-inline sousuo">
                        <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
                            lay-filter="LAY-app-contlist-search">
@@ -151,19 +163,15 @@
                </div>
            </div>
            <div id="center"></div>
            <div class="layui-card-body">
                <div style="position: relative;">
                    <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
                        <ul class="layui-tab-title" id="tab">
                            <li class="layui-this">库存总量</li>
                            <li>库存明细</li>
                        </ul>
                        <div id="center"></div>
                        <!-- <div id="center">
                        </div> -->
                        <div class="layui-tab-content">
                            <div class="layui-tab-item layui-show">
                            <!-- <div class="layui-tab-item layui-show"> -->
                                <div class="position-relative"><!-- class="position-relative" --><!-- 自定义表头加上 -->
                                    <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
                                    <!-- #region 自定义表头 -->
@@ -174,29 +182,6 @@
                                    </div>
                                    <!-- #endregion -->
                                </div>
                            </div>
                            <div class="layui-tab-item">
                                <div class="position-relative"><!-- class="position-relative" --><!-- 自定义表头加上 -->
                                    <table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2"></table>
                                    <!-- #region 自定义表头 -->
                                    <div class="headerSetIcon">
                                        <button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols2">
                                            <i class="layui-icon">&#xe610;</i>
                                        </button>
                                    </div>
                                    <!-- #endregion -->
                                    <!-- #region 自定义表头 -->
                                    <script type="text/html" id="templetCompleteTime">
                                        {{# function GetBtn(d){
                                                return formatDate(d.CompleteTime);
                                            }
                                        }}
                                        {{ GetBtn(d) }}
                                    </script>
                                    <!-- #endregion -->
                                </div>
                            </div>
                        </div>
                    </div>
@@ -258,7 +243,7 @@
            element = layui.element;
            laydate = layui.laydate;
            var h1 = GetTableTabHeight();
            var h1 = GetTableHeight();
            laydate.render({
                elem: '#StartTime',
@@ -296,7 +281,7 @@
            var $ = layui.$;
            var yemianid = 0;
            refreshTable("", "","","","");
            refreshTable("", "", "", "", "", "", "", "");
            // 表单需要的变量
            var infoOptions;
@@ -361,14 +346,17 @@
                        {field: 'LotText',title: '批次描述',align: 'center'},
                        {field: 'OwnerNo',title: '货主编码',align: 'center'},
                        {field: 'OwnerName',title: '货主名称',align: 'center'}, 
                        {field: 'Status',title: '库存状态',align: 'center',templet: '#buttonTpl'},
                        {field: 'InspectStatus',title: '质检状态',align: 'center',templet: '#buttonTp2'},
                        {field: 'Qty',title: '库存数量',align: 'center',totalRow: true}, 
                        {field: 'LockQty',title: '锁定数量',align: 'center',totalRow: true}, 
                        {field: 'FrozenQty',title: '冻结数量',align: 'center',totalRow: true}
                        {field: 'FrozenQty',title: '冻结数量',align: 'center',totalRow: true},
                        {field: 'InspectQty',title: '可抽检数量',align: 'center',totalRow: true},
                    ]];
            var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//将表头数据进行url编码
            //#endregion
            //获取总量信息
            function refreshTable(SkuNo,SkuName,OwnerNo,OwnerName,LotNo) {
            function refreshTable(SelectType,SkuNo,SkuName,OwnerNo,OwnerName,LotNo,Status,InspectStatus) {
                //#region 自定义表头
                var colsJson
                var param1={
@@ -401,11 +389,14 @@
                        cols:colsJson
                    };
                    var param = {
                        SelectType:SelectType, //查询类型
                        SkuNo:SkuNo, //物料号
                        SkuName:SkuName, //物料名称
                        OwnerNo:OwnerNo, //货主编码
                        OwnerName:OwnerName, //货主名称
                        LotNo:LotNo, //批次号
                        Status:Status, //库存状态 = $("#Status").val();
                        InspectStatus:InspectStatus, //质检状态 = $("#InspectStatus").val();
                    };
                    sendData(IP + "/Statistical/GetInventoryList", param, 'get', function (res) {
                        console.log(res)
@@ -428,319 +419,47 @@
                    });
                });
                //#endregion
            }
            // 表单需要的变量
            var infoOptions2;
            //#region 原始非自定义列
            //infoOptions2 = {
            //    elem: '#LAY-app-content-list2',
            //    height: 'full-206',
            //    id: 'LAY-app-content-list2',
            //    page: true,
            //    limit: pageCnt,
            //    limits: pageLimits,
            //    even: true,
            //    cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
            //    cols:
            //        [[
            //            {
            //                field: 'PalletNo',
            //                title: '托盘号',
            //                align: 'center',
            //                width: 110,
            //            }, {
            //                field: 'LocatNo',
            //                title: '储位地址',
            //                align: 'center',
            //                width: 100,
            //            }, {
            //                field: 'RoadwayName',
            //                title: '所属巷道',
            //                width: 90,
            //                align: 'center',
            //            }, {
            //                field: 'WareHouseName',
            //                title: '所属仓库',
            //                width: 90,
            //                align: 'center',
            //            }, {
            //                field: 'SkuNo',
            //                title: '物料编码',
            //                width: 100,
            //                align: 'center',
            //            }, {
            //                field: 'SkuName',
            //                title: '物料名称',
            //                align: 'center',
            //            }, {
            //                field: 'Standard',
            //                title: '物料规格',
            //                width: 130,
            //                align: 'center',
            //            }, {
            //                field: 'LotNo',
            //                title: '批次号',
            //                align: 'center',
            //            }, {
            //                field: 'Qty',
            //                title: '库存数量',
            //                width: 110,
            //                align: 'center',
            //            }, {
            //                field: 'LockQty',
            //                title: '锁定数量',
            //                width: 110,
            //                align: 'center',
            //            },
            //            {
            //                field: 'Status',
            //                templet: '#buttonTpl',
            //                title: '库存状态',
            //                width: 90,
            //                align: 'center',
            //            }, {
            //                field: 'InspectStatus',
            //                templet: '#buttonTp2',
            //                title: '质检状态',
            //                width: 90,
            //                align: 'center',
            //            },
            //            {
            //                field: 'CompleteTime',
            //                title: '入库时间',
            //                align: 'center',
            //                width: 150,
            //                templet: function (d) {
            //                    return formatDate(d.CompleteTime);
            //                },
            //            },
            //        ]]
            //};
            //#endregion
            //获取明细信息
            //#region 自定义表头
            var DetailColsArr = [[
                        {field: 'PalletNo',title: '托盘号',align: 'center',width: 110,},
                        {field: 'LocatNo',title: '储位地址',align: 'center',width: 100,},
                        {field: 'WareHouseName',title: '所属仓库',width: 90,align: 'center'},
                        {field: 'RoadwayName',title: '所属巷道',width: 90,align: 'center'},
                        {field: 'AreaName',title: '所属区域',width: 90,align: 'center'},
                        {field: 'SkuNo',title: '物料编码',width: 100,align: 'center'},
                        {field: 'SkuName',title: '物料名称',align: 'center'},
                        {field: 'Standard',title: '物料规格',width: 130,align: 'center'},
                        {field: 'LotNo',title: '批次号',align: 'center'},
                        {field: 'OwnerNo',title: '货主编码',align: 'center'},
                        {field: 'OwnerName',title: '货主名称',align: 'center'},
                        {field: 'SupplierNo',title: '供应商编码',align: 'center'},
                        {field: 'SupplierName',title: '供应商名称',align: 'center'},
                        {field: 'Qty',title: '库存数量',width: 110,align: 'center'},
                        {field: 'LockQty',title: '锁定数量',width: 110,align: 'center'},
                        {field: 'Status',templet: '#buttonTpl',title: '库存状态',width: 90,align: 'center'},
                        {field: 'InspectStatus',templet: '#buttonTp2',title: '质检状态',width: 90,align: 'center'},
                        {field: 'CompleteTime',title: '入库时间',align: 'center',width: 150,templet: '#templetCompleteTime'},
                    ]];
            var DetailColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//将表头数据进行url编码
            //#endregion
            function refreshTable2(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus,StartTime,EndTime) {
                //#region 自定义表头
                var colsJson2
                var param1={
                    Href:'Statistical/GetInventoryList1'
                };
                sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) {
                    if (res.code == 0){
                        if(res.data=='' || res.data==undefined || res.data==null){
                            colsJson2=DetailColsArr
                        }else{
                            colsJson2= eval(res.data);
                        }
                    }else{
                            colsJson2=DetailColsArr
                    }
                    infoOptions2 = {
                        elem: '#LAY-app-content-list2',
                        height: h1,
                        id: 'LAY-app-content-list2',
                        page: true,
                        limit: pageCnt,
                        limits: pageLimits,
                        even: true,
                        cellMinWidth: 80, //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                        done: function(){
                            //自定义列宽
                            SetTableColW('LAY-app-content-list2','Statistical/GetInventoryList1',DetailColsSysArr);
                        },
                        cols:colsJson2
                    };
                    var param = {
                        SkuNo:SkuNo, //物料号
                        SkuName:SkuName, //物料名称
                        OwnerNo:OwnerNo, //货主编码
                        OwnerName:OwnerName, //货主名称
                        LotNo:LotNo, //批次号
                        LocatNo:LocatNo,//储位地址
                        PalletNo:PalletNo, //托盘号
                        Status:Status,//库存状态
                        InspectStatus:InspectStatus, //质检状态
                        StartTime:StartTime,//开始时间
                        EndTime:EndTime, //结束时间
                    };
                    sendData(IP + "/Statistical/GetInventoryList1", param, 'get', function (res) {
                        if (res.code == 0) //成功
                        {
                            var list = res.data;
                            $.extend(infoOptions2, {
                                data: list
                            });
                            infoOptions2.page = {
                                curr: 1
                            }
                            tableIns2 = table.render(infoOptions2);
                        }
                        else //不成功
                        {
                            layer.msg('获取明细列表信息失败!', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            }, function () { });
                        }
                    })
                });
                //#endregion
            }
            }
            
            //var url = IP + "/Statistical/GetInventoryList1";
            //接受全局变量
            let quanSkuNo = '';
            let quanLotNo='';
            //监听搜索
            form.on('submit(LAY-app-contlist-search)', function (data) {
                var SelectType = $("#SelectType").val();
                var SkuNo = $("#SkuNo").val();
                var SkuName = $("#SkuName").val();
                var LotNo = $("#LotNo").val();
                var LocatNo = $("#LocatNo").val();
                var PalletNo = $("#PalletNo").val();
                var OwnerNo = $("#OwnerNo").val();
                var OwnerName = $("#OwnerName").val();
                var Status = $("#Status").val();
                var InspectStatus = $("#InspectStatus").val();
                var StartTime = $("#StartTime").val();
                var EndTime = $("#EndTime").val();
                if (yemianid == 0) {
                    console.log("总单");
                    refreshTable(SkuNo, SkuName,OwnerNo,OwnerName,LotNo);
                } else if (yemianid == 1) {
                    //quanSkuNo = quanSkuNo;
                    //quanLotNo='';
                    console.log("明细");
                    console.log(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus,StartTime,EndTime)
                    refreshTable2(quanSkuNo,SkuName,OwnerNo,OwnerName,quanLotNo,LocatNo,PalletNo,Status,InspectStatus,StartTime,EndTime);
                }
                refreshTable(SelectType,SkuNo, SkuName,OwnerNo,OwnerName,LotNo,Status,InspectStatus);
            });
            //触发行双击事件
            table.on('rowDouble(LAY-app-content-list)', function (obj) {
                $(".layui-tab-title>li").attr("class", "");
                $('.layui-tab-title>li').eq(1).attr('class', 'layui-this');
                $('.layui-tab-content .layui-tab-item').attr('class', 'layui-tab-item')
                $('.layui-tab-content .layui-tab-item').eq(1).attr('class', 'layui-tab-item layui-show')
                console.log(obj);
                quanSkuNo = obj.data.SkuNo;
                quanLotNo=obj.data.lotNo;
                refreshTable2(obj.data.SkuNo,obj.data.SkuName,obj.data.OwnerNo,obj.data.OwnerName,obj.data.LotNo,obj.data.LocatNo,obj.data.PalletNo,obj.data.Status,obj.data.InspectStatus,obj.data.StartTime,obj.data.EndTime);
                yemianid = 1;
            });
            //监听Tab切换,以改变地址hash值
            element.on('tab(docDemoTabBrief)', function (data) {
                var SkuNo = $("#SkuNo").val();
                var SkuName = $("#SkuName").val();
                var LotNo = $("#LotNo").val();
                var LocatNo = $("#LocatNo").val();
                var PalletNo = $("#PalletNo").val();
                var OwnerNo = $("#OwnerNo").val();
                var OwnerName = $("#OwnerName").val();
                var Status = $("#Status").val();
                var InspectStatus = $("#InspectStatus").val();
                console.log(data.index);
                yemianid = data.index
                if (yemianid == 0) {
                    console.log("总单");
                    refreshTable(SkuNo, SkuName,OwnerNo,OwnerName,LotNo);
                } else if (yemianid == 1) {
                    console.log("明细");
                    refreshTable2(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus,StartTime,EndTime);
                }
            });
            form.on('submit(daochu)', function () {
                layer.confirm('确定导出当前数据吗?', function (index) {
                    if (yemianid == 0) {
                        console.log("总单");
                        var param = {
                            SkuNo: $("#SkuNo").val(),
                            SkuName: $("#SkuName").val(),
                        };
                        sendData(IP + "/Statistical/GetInventoryListDaoChu", param, 'get', function (res) {
                            console.log(res);
                            if (res.code == 0) { //成功
                                var list = res.data;
                                table.exportFile(tableIns.config.id, list, 'xls', "库存信息" + getNowTime(),); //data 为该实例中的任意数量的数据
                                layer.msg('导出成功!', {
                                    icon: 1,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function () {
                    var param = {
                        SkuNo: $("#SkuNo").val(),
                        SkuName: $("#SkuName").val(),
                    };
                    sendData(IP + "/Statistical/GetInventoryListDaoChu", param, 'get', function (res) {
                        console.log(res);
                        if (res.code == 0) { //成功
                            var list = res.data;
                            table.exportFile(tableIns.config.id, list, 'xls', "库存信息" + getNowTime(),); //data 为该实例中的任意数量的数据
                            layer.msg('导出成功!', {
                                icon: 1,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            }, function () {
                                });
                            });
                            } else { //不成功
                                layer.msg('获取信息失败!', {
                                    icon: 2,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function () { });
                            }
                        });
                    } else if (yemianid == 1) {
                        console.log("明细");
                        var SkuNo = $("#SkuNo").val();
                        if (SkuNo == '') {
                            SkuNo = quanSkuNo;
                        } else { //不成功
                            layer.msg('获取信息失败!', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            }, function () { });
                        }
                        var param = {
                            SkuNo: SkuNo,
                            SkuName: $("#SkuName").val(),
                            LotNo: $("#LotNo").val(),
                            LocatNo: $("#LocatNo").val(),
                            PalletNo: $("#PalletNo").val(),
                            Status: $("#Status").val(),
                            InspectStatus: $("#InspectStatus").val(),
                            IsSamolingTray: $("#IsSamolingTray").val(),
                            StartTime: $("#StartTime").val(),
                            EndTime: $("#EndTime").val(),
                        };
                        sendData(IP + "/Statistical/GetInventoryList1DaoChu", param, 'get', function (res) {
                            console.log(res);
                            if (res.code == 0) { //成功
                                var list = res.data;
                                table.exportFile(tableIns2.config.id, list, 'xls', "库存明细信息" + getNowTime(),); //data 为该实例中的任意数量的数据
                                layer.msg('导出成功!', {
                                    icon: 1,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function () {
                                });
                            } else { //不成功
                                layer.msg('获取信息失败!', {
                                    icon: 2,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                }, function () { });
                            }
                        });
                    }
                    });
                });
@@ -757,18 +476,7 @@
                        resize: false,
                        area: ['970px', '650px']
                    });
                },
                customCols2: function(){
                    layer.open({
                        type: 2,
                        title: '自定义列',
                        content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetInventoryList1&ColsSysArr='+DetailColsSysArr,
                        maxmin: false,
                        resize: false,
                        area: ['970px', '650px']
                    });
                }
            };
            $('.layui-btn').on('click', function() {
                var type = $(this).data('type');
Wms/Model/ModelDto/DataDto/MateDataStockDto.cs
@@ -38,17 +38,23 @@
        /// <summary>
        /// 数量
        /// </summary>
        public string Qty { get; set; }
        public decimal? Qty { get; set; }
        /// <summary>
        /// 锁定数量
        /// </summary>
        public string LockQty { get; set; }
        public decimal? LockQty { get; set; }
        /// <summary>
        /// 冻结数量
        /// </summary>
        public string FrozenQty { get; set; }
        public decimal? FrozenQty { get; set; }
        /// <summary>
        /// 可抽检数量
        /// </summary>
        public decimal? InspectQty { get; set; }
        /// <summary>
        /// 剩余数量
Wms/WMS.BLL/DataServer/StockServer.cs
@@ -5,9 +5,12 @@
using System.Runtime.Intrinsics.X86;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using Model.ModelDto;
using Model.ModelDto.DataDto;
using Model.ModelDto.SysDto;
using Model.ModelVm.DataVm;
using Model.ModelVm.SysVm;
using SqlSugar;
using WMS.DAL;
using WMS.Entity.Context;
@@ -31,92 +34,255 @@
        /// <summary>
        /// 查询库存总量
        /// </summary>
        /// <param name="selectType">查询类型 0:物料信息 1:批次信息 2:质检信息 3:货主信息</param>
        /// <param name="skuNo">物料编码</param>
        /// <param name="skuName">物料名称</param>
        /// <param name="ownerNo">货主编码</param>
        /// <param name="ownerName">货主名称</param>
        /// <param name="lotNo">批次</param>
        /// <param name="status">库存状态</param>
        /// <param name="inspectStatus">质检状态</param>
        /// <returns></returns>
        public List<MateDataStockDto> GetDataStockList(string skuNo, string skuName, string ownerNo, string ownerName, string lotNo)
        public async Task<List<MateDataStockDto>> GetDataStockList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus)
        {
            string str = "select stock.SkuNo,stock.SkuName,stock.LotNo,stock.LotText,stock.Standard,stock.Qty," +
                "stock.LockQty,stock.FrozenQty,stock.OwnerNo,stock.OwnerName,(mate.Weight * stock.Qty) WeightSum " +
                "from DataStock stock " +
                "left join SysMaterials mate on stock.SkuNo = mate.SkuNo " +
                "Where stock.IsDel = @isdel and mate.IsDel = 0 ";
            //判断物料编码是否为空
            if (!string.IsNullOrEmpty(skuNo))
            List<MateDataStockDto> modUser = new List<MateDataStockDto>();
            if (string.IsNullOrEmpty(selectType))
            {
                str += " and stock.SkuNo like @skuno";
            }
            //判断物料名称是否为空
            if (!string.IsNullOrEmpty(skuName))
            {
                str += " and stock.SkuName like @skuname";
            }
            //判断货主编码是否为空
            if (!string.IsNullOrEmpty(ownerNo))
            {
                str += " and stock.OwnerNo like @ownerNo";
            }
            //判断货主名称是否为空
            if (!string.IsNullOrEmpty(ownerName))
            {
                str += " and stock.OwnerName like @ownerName";
            }
            //判断货主名称是否为空
            if (!string.IsNullOrEmpty(lotNo))
            {
                str += " and stock.LotNo like @lotNo";
            }
            //排序
            str += " order by stock.SkuNo";
            List<MateDataStockDto> StockList = Db.Ado.SqlQuery<MateDataStockDto>(str, new
            {
                isdel = "0", //是否删除
                skuno = "%" + skuNo + "%", //物料编码
                skuname = "%" + skuName + "%", //物料名称
                ownerNo = "%" + ownerNo + "%", //货主编码
                ownerName = "%" + ownerName + "%", //货主名称
                lotNo = "%" + lotNo + "%", //批次号
            });
                modUser = await Db.Queryable<DataStock>()
                            .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo == skuNo)
                            .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName == skuName)
                            .WhereIF(!string.IsNullOrEmpty(ownerNo), a => a.OwnerNo == ownerNo)
                            .WhereIF(!string.IsNullOrEmpty(ownerName), a => a.OwnerName == ownerName)
                            .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo == lotNo)
                            .Where(a => a.IsDel == "0")
                            .Select(a => new MateDataStockDto()
                            {
                                SkuNo = a.SkuNo, //物料编码
                                SkuName = a.SkuName, //物料名称
                                Standard = a.Standard, //规格
                                LotNo = a.LotNo, //批次
                                LotText = a.LotText, //批次描述
                                OwnerNo = a.OwnerNo, //货主编码
                                OwnerName = a.OwnerName, //货主名称
                                Status = status, //库存状态
                                InspectStatus = inspectStatus, //质检状态
                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.Qty), //库存数量
                                //Qty = SqlFunc.AggregateSum(b.Qty), //库存数量
                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.LockQty), //锁定数量
                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.FrozenQty), //冻结数量
                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.InspectQty), //可抽检数量
                            }).ToListAsync();
            //库存总量
            List<MateDataStockDto> StockListDto = new List<MateDataStockDto>();
            foreach (var item in StockList)
            {
                StockListDto.Add(item);
                ////判断库存总量是否拥有物料
                //if (StockListDto.Count > 0)
                //{
                //    int i = 0;
                //    //foreach循环库存总量
                //    foreach (var dto in StockListDto)
                //    {
                //        //判断物料和批次是否相同
                //        if (dto.SkuNo == item.SkuNo && dto.LotNo == item.LotNo)
                //        {
                //            dto.Qty =  (Convert.ToDecimal(dto.Qty) + Convert.ToDecimal(item.Qty)).ToString();
                //            dto.FrozenQty = (Convert.ToDecimal(dto.FrozenQty) + Convert.ToDecimal(item.FrozenQty)).ToString();
                //            dto.LockQty = (Convert.ToDecimal(dto.LockQty) + Convert.ToDecimal(item.LockQty)).ToString();
                //            dto.ResidueQty= (Convert.ToDecimal(dto.ResidueQty) + Convert.ToDecimal(item.ResidueQty)).ToString();
                //            break;
                //        }
                //        i += 1;
                //        //判断已有相同物料
                //        if (i == StockListDto.Count)
                //        {
                //            StockListDto.Add(item);
                //            break;
                //        }
                //    }
                //}
                //else
                //{
                //    StockListDto.Add(item);
                //    continue;
                //}
                return modUser;
            }
            else
            {
                var selectList = new List<DataStockDetail>();
                switch (selectType)
                {
                    case "0": // 物料信息
                        modUser = await Db.Queryable<DataStock>()
                            .Where(a => a.IsDel == "0")
                            .GroupBy(a => new { a.SkuNo, a.SkuName, a.Standard })
                            .Select(a => new MateDataStockDto()
                            {
                                SkuNo = a.SkuNo, //物料编码
                                SkuName = a.SkuName, //物料名称
                                Standard = a.Standard, //规格
                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
                                    .Sum(s => s.Qty), //库存数量
                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
                                    .Sum(s => s.LockQty), //锁定数量
                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
                                    .Sum(s => s.FrozenQty), //冻结数量
                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
                                    .Sum(s => s.InspectQty), //可抽检数量
                            })
                            .ToListAsync();
            return StockListDto;
                        return modUser;
                    case "1": // 批次信息
                        modUser = await Db.Queryable<DataStock>()
                            .Where(a => a.IsDel == "0")
                            .GroupBy(a => new { a.LotNo, a.LotText })
                            .Select(a => new MateDataStockDto()
                            {
                                LotNo = a.LotNo, //批次
                                LotText = a.LotText, //批次描述
                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.Qty), //库存数量
                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.LockQty), //锁定数量
                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.FrozenQty), //冻结数量
                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
                                    .Sum(s => s.InspectQty), //可抽检数量
                            })
                            .ToListAsync();
                        return modUser;
                    case "2": // 质检信息
                        modUser = await Db.Queryable<DataStock>()
                            .LeftJoin<DataStockDetail>((a, b) => a.LotNo == b.LotNo)
                           .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo == skuNo)
                           .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName == skuName)
                           .WhereIF(!string.IsNullOrEmpty(ownerNo), a => a.OwnerNo == ownerNo)
                           .WhereIF(!string.IsNullOrEmpty(ownerName), a => a.OwnerName == ownerName)
                           .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo == lotNo)
                           .WhereIF(!string.IsNullOrEmpty(status), (a, b) => b.Status == status)
                           .WhereIF(!string.IsNullOrEmpty(inspectStatus), (a, b) => b.InspectStatus == inspectStatus)
                           .Where(a => a.IsDel == "0")
                           .GroupBy((a, b) => b.InspectStatus)
                           .Select((a, b) => new MateDataStockDto()
                           {
                               InspectStatus = b.InspectStatus, //质检状态
                               Qty = SqlFunc.AggregateSum(b.Qty), //库存数量
                               LockQty = SqlFunc.AggregateSum(b.LockQty), //锁定数量
                               FrozenQty = SqlFunc.AggregateSum(b.FrozenQty), //冻结数量
                               InspectQty = SqlFunc.AggregateSum(b.InspectQty), //可抽检数量
                           })
                           .ToListAsync();
                        return modUser;
                    case "3": // 货主信息
                        modUser = await Db.Queryable<DataStock>()
                            .Where(a => a.IsDel == "0")
                            .GroupBy(a => new { a.OwnerNo, a.OwnerName })
                            .Select(a => new MateDataStockDto()
                            {
                                OwnerNo = a.OwnerNo, //货主编码
                                OwnerName = a.OwnerName, //货主名称
                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
                                    .Sum(s => s.Qty), //库存数量
                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
                                    .Sum(s => s.LockQty), //锁定数量
                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
                                    .Sum(s => s.FrozenQty), //冻结数量
                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
                                    .Sum(s => s.InspectQty), //可抽检数量
                            })
                            .ToListAsync();
                        return modUser;
                    default:
                        break;
                }
                return modUser;
            }
        }
        /// <summary>
@@ -837,9 +1003,9 @@
                        //判断物料是否相同
                        if (dto.SkuNo == item.SkuNo)
                        {
                            dto.Qty = (Convert.ToInt32(dto.Qty) + Convert.ToInt32(item.Qty)).ToString();
                            dto.FrozenQty = (Convert.ToInt32(dto.FrozenQty) + Convert.ToInt32(item.FrozenQty)).ToString();
                            dto.LockQty = (Convert.ToInt32(dto.LockQty) + Convert.ToInt32(item.LockQty)).ToString();
                            dto.Qty = Convert.ToInt32(dto.Qty) + Convert.ToInt32(item.Qty);
                            dto.FrozenQty = Convert.ToInt32(dto.FrozenQty) + Convert.ToInt32(item.FrozenQty);
                            dto.LockQty = Convert.ToInt32(dto.LockQty) + Convert.ToInt32(item.LockQty);
                            dto.ResidueQty = (Convert.ToInt32(dto.ResidueQty) + Convert.ToInt32(item.ResidueQty)).ToString();
                            break;
                        }
Wms/WMS.Entity/Context/DataContext.cs
@@ -26,7 +26,7 @@
                //Console.WriteLine(UtilMethods.GetNativeSql(sql, pars));
                //获取无参数化SQL 对性能有影响,特别大的SQL参数多的,调试使用
                //Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer, sql, pars));
                Console.WriteLine(UtilMethods.GetSqlString(DbType.SqlServer, sql, pars));
            };
Wms/WMS.IBLL/IDataServer/IStockServer.cs
@@ -2,6 +2,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using WMS.Entity.DataEntity;
using WMS.Entity.SysEntity;
@@ -14,10 +15,16 @@
        /// <summary>
        /// 查询库存总量
        /// </summary>
        /// <param name="selectType">查询类型</param>
        /// <param name="skuNo">物料编码</param>
        /// <param name="skuName">物料名称</param>
        /// <param name="ownerNo">货主编码</param>
        /// <param name="ownerName">货主名称</param>
        /// <param name="lotNo">批次</param>
        /// <param name="status">库存状态</param>
        /// <param name="inspectStatus">质检状态</param>
        /// <returns></returns>
        List<MateDataStockDto> GetDataStockList(string skuNo, string skuName, string ownerNo, string ownerName, string lotNo);
        Task<List<MateDataStockDto>> GetDataStockList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus);
        /// <summary>
        /// 获取库存明细
Wms/Wms/Controllers/StatisticalController.cs
@@ -6,6 +6,7 @@
using WMS.Entity.DataEntity;
using WMS.IBLL.IDataServer;
using System.Security.Claims;
using System.Threading.Tasks;
namespace Wms.Controllers
{
@@ -40,13 +41,19 @@
        /// <summary>
        /// 获取库存总量
        /// </summary>
        /// <param name="skuNo"></param>
        /// <param name="skuName"></param>
        /// <param name="selectType">查询类型</param>
        /// <param name="skuNo">物料编码</param>
        /// <param name="skuName">物料名称</param>
        /// <param name="ownerNo">货主编码</param>
        /// <param name="ownerName">货主名称</param>
        /// <param name="lotNo">批次</param>
        /// <param name="status">库存状态</param>
        /// <param name="inspectStatus">质检状态</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetInventoryList(string skuNo, string skuName, string ownerNo, string ownerName, string lotNo)
        public async Task<IActionResult> GetInventoryList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus)
        {
            List<MateDataStockDto> StockList = _stock.GetDataStockList(skuNo, skuName, ownerNo, ownerName, lotNo);
            List<MateDataStockDto> StockList = await _stock.GetDataStockList(selectType, skuNo, skuName, ownerNo, ownerName, lotNo, status, inspectStatus);
            return Ok(new
            {
                data = StockList,
@@ -68,9 +75,9 @@
        /// <param name="inspectStatus">质检状态</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string ownerNo, string ownerName,string startTime,string endTime)
        public IActionResult GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string ownerNo, string ownerName, string startTime, string endTime)
        {
            List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus, ownerNo, ownerName, startTime,endTime);
            List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus, ownerNo, ownerName, startTime, endTime);
            return Ok(new
            {
                data = stockDetailsList,
@@ -98,7 +105,7 @@
        /// <param name="inspectStatus">质量状态</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetBindList(string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus, string ownerNo, string ownerName,string startTime,string endTIme)
        public IActionResult GetBindList(string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus, string ownerNo, string ownerName, string startTime, string endTIme)
        {
            try
            {
@@ -341,7 +348,7 @@
        /// <param name="inspectStatus">质检状态</param>
        /// <returns></returns>
        [HttpGet]
        public IActionResult GetInventoryList1DaoChu(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus,string startTime,string endTime)
        public IActionResult GetInventoryList1DaoChu(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string startTime, string endTime)
        {
            List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1DaoChu(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus, startTime, endTime);
            return Ok(new