chengsc
2025-06-24 2d809c12abe87c21d6090ce6c5b3c75959cf4a2b
Merge branch 'master' into csc
1个文件已删除
26个文件已修改
1个文件已添加
581 ■■■■■ 已修改文件
.gitignore 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/ArrivalNoticeDetail.html 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/LabelBox.html 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/LabelBoxBuDa.html 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/LabelPrintSelect.html 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/BaseSetting/Materials.html 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/BaseSetting/MaterialsForm.html 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/QualityControl/InspectionRequest.html 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/QualityControl/QualityInformationFrom.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/StatisticalReport/BoxInfor.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/WareHouseSetting/Pallets.html 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/AsnSetting/productEnterQuantity.html 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelDto/BllAsnDto/LabelPrintInfoDto.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/DataServer/StockServer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/CustomerServer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/PackagServer.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/SysServer/UnitServer.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/BasisController.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/appsettings.json 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -348,3 +348,4 @@
/Wms/Wms/Logs
/数据文档/JC26表结构文档.xlsx
/Wms/Wms/wwwRoot/uploads/quality
/Wms/Wms/appsettings.json
HTML/views/ASNSetting/ArrivalNoticeDetail.html
@@ -658,13 +658,13 @@
                        }
                        console.log(TypeNum)
                        if (TypeNum == 0) {
                            layer.msg("请输入批次!", {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            });
                            return -1;
                        }
                        // if (TypeNum == 0) {
                        //     layer.msg("请输入批次!", {
                        //         icon: 2,
                        //         time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        //     });
                        //     return -1;
                        // }
                    }
HTML/views/ASNSetting/LabelBox.html
@@ -121,10 +121,12 @@
                            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">
                        <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">
                        <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>
                        <!-- <button class="layui-btn layui-btn-sm layuiadmin-btn-list layui-btn-normal " style="margin-left: 5px;" lay-event="ceshiLabel" id="ceshiLabel">
@@ -136,7 +138,8 @@
                        <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">
                                <input type="text" id="AsnNoSelect" name="AsnNoSelect" placeholder="入库单据"
                                    autocomplete="off" class="layui-input">
                                 
                            </div>
                        </div>
@@ -451,7 +454,7 @@
                { field: 'ASNNo', title: '入库单号', align: 'center',fixed: 'left', width: 180, "disabled": true },
                { field: 'BoxNo', title: '箱号', align: 'center', fixed: 'left', width: 220, "disabled": true },
                { field: 'BoxNo2', title: '盒号', align: 'center', fixed: 'left', width: 220,  },
                { field: 'BoxNo3', title: '支号', align: 'center', fixed: 'left', width: 220, "disabled": true },
                { field: 'BoxNo3', title: '支号', align: 'center', fixed: 'left', width: 220, },
                { field: 'SkuNo', title: '物料编码', align: 'center', fixed: 'left', width: 140, "disabled": true },
                { field: 'SkuName', title: '物料名称', align: 'center', width: 240, },
                { field: 'Qty', title: '数量', align: 'center', width: 100, },
HTML/views/ASNSetting/LabelBoxBuDa.html
@@ -40,9 +40,11 @@
        .showCls {
            display: block;
        }
        .font-size12{
            font-size: 12px;
            font-size: 14px;
        }
        .font-size10{
            font-size: 10px;
        }
@@ -51,49 +53,45 @@
<body>
    <div style="width:100%;">
        <div class="layui-form hideCls" lay-filter="layuiadmin-app-form-list" id="print" style="width: 100%;height:100%;">
        <div class="layui-form hideCls" lay-filter="layuiadmin-app-form-list" id="print"
            style="width: 100%;height:100%;">
            <div style="display: flex;align-items: center;justify-content: center; height: 260px;">
                <table border="1" id="table" style="width: 90%; height:240px; text-align: center;border-collapse: collapse;table-layout: fixed;">
                <table border="0" id="table"
                    style="width: 90%; height:240px;border-collapse: collapse;table-layout: fixed;border:none">
                    <tr> 
                        <td colspan="2">
                            <img src="../../img/LiNuo.jpg" style="width: 80%; height: 15px;" />
                        <td class="font-size12">
                            物料编号:
                            <table id="SkuNo" class="font-size12"></table>
                        </td>
                        <td colspan="2" style="padding: 1px 0px;" class="font-size12">SMP-ST002-R08-01</td>
                    </tr>
                    <tr> 
                        <td colspan="4" class="font-size12">物料标签</td>
                        <td class="font-size12">
                            物料名称:
                            <table id="SkuName" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">品名</td>
                        <td colspan="3" id="SkuName" class="font-size10"></td>
                        <td class="font-size12">
                            批次号:
                            <table id="LotNo" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">规格/型号</td>
                        <td id="Standard" class="font-size10"></td>
                        <td class="font-size12">包装规格</td>
                        <td id="PackageStandard" class="font-size10"></td>
                        <td class="font-size12">
                            生产日期:
                            <table id="ProductionTime" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">进厂编号</td>
                        <td id="LotNo" class="font-size10"></td>
                        <td class="font-size12">物料代码</td>
                        <td id="SkuNo" class="font-size10"></td>
                        <td class="font-size12">
                            有效期:
                            <table id="ExpirationTime" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">原厂批号</td>
                        <td id="SupplierLot" class="font-size10"></td>
                        <td class="font-size12">数   量</td>
                        <td id="Qty" class="font-size10"></td>
                    </tr>
                    <tr>
                        <td class="font-size12">有效期至</td>
                        <td id="ExpirationTime" class="font-size10"></td>
                        <td class="font-size12">储存期至</td>
                        <td id="StoreTime" class="font-size10"></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="padding: 5px 0px;">
                            <img id="imgBar" style=" height: 35px;" />
                        <td style="padding: 5px 0px;">
                            <img id="imgBar" style=" height: 60px;" />
                        </td> 
                    </tr>
                    
@@ -263,8 +261,8 @@
                            $("#ExpirationTime" + z.toString()).html( formatDate2(res.data[z].ExpirationTime));
                             
                            $("#StoreTime").attr("id", "StoreTime" + z.toString());
                            $("#StoreTime" + z.toString()).html(formatDate2(res.data[z].StoreTime));
                            $("#ProductionTime").attr("id", "ProductionTime" + z.toString());
                            $("#ProductionTime" + z.toString()).html(formatDate2(res.data[z].ProductionTime));
  
                            $("#imgBar").attr("id", "imgBar" + z.toString());
                            $("#imgBar" + z.toString()).attr("src", res.data[z].ImgStr);
HTML/views/ASNSetting/LabelPrintSelect.html
@@ -122,11 +122,11 @@
                    });
                    var id = getQueryString('Id');
                    var SupplierLot=getQueryString('SupplierLot');//供货批次
                    $('#SupplierLot').val(SupplierLot);
                    if(SupplierLot!='' && SupplierLot!=null &&SupplierLot!=undefined){
                        $('#SupplierLot').attr('readonly', 'readonly');
                    }
                    // var SupplierLot=getQueryString('SupplierLot');//供货批次
                    // $('#SupplierLot').val(SupplierLot);
                    // if(SupplierLot!='' && SupplierLot!=null &&SupplierLot!=undefined){
                    //     $('#SupplierLot').attr('readonly', 'readonly');
                    // }
                    var asnType = getQueryString('Type');
                    console.log(asnType);
                    // console.log(asnType == 4);
@@ -143,7 +143,11 @@
                     
                    synData(IP + "/BllAsn/GetAsnDetailQtyList", param , 'get', function (res) {
                        if (res.code == 0) { //成功  
                            $("#arriveQty").val(res.data);
                            $("#arriveQty").val(res.data.Qty);
                            $("#productionTime").val(res.data.ProductionTime);
                            $("#expirationTime").val(res.data.ExpirationTime);
                            $("#storeTime").val(res.data.StoreTime);
                            $("#SupplierLot").val(res.data.SupplierLot);
                        } else { //不成功
                            layer.msg(res.msg, {
                                icon: 2,
HTML/views/BaseSetting/Materials.html
@@ -1,11 +1,13 @@
<!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">
    <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">
        <script>
@@ -17,23 +19,27 @@
            });
          </script>
    </head>
    <body id="body">
        <div class="layui-fluid" style="padding-bottom: 0;">
            <div class="layui-card">
                <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC" id="top">
            <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC"
                id="top">
                    <div class="layui-form-item">
                        <!-- 物料编码 -->
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 60px;">物料编码</label>
                            <div class="layui-input-inline">
                                <input type="text" id="SkuNo" name="SkuNo" placeholder="请输入物料编码" autocomplete="off" class="layui-input">
                            <input type="text" id="SkuNo" name="SkuNo" placeholder="请输入物料编码" autocomplete="off"
                                class="layui-input">
                            </div>
                        </div>
                        <!-- 物料名称 -->
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 60px;">物料名称</label>
                            <div class="layui-input-inline">
                                <input type="text" id="SkuName" name="SkuName" placeholder="请输入物料名称" autocomplete="off" class="layui-input">
                            <input type="text" id="SkuName" name="SkuName" placeholder="请输入物料名称" autocomplete="off"
                                class="layui-input">
                            </div>
                        </div>
                        <div class="layui-inline">
@@ -63,25 +69,25 @@
                                </select>
                            </div>
                        </div>
                        <!-- 是否受控 -->
                    <!-- 是否受控  JC34 变更为 是否请验 -->
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 60px;">是否受控</label>
                        <label class="layui-form-label" style="width: 60px;">是否请验</label>
                            <div class="layui-input-inline">
                                <select name="IsControlled" id="IsControlled" lay-verify="" lay-verify="" lay-search>
                                    <option value=""></option>
                                    <option value="0">受控</option>
                                    <option value="1">非受控</option>
                                <option value="0">是</option>
                                <option value="1">否</option>
                                </select>
                            </div>
                        </div>
                        <!-- 是否免检 -->
                    <!-- 是否免检 JC34 变更为 是否受控-->
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 60px;">是否免检</label>
                        <label class="layui-form-label" style="width: 60px;">是否受控</label>
                            <div class="layui-input-inline">
                                <select name="IsInspect" id="IsInspect" lay-verify="" lay-verify="" lay-search>
                                    <option value=""></option>
                                    <option value="0">否</option>
                                    <option value="1">是</option>
                                <option value="0">是</option>
                                <option value="1">否</option>
                                </select>
                            </div>
                        </div>
@@ -109,12 +115,14 @@
                            </div>
                        </div>
                        <div class="layui-inline">
                            <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search">
                        <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>
                        </div>
                        <div class="layui-inline">
                            <button class="layui-btn layui-btn-sm layuiadmin-btn-list approvalBtn" style="margin-right: 10px;" data-type="add" id="approvalBtn">
                        <button class="layui-btn layui-btn-sm layuiadmin-btn-list approvalBtn"
                            style="margin-right: 10px;" data-type="add" id="approvalBtn">
                                <i class="layui-icon layuiadmin-button-btn">&#xe654;</i>添加
                            </button>
                        </div>
@@ -499,8 +507,7 @@
                                            LowInventory: Number(field.LowInventory), //低库存
                                            Demo: field.Demo
                                        };
                                        if(doing)
                                        {
                                    if (doing) {
                                            doing = false;
                                            sendData(IP + "/Basis/AddMate", param, 'post',function(res) {
                                                console.log(res);
@@ -562,24 +569,19 @@
                }
                var xml = '';
                function getchiled(data, mainId) {
                    if (data)
                    {
                if (data) {
                        var list = data.filter(item => item.ParentId == mainId);
                        if (list)
                        {
                            for (var i = 0; i < list.length; i++)
                            {
                    if (list) {
                        for (var i = 0; i < list.length; i++) {
                                var id = list[i].Id;
                                //查询有无子菜单
                                var count = data.filter(item => item.ParentId == id).length;
                                if (count > 0)
                                {
                            if (count > 0) {
                                    xml = xml + '<dd>' + '<a href="javascript:;">' + list[i].Name + '</a>' + '<dl class="layui-nav-child">';
                                    getchiled(data, id);
                                    xml = xml + '</dl></dd>';
                                }
                                else
                                {
                            else {
                                    xml = xml + '<dd>' + '<a lay-href="' + list[i].Url + '">' + list[i].Name + '</a>' + '</dd>';
                                }
                            }
@@ -590,8 +592,7 @@
                table.on('tool(LAY-app-content-list)', function(obj) {
                    var data = obj.data;
                    //删除
                    if (obj.event === 'del')
                    {
                if (obj.event === 'del') {
                        layer.confirm('确定删除选中的物料?', function(index) {
                            cusid = data.Id;
                            var arr = [];
@@ -599,8 +600,7 @@
                            var param = {
                                Ids: arr
                            };
                            if(doing)
                            {
                        if (doing) {
                                doing = false;
                                sendData(IP + "/Basis/DelMate?Id="+data.Id+"", {} , 'get', function(res) {
                                    console.log(res);
@@ -633,15 +633,13 @@
                                    }
                                });
                            }
                            else
                            {
                        else {
                                console.log(123);
                            }
                        });
                    } 
                    //编辑
                    else if (obj.event === 'edit')
                    {
                else if (obj.event === 'edit') {
                        cusId = data.Id;
                        layer.open({
                            type: 2,
@@ -681,8 +679,7 @@
                                        LowInventory: Number(field.LowInventory), //低库存
                                        Demo: field.Demo
                                    };
                                    if(doing)
                                    {
                                if (doing) {
                                        doing = false;
                                        sendData(IP + "/Basis/ExitMate", param, 'post',
                                        function(res) {
@@ -716,8 +713,7 @@
                                            }
                                        });
                                    }
                                    else
                                    {
                                else {
                                        console.log(123);
                                    }
                                });
@@ -729,4 +725,5 @@
            });
        </script>
    </body>
</html>
HTML/views/BaseSetting/MaterialsForm.html
@@ -93,22 +93,22 @@
                </div>
            </div>
            <div class="layui-inline" id="IsControlledshow">
                <label class="layui-form-label">是否受控</label>
                <label class="layui-form-label">是否请验</label>
                <div class="layui-input-block" style="width: 182px;">
                    <select name="IsControlled" id="IsControlled" lay-verify="" lay-verify="" lay-search>
                        <!-- <option value=""></option> -->
                        <option value="0">受控</option>
                        <option value="1">非受控</option>
                        <option value="0">是</option>
                        <option value="1">否</option>
                    </select>
                </div>
            </div>
            <div class="layui-inline" id="IsInspectshow">
                <label class="layui-form-label">是否免检</label>
                <label class="layui-form-label">是否受控</label>
                <div class="layui-input-block" style="width: 182px;">
                    <select name="IsInspect" id="IsInspect" lay-verify="" lay-verify="" lay-search>
                        <!-- <option value=""></option> -->
                        <option value="0">否</option>
                        <option value="1">是</option>
                        <option value="0">是</option>
                        <option value="1">否</option>
                    </select>
                </div>
            </div>
HTML/views/QualityControl/InspectionRequest.html
@@ -28,7 +28,6 @@
            max-width: 100px;
            max-height: 100px;
        }
    </style>
    <script>
        // 这里是需要在页面渲染之前执行的代码
@@ -131,7 +130,8 @@
                    <div style="display: none;" id="UploadImageView">
                        <div  id="UploadImage" style="margin-left: 35px;margin-top: 30px;">
                            <label>上传图片:</label><button type="button" class="layui-btn" id="uploadBtn" style="margin-left: 20px;" >浏览</button>
                            <label>上传图片:</label><button type="button" class="layui-btn" id="uploadBtn"
                                style="margin-left: 20px;">浏览</button>
                            <button type="button" class="layui-btn" id="upload" style="margin-left: 20px;">上传</button>
                                
                        </div>
@@ -404,8 +404,11 @@
                { field: 'Status', title: '执行状态', align: 'center', width: 90, templet: '#templetStatus' },
                { field: 'RequestTime', title: '请验日期', align: 'center', width: 165, templet: '#templetCompleteTime' },
                { field: 'RequestUser', title: '请验人', align: 'center', width: 165 },
                { field: 'UDF5', title: '图片', align: 'center', width: 100 ,templet: function (d) {
                    return d.image ? '<img src="' + d.image + '" alt="图片">' : '无图片';}},
                {
                    field: 'UDF5', title: '图片', align: 'center', width: 100, templet: function (d) {
                        return d.image ? '<img src="' + d.image + '" alt="图片">' : '无图片';
                    }
                },
                // { field: 'UDF2', title: '自定义2', align: 'center', width: 100 },
                // { field: 'UDF3', title: '自定义3', align: 'center', width: 100 },
                // { field: 'UDF4', title: '自定义4', align: 'center', width: 100 },
@@ -725,8 +728,7 @@
                }
            });
            function getImage(id)
                {
            function getImage(id) {
                    var param = {
                        Id:id
                    }
@@ -763,7 +765,8 @@
                                                });
                                            }
                                    });
                                })});
                            })
                        });
                        } else { //不成功
                            $("#ImagesShow").html('');
                                res.msg, {
HTML/views/QualityControl/QualityInformationFrom.html
@@ -30,8 +30,7 @@
        <div class="layui-form-item">
            <label class="layui-form-label">批次号</label>
            <div class="layui-input-block" style="width: 70%;">
                <input type="text" name="LotNo" placeholder="请输入批次号" lay-verify="required" autocomplete="off"
                    class="layui-input">
                <input type="text" name="LotNo" placeholder="请输入批次号" autocomplete="off" class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
HTML/views/StatisticalReport/BoxInfor.html
@@ -205,7 +205,14 @@
                                    <!-- #region 自定义表头 -->
                                    <script type="text/html" id="templetProductionTime">
                                            {{# function GetBtn(d){
                                                    return formatDate(d.ProductionTime);
                                                    return formatDate2(d.ProductionTime);
                                                }
                                            }}
                                            {{ GetBtn(d) }}
                                        </script>
                                    <script type="text/html" id="templetExpirationTime">
                                            {{# function GetBtn(d){
                                                    return formatDate2(d.ExpirationTime);
                                                }    
                                            }}
                                            {{ GetBtn(d) }}
@@ -482,6 +489,7 @@
                { field: 'Qty', title: '数量', width: 90, align: 'center' },
                { field: 'FullQty', title: '整箱数量', width: 100, align: 'center' },
                { field: 'ProductionTime', title: '生产日期', align: 'center', templet: '#templetProductionTime' },
                { field: 'ExpirationTime', title: '有效期', align: 'center', templet: '#templetExpirationTime' },
                { field: 'InspectMark', title: '抽检标记', align: 'center', templet: '#InspectMarkStatus' },
                { field: 'BitBoxMark', templet: '#BitPalletMarkStatus1', title: '零箱标记', align: 'center' },
                { field: 'InspectStatus', templet: '#InspectStatus1', title: '质检状态', align: 'center' },
HTML/views/WareHouseSetting/Pallets.html
@@ -1,11 +1,13 @@
<!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">
    <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">
        <style media="print">
@@ -23,15 +25,18 @@
            });
          </script>
    </head>
    <body id="body">
        <div class="layui-fluid" style="padding-bottom: 0;">
            <div class="layui-card">
                <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC" id="top">
            <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC"
                id="top">
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label" style="width: 70px;">托盘条码:</label>
                            <div class="layui-input-inline">
                                <input type="text" id="PalletNo" name="PalletNo" placeholder="托盘条码" autocomplete="off" class="layui-input">
                            <input type="text" id="PalletNo" name="PalletNo" placeholder="托盘条码" autocomplete="off"
                                class="layui-input">
                            </div>
                        </div>
                        <div class="layui-inline">
@@ -45,7 +50,8 @@
                            </div>
                        </div>
                        <div class="layui-inline">
                            <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search">
                        <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>
                        </div>
@@ -250,7 +256,7 @@
                                        for(var i=0;i<field.GroupCount;i++){
                                            
                                            for(var j=0;j<field.SameCount;j++){
                                                html ="<div class=\"layui-form\" lay-filter=\"layuiadmin-app-form-list\" id=\"print\" style=\"width: 50%; text-align: center;padding-top: 10%;margin-left: 0%;\">\n"+
                                            html = "<div class=\"layui-form\" lay-filter=\"layuiadmin-app-form-list\" id=\"print\" style=\"width: 50%; text-align: center;padding-top: 20%;margin-left: 19%;\">\n" +
                                                "<div class=\"layui-form-item\">\n"+
                                                "<div class=\"layui-inline\">\n"+
                                                "<div class=\"\">\n"+
@@ -403,7 +409,7 @@
                                    for(var i=0;i<parseInt(field.GroupCount);i++){
                                        
                                        for(var j=0;j<parseInt(field.SameCount);j++){
                                            html ="<div class=\"layui-form\" lay-filter=\"layuiadmin-app-form-list\" id=\"print\" style=\"width: 50%; text-align: center;padding-top: 10%;margin-left: 0%;\">\n"+
                                        html = "<div class=\"layui-form\" lay-filter=\"layuiadmin-app-form-list\" id=\"print\" style=\"width: 50%; text-align: center;padding-top: 20%;margin-left: 19%;\">\n" +
                                                "<div class=\"layui-form-item\">\n"+
                                                "<div class=\"layui-inline\">\n"+
                                                "<div class=\"\">\n"+
@@ -442,4 +448,5 @@
            });
        </script>
    </body>
</html>
Pda/View/AsnSetting/productEnterQuantity.html
@@ -737,7 +737,7 @@
                                            '</option>');
                                    } else {
                                        $("#goodSelect").append('<option value =' + res.data[i].Id + '-' + i + ' selected>' + res.data[i]
                                            .SkuName + "-" + res.data[i].LotNo +
                                            .SkuName + "=>" + res.data[i].LotNo +
                                            '</option>');
                                    }
                                } else {
@@ -748,7 +748,7 @@
                                                '</option>');
                                        } else {
                                            $("#goodSelect").append('<option value =' + res.data[i].Id + '-' + i + ' selected>' + res.data[i]
                                                .SkuName + "-" + res.data[i].LotNo +
                                                .SkuName + "=>" + res.data[i].LotNo +
                                                '</option>');
                                        }
@@ -759,7 +759,7 @@
                                                '</option>');
                                        } else {
                                            $("#goodSelect").append('<option value =' + res.data[i].Id + '-' + i + '>' + res.data[i]
                                                .SkuName + "-" + res.data[i].LotNo +
                                                .SkuName + "=>" + res.data[i].LotNo +
                                                '</option>');
                                        }
                                    }
@@ -811,7 +811,7 @@
                                            .SkuName);
                                    }
                                    if (res.data[i].LotNo != null) {
                                        $("#goodSelect1").append("-" + res.data[i].LotNo +
                                        $("#goodSelect1").append("=>" + res.data[i].LotNo +
                                            '</option>');
                                    }
                                } else {
@@ -821,7 +821,7 @@
                                            '</option>');
                                    } else {
                                        $("#goodSelect1").append('<option value =' + res.data[i].Id + ' selected>' + res.data[i]
                                            .SkuName + "-" + res.data[i].LotNo +
                                            .SkuName + "=>" + res.data[i].LotNo +
                                            '</option>');
                                    }
                                }
Wms/Model/ModelDto/BllAsnDto/LabelPrintInfoDto.cs
New file
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Model.ModelDto.BllAsnDto
{
    public class LabelPrintInfoDto
    {
        /// <summary>
        /// 剩余打印的数量
        /// </summary>
        public string Qty { get; set; }
        /// <summary>
        /// 生产日期
        /// </summary>
        public string ProductionTime { get; set; }
        /// <summary>
        /// 有效期
        /// </summary>
        public string ExpirationTime { get; set; }
        /// <summary>
        /// 储存期至
        /// </summary>
        public string StoreTime { get; set; }
        /// <summary>
        /// 供货批次
        /// </summary>
        public string SupplierLot { get; set; }
    }
}
Wms/Model/ModelVm/BllAsnVm/ArrivalNoticeDetailVm.cs
@@ -147,6 +147,11 @@
        public string Lot6 { get; set; }
        /// <summary>
        /// 标签常值
        /// </summary>
        public string BoxCodeStr { get; set; }
        /// <summary>
        /// 自定义列1
        /// </summary>
        public string UDF1 { get; set; }
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -1,5 +1,6 @@
using Model.InterFaceModel;
using Model.ModelDto;
using Model.ModelDto.BllAsnDto;
using Model.ModelDto.SysDto;
using Model.ModelVm;
using Model.ModelVm.SysVm;
@@ -138,7 +139,7 @@
        }
        //获取入库单明细剩余打印数量
        public string GetAsnDetailQtyList(int id)
        public LabelPrintInfoDto GetAsnDetailQtyList(int id)
        {
            try
            {
@@ -147,7 +148,11 @@
                {
                    throw new Exception("未查询到入库单明细");
                }
                var data = new LabelPrintInfoDto();
                data.ProductionTime = string.IsNullOrEmpty(detail.Lot1) ? "" : Convert.ToDateTime(detail.Lot1).ToString("yyyy-MM-dd");
                data.ExpirationTime = string.IsNullOrEmpty(detail.Lot2) ? "" : Convert.ToDateTime(detail.Lot2).ToString("yyyy-MM-dd");
                data.SupplierLot = detail.SupplierLot;
                var labelQty = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNDetailNo == id).Sum(m => m.Qty + (m.SamplingQty == null? 0: m.SamplingQty));
                if (labelQty == null)
                {
@@ -158,7 +163,8 @@
                {
                    qty = 0;
                }
                return qty.ToString();
                data.Qty = qty.ToString();
                return data;
            }
            catch (Exception e)
            {
@@ -353,12 +359,27 @@
                                detailModel.LotNo = maxLotNo;
                            }
                        }
                        if (model.Type == "0" || model.Type == "1" || model.Type == "2" || model.Type == "3" || model.Type == "4" && model.Type == "8")
                        {
                        //if (model.Type == "0" || model.Type == "1" || model.Type == "2" || model.Type == "3" || model.Type == "4" && model.Type == "8")
                        //{
                        //    if (string.IsNullOrWhiteSpace(detailModel.LotNo))
                        //    {
                        //        throw new Exception("当前单据类型批次不可为空!");
                        //    }
                        //}
                        detailModel.BoxCodeStr = detailModel.LotNo;
                            if (string.IsNullOrWhiteSpace(detailModel.LotNo))
                            {
                                throw new Exception("当前单据类型批次不可为空!");
                            string toDayTime = DateTime.Now.ToString("yyyyMM");
                            var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK") && m.CreateTime.ToString("yyyyMMdd") == DateTime.Now.ToString("yyyyMMdd")).Max(m => m.BoxCodeStr);
                            if(string.IsNullOrWhiteSpace(maxBoxCodeStr))
                            {
                                maxBoxCodeStr = "BK" + toDayTime.Substring(2, 4) + "0001";
                            }
                            else
                            {
                                maxBoxCodeStr = "BK" + (int.Parse(maxBoxCodeStr.Replace("BK", "")) + 1).ToString();
                            }
                            detailModel.BoxCodeStr = maxBoxCodeStr;
                        }
                        // 判断是否已存在当前明细
@@ -384,18 +405,18 @@
                        }
                        string lot1 = detailModel.Lot1;
                        string lot2 = detailModel.Lot2;
                        if (sku.IsPasteCode == "0")
                        if (sku.IsInspect == "0")//是否免检,0:否 1:是
                        {
                            //不贴标物料 生产日期、有效期不能为空
                            //不免检物料 生产日期、有效期不能为空
                            DateTime lot12;
                            DateTime lot22;
                            if (!DateTime.TryParse(detailModel.Lot1, out lot12))
                            {
                                throw new Exception("非贴标物料生产日期转换失败");
                                throw new Exception("不免检物料生产日期转换失败");
                            }
                            if (!DateTime.TryParse(detailModel.Lot2, out lot22))
                            {
                                throw new Exception("非贴标物料过期日期转换失败");
                                throw new Exception("不免检物料过期日期转换失败");
                            }
                            lot1 = lot12.ToString();
                            lot2 = lot22.ToString();
@@ -412,7 +433,7 @@
                            SkuNo = detailModel.SkuNo,
                            SkuName = detailModel.SkuName,
                            Standard = detailModel.Standard,
                            LotNo = detailModel.LotNo.Trim(),
                            LotNo = detailModel.LotNo == null ? "" : detailModel.LotNo.Trim(),
                            LotText = detailModel.LotText,
                            Qty = (decimal)detailModel.Qty,
                            PackagNo = detailModel.PackagNo,
@@ -428,6 +449,7 @@
                            InspectStatus = "0",
                            Lot1 = lot1, //生产日期
                            Lot2 = lot2, // 过期日期
                            BoxCodeStr = detailModel.BoxCodeStr,
                            UDF1 = detailModel.UDF1,
                            UDF2 = detailModel.UDF2,
                            UDF3 = detailModel.UDF3,
@@ -553,13 +575,13 @@
                            return strMessage;
                        }
                    
                        if (model.Type == "0" || model.Type == "2" || model.Type == "3" || model.Type == "4")
                        {
                            if (string.IsNullOrWhiteSpace(detailModel.LotNo))
                            {
                                throw new Exception("当前单据类型批次不可为空!");
                            }
                        }
                        //if (model.Type == "0" || model.Type == "2" || model.Type == "3" || model.Type == "4")
                        //{
                        //    if (string.IsNullOrWhiteSpace(detailModel.LotNo))
                        //    {
                        //        throw new Exception("当前单据类型批次不可为空!");
                        //    }
                        //}
                        if (TypeLot.Contains(model.Type)) 
                        {
@@ -589,29 +611,39 @@
                        //生成自有批次
                        if (detailModel.Id == 0 || detailModel.Id == null || string.IsNullOrWhiteSpace(detailModel.LotNo))
                        {
                            var notice = Db.Queryable<BllArrivalNotice>().Where(m => m.IsDel == "0" && TypeLot.Contains(m.Type)).Select(m => m.ASNNo).ToList();
                            if (string.IsNullOrWhiteSpace(maxLotNo))
                            //var notice = Db.Queryable<BllArrivalNotice>().Where(m => m.IsDel == "0" && TypeLot.Contains(m.Type)).Select(m => m.ASNNo).ToList();
                            //if (string.IsNullOrWhiteSpace(maxLotNo))
                            //{
                            //    maxLotNo = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LotNo) && notice.Contains(m.ASNNo)).Max(m => m.LotNo);
                            //}
                            //if (string.IsNullOrWhiteSpace(maxLotNo))
                            //{
                            //    maxLotNo = toDayTime.Substring(2, 6) + "0001";
                            //}
                            //else
                            //{
                            //    var lotStr = maxLotNo.Substring(0, 6);
                            //    var timeStr = toDayTime.Substring(2, 6);
                            //    if (lotStr == timeStr)
                            //    {
                            //        maxLotNo = toDayTime.Substring(2, 6) + (int.Parse(maxLotNo.Substring(6, 4)) + 1).ToString().PadLeft(4, '0');
                            //    }
                            //    else
                            //    {
                            //        maxLotNo = timeStr + "0001";
                            //    }
                            //}
                            //detailModel.LotNo = maxLotNo;
                            var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK") && m.CreateTime.ToString("yyyyMMdd") == DateTime.Now.ToString("yyyyMMdd")).Max(m => m.BoxCodeStr);
                            if (string.IsNullOrWhiteSpace(maxBoxCodeStr))
                            {
                                maxLotNo = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LotNo) && notice.Contains(m.ASNNo)).Max(m => m.LotNo);
                            }
                            if (string.IsNullOrWhiteSpace(maxLotNo))
                            {
                                maxLotNo = toDayTime.Substring(2, 6) + "0001";
                                maxBoxCodeStr = "BK" + toDayTime.Substring(2, 4) + "0001";
                            }
                            else
                            {
                                var lotStr = maxLotNo.Substring(0, 6);
                                var timeStr = toDayTime.Substring(2, 6);
                                if (lotStr == timeStr)
                                {
                                    maxLotNo = toDayTime.Substring(2, 6) + (int.Parse(maxLotNo.Substring(6, 4)) + 1).ToString().PadLeft(4, '0');
                                maxBoxCodeStr = "BK" + (int.Parse(maxBoxCodeStr.Replace("BK", "")) + 1).ToString();
                                }
                                else
                                {
                                    maxLotNo = timeStr + "0001";
                                }
                            }
                            detailModel.LotNo = maxLotNo;
                            detailModel.BoxCodeStr = maxBoxCodeStr;
                        }
                        if (detailModel.Id == 0 || detailModel.Id == null)
@@ -630,7 +662,7 @@
                                SkuNo = detailModel.SkuNo,
                                SkuName = detailModel.SkuName,
                                Standard = detailModel.Standard,
                                LotNo = detailModel.LotNo.Trim(),
                                LotNo = detailModel.LotNo == null ? "" : detailModel.LotNo.Trim(),
                                LotText = detailModel.LotText,
                                Qty = (decimal)detailModel.Qty,
                                PackagNo = detailModel.PackagNo,
@@ -646,6 +678,7 @@
                                InspectStatus = "0",
                                Lot1 = detailModel.Lot1,
                                Lot2 = detailModel.Lot2,
                                BoxCodeStr = detailModel.BoxCodeStr,
                                UDF1 = detailModel.UDF1,
                                UDF2 = detailModel.UDF2,
                                UDF3 = detailModel.UDF3,
@@ -668,6 +701,7 @@
                                             && it.IsBelt == detailModel.IsBelt
                                             && it.Lot1 == detailModel.Lot1                                 // 生产日期
                                             && it.Lot2 == detailModel.Lot2                                 // 过期日期
                                             && it.BoxCodeStr == detailModel.BoxCodeStr
                                             && it.UDF1 == detailModel.UDF1
                                             && it.UDF2 == detailModel.UDF2
                                             && it.UDF3 == detailModel.UDF3
@@ -695,13 +729,14 @@
                            detailModel.Money = detailModel.Price * detailModel.Qty;
                            dbDetail.Qty = (decimal)detailModel.Qty;
                            dbDetail.LotNo = detailModel.LotNo;
                            dbDetail.LotNo = detailModel.LotNo == null ? "" : detailModel.LotNo.Trim();
                            dbDetail.Money = detailModel.Money;
                            dbDetail.LotText = detailModel.LotText;
                            dbDetail.SupplierLot = detailModel.SupplierLot;
                            dbDetail.IsBale = detailModel.IsBale;
                            dbDetail.Lot1 = detailModel.Lot1;
                            dbDetail.Lot2 = detailModel.Lot2;
                            dbDetail.BoxCodeStr = detailModel.BoxCodeStr;
                            dbDetail.UDF1 = detailModel.UDF1;
                            dbDetail.UDF2 = detailModel.UDF2;
                            dbDetail.UDF3 = detailModel.UDF3;
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -514,7 +514,7 @@
                        CreateTime = a.CreateTime,
                        UpdateTime = a.UpdateTime
                    }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.BoxNo).ToOffsetPage(model.Page, model.Limit, ref total);
                    }).OrderByDescending(a => a.ASNNo).OrderBy(a => a.BoxNo).ToOffsetPage(model.Page, model.Limit, ref total);
                count = total;
                return data;
            }
@@ -597,9 +597,13 @@
                {
                    throw new Exception("单据数量不能小于等于0");
                }
                if (string.IsNullOrWhiteSpace(asnList.LotNo))
                //if (string.IsNullOrWhiteSpace(asnList.LotNo))
                //{
                //    throw new Exception("单据批次号不能为空");
                //}
                if (string.IsNullOrWhiteSpace(asnList.BoxCodeStr))
                {
                    throw new Exception("单据批次号不能为空");
                    throw new Exception("单据箱码常值不能为空");
                }
                var asn = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == asnList.ASNNo && m.IsDel == "0");
                if (asn == null)
@@ -724,8 +728,15 @@
                    string maxLotNoStr = ""; //批次号
                    string maxBoxCode = ""; //箱码号
                    
                    maxLotNoStr = asnList.LotNo;
                    maxLotNoStr = asnList.BoxCodeStr;//asnList.LotNo;
                    if (string.IsNullOrEmpty(asnList.LotNo))
                    {
                        maxBoxCode = label.Where(m => m.ASNDetailNo == asnList.Id).Max(a => a.BoxNo);
                    }
                    else
                    {
                    maxBoxCode = label.Where(m => m.LotNo == maxLotNoStr).Max(a => a.BoxNo);
                    }
                    #endregion
                    for (int i = 1; i <= labelNum; i++)
@@ -772,7 +783,7 @@
                            Status = "0",
                            SkuNo = asnList.SkuNo,
                            SkuName = asnList.SkuName,
                            LotNo = maxLotNoStr,
                            LotNo = asnList.LotNo,//maxLotNoStr,
                            Standard = asnList.Standard,
                            PackageStandard = packStr,
                            SupplierLot = supplierLot,
@@ -1027,6 +1038,7 @@
                            model.ExpirationTime = data.ExpirationTime;                  // 有效期至
                            model.StoreTime = data.StoreTime;                     // 储存期至 
                            model.ProductionTime = data.ProductionTime;//生产日期
                            model.Qty = dataList.Sum(m => m.Qty);// 数量
@@ -1082,6 +1094,7 @@
                                model.ExpirationTime = data.ExpirationTime;                  // 有效期至
                                model.StoreTime = data.StoreTime;                     // 储存期至 
                                model.ProductionTime = data.ProductionTime;//生产日期
                                model.Qty = data1.Sum(m => m.Qty);// 数量
@@ -1134,6 +1147,7 @@
                            model.ExpirationTime = data.ExpirationTime;                  // 有效期至
                            model.StoreTime = data.StoreTime;                     // 储存期至 
                            model.ProductionTime = data.ProductionTime;//生产日期
                            model.Qty = data.Qty;// 数量
@@ -1186,6 +1200,7 @@
                                model.ExpirationTime = data.ExpirationTime;                  // 有效期至
                                model.StoreTime = data.StoreTime;                     // 储存期至 
                                model.ProductionTime = data.ProductionTime;//生产日期
                                model.Qty = data.Qty;// 数量
@@ -1252,6 +1267,7 @@
                                    model1.ExpirationTime = data.ExpirationTime;                  // 有效期至
                                    model1.StoreTime = data.StoreTime;                     // 储存期至 
                                    model1.ProductionTime = data.ProductionTime;//生产日期
                                    model1.Qty = dataList.Sum(m => m.Qty);// 数量
                                    model1.BoxNo = data.BoxNo;                 // 箱号     
@@ -1271,6 +1287,7 @@
                                    model.ExpirationTime = data.ExpirationTime;                  // 有效期至
                                    model.StoreTime = data.StoreTime;                     // 储存期至 
                                    model.ProductionTime = data.ProductionTime;//生产日期
                                    model.Qty = data.Qty;// 数量
                                    model.BoxNo = data.BoxNo3;                 // 支号     
@@ -1318,6 +1335,7 @@
                                    model.ExpirationTime = boxData.ExpirationTime;                  // 有效期至
                                    model.StoreTime = boxData.StoreTime;                     // 储存期至 
                                    model.ProductionTime = boxData.ProductionTime;//生产日期
                                    model.Qty = data.Sum(m => m.Qty);     // 数量
                                    model.BoxNo = boxData.BoxNo;                 // 支号     
@@ -1340,6 +1358,7 @@
                                        model1.ExpirationTime = item.ExpirationTime;                  // 有效期至
                                        model1.StoreTime = item.StoreTime;                     // 储存期至 
                                        model1.ProductionTime = item.ProductionTime;//生产日期
                                        model1.Qty = item.Qty;// 数量
                                        model1.BoxNo = item.BoxNo3;                 // 支号     
@@ -1386,6 +1405,7 @@
                                model.ExpirationTime = boxData.ExpirationTime;                  // 有效期至
                                model.StoreTime = boxData.StoreTime;                     // 储存期至 
                                model.ProductionTime = boxData.ProductionTime;//生产日期
                                model.Qty = data.Sum(m => m.Qty);     // 数量
                                model.BoxNo = boxData.BoxNo;                 // 支号     
@@ -1410,6 +1430,7 @@
                                        model1.ExpirationTime = item.ExpirationTime;                  // 有效期至
                                        model1.StoreTime = item.StoreTime;                     // 储存期至 
                                        model.ProductionTime = item.ProductionTime;//生产日期
                                        model1.Qty = item.Qty;     // 数量
                                        model1.BoxNo = item.BoxNo3;                 // 支号     
@@ -1478,6 +1499,7 @@
                                model.ExpirationTime = boxData.ExpirationTime;                  // 有效期至
                                model.StoreTime = boxData.StoreTime;                     // 储存期至 
                                model.ProductionTime = boxData.ProductionTime;//生产日期
                                model.Qty = data.Sum(m => m.Qty);     // 数量
                                model.BoxNo = boxData.BoxNo;                 // 支号     
@@ -1506,6 +1528,7 @@
                                        model1.ExpirationTime = item.ExpirationTime;                  // 有效期至
                                        model1.StoreTime = item.StoreTime;                     // 储存期至 
                                        model.ProductionTime = item.ProductionTime;//生产日期
                                        model1.Qty = item.Qty;// 数量
                                        model1.BoxNo = item.BoxNo3;                 // 支号     
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -77,14 +77,15 @@
                else
                {
                    //从物料名称-批次中取出批次
                    int indexOfDash = model.LotNo.IndexOf("-");
                    int indexOfDash = model.LotNo.IndexOf("=>");
                    if (indexOfDash != -1)
                    {
                        model.LotNo = model.LotNo.Substring(indexOfDash + 1);
                        model.LotNo = model.LotNo.Substring(indexOfDash + 2);
                    }
                    else
                    {
                        throw new Exception("物料-批次不可为空!");
                        model.LotNo = "";
                        //throw new Exception("物料-批次不可为空!");
                    }
                }
@@ -531,7 +532,7 @@
                    #endregion
                    #region 质检请验
                    if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1")
                    if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1" && sku.IsControlled != "1")
                    {
                        var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo && m.SupplierLot == bind.SupplierLot);
                        if (qualityRequest == null)
@@ -1047,7 +1048,7 @@
                        #endregion
                        #region 质检请验
                        if ((arrNotice.Type == "1" || arrNotice.Type == "4" || arrNotice.Type == "5") && sku.IsInspect != "1")
                        if ((arrNotice.Type == "1" || arrNotice.Type == "4" || arrNotice.Type == "5") && sku.IsInspect != "1" && sku.IsControlled != "1")
                        {
                            var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo && m.SupplierLot == bind.SupplierLot);
                            if (qualityRequest == null)
@@ -1136,14 +1137,15 @@
                else
                {
                    //从物料名称-批次中取出批次
                    int indexOfDash = model.LotNo.IndexOf("-");
                    int indexOfDash = model.LotNo.IndexOf("=>");
                    if (indexOfDash != -1)
                    {
                        model.LotNo = model.LotNo.Substring(indexOfDash + 1);
                        model.LotNo = model.LotNo.Substring(indexOfDash + 2);
                    }
                    else
                    {
                        throw new Exception("物料批次不可为空!");
                        model.LotNo = "";
                        //throw new Exception("物料批次不可为空!");
                    }
                }
@@ -1497,7 +1499,7 @@
                #endregion
                #region 质检请验
                if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1")
                if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1" && sku.IsControlled != "1")
                {
                    var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo && m.SupplierLot == bind.SupplierLot);
                    if (qualityRequest == null)
@@ -2235,8 +2237,8 @@
                    if (boxNoList.Count > 0)
                    {
                        data.BoxNoList = boxNoList;
                        data.Date1 = item.ProductionTime.ToString();
                        data.Date2 = item.ExpirationTime.ToString();
                        data.Date1 = item.ProductionTime == null ? "" : Convert.ToDateTime(item.ProductionTime).ToString("yyyy-MM-dd");
                        data.Date2 = item.ExpirationTime == null ? "" : Convert.ToDateTime(item.ExpirationTime).ToString("yyyy-MM-dd");
                        break;
                    }
@@ -5964,7 +5966,7 @@
                #endregion
                #region 质检请验
                if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1")
                if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1"  && sku.IsControlled != "1")
                {
                    var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo && m.SupplierLot == bind.SupplierLot);
                    if (qualityRequest == null)
Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
@@ -112,14 +112,14 @@
                throw new Exception("物料信息为空,请核查!");
            }
            //验证批次号是否为空
            if (string.IsNullOrEmpty(model.LotNo))
            if (string.IsNullOrEmpty(model.LotNo) && string.IsNullOrEmpty(model.ASNNo))
            {
                throw new Exception("批次号不可为空,请核查!");
                throw new Exception("请输入批次号或入库单号!");
            }
            //验证入库单号是否为空
            if (string.IsNullOrEmpty(model.ASNNo))
            {
                throw new Exception("入库单号不可为空!");
            //if (string.IsNullOrEmpty(model.ASNNo))
            //{
            //    throw new Exception("入库单号不可为空!");
                //查询是否为退货入库单据
@@ -136,7 +136,7 @@
                //    throw new Exception("输入的批次或物料信息与入库单据不符,请核查!");
                //}
                //isTui = 1;
            }
            //}
            //查找质检信息中是否存在同批次质检录入记录
            //BllQualityInspect quality = Db.Queryable<BllQualityInspect>().First(m => m.IsDel == "0" && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo);
@@ -155,8 +155,16 @@
            //}
            ////查找同批次 同单据 入库单信息、
            BllArrivalNoticeDetail arrivalDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0"
            && m.ASNNo == model.ASNNo && m.LotNo == model.LotNo && m.SkuNo == model.SkuNo);
            string sqlStr = $@"select * from BllArrivalNoticeDetail where IsDel='0' and SkuNo='{model.SkuNo}' ";
            if (!string.IsNullOrEmpty(model.ASNNo))
            {
                sqlStr += $" and ASNNo='{model.ASNNo}' ";
            }
            if (!string.IsNullOrEmpty(model.LotNo))
            {
                sqlStr += $" and LotNo='{model.LotNo}' ";
            }
            BllArrivalNoticeDetail arrivalDetail = Db.SqlQueryable<BllArrivalNoticeDetail>(sqlStr).First();
            if (arrivalDetail == null)
            {
                throw new Exception("未找到入库单信息!");
@@ -173,7 +181,16 @@
            //model.SupplierLot = arrivalDetail.SupplierLot; //供货批次
            //查找库存明细信息
            List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo).ToList();
            string sqlStr2 = $@"select * from DataStockDetail where IsDel='0' and SkuNo='{model.SkuNo}' ";
            if (!string.IsNullOrEmpty(model.ASNNo))
            {
                sqlStr2 += $" and ASNNo='{model.ASNNo}' ";
            }
            if (!string.IsNullOrEmpty(model.LotNo))
            {
                sqlStr2 += $" and LotNo='{model.LotNo}' ";
            }
            List<DataStockDetail> detail = Db.SqlQueryable<DataStockDetail>(sqlStr2).ToList();
            foreach (var item in detail)
            {
                List<BllBoxInfo> box = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.SkuNo == model.SkuNo && a.LotNo == model.LotNo).ToList();
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -3034,7 +3034,7 @@
                    foreach (var item in list)
                    {
                        var outModeLocate = "";
                        if (outMode == "1")
                        if (outMode == "17")
                        {
                            if (i < outLocatelist1.Count)
                            {
@@ -3047,7 +3047,7 @@
                                outModeLocate = outLocatelist1[j].LocatNo;
                            }
                        }
                        else if(outMode == "2")
                        else if (outMode == "18")
                        {
                            if (i < outLocatelist1.Count)
                            {
@@ -3060,6 +3060,10 @@
                                outModeLocate = outLocatelist2[j].LocatNo;
                            }
                        }
                        else
                        {
                            throw new Exception("出库口工位异常");
                        }
                        
                        var taskNoStr = "";
                                           
Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs
@@ -38,7 +38,7 @@
            string boxNo, string status, string inspectMark, string bitBoxMark, string inspectStatus)
        {
            string str = "select PalletNo,PalletNo2,PalletNo3,BoxNo,BoxNo2,BoxNo3,Status,LotNo,Qty,FullQty,SkuNo,SkuName," +
                "LotText,ProductionTime,InspectMark,BitBoxMark,InspectStatus,InspectTime from DataBoxInfo Where IsDel = @isdel";
                "LotText,ProductionTime,ExpirationTime,InspectMark,BitBoxMark,InspectStatus,InspectTime from DataBoxInfo Where IsDel = @isdel";
            //判断id是否为空
            if (!string.IsNullOrEmpty(id))
            {
Wms/WMS.BLL/DataServer/StockServer.cs
@@ -456,7 +456,7 @@
                    RQty = tb1.Qty,
                    RFactQty = tb1.Qty,
                    RCompleteQty = tb1.Qty,
                    CompleteTime = tb1.CompleteTime,
                    CompleteTime = tb2.CreateTime,
                    LotText = tb1.LotText,
                    SupplierLot = tb2.SupplierLot,
                    
@@ -498,7 +498,7 @@
                     SONo = tb2.SONo,
                     CTaskNo = tb1.TaskNo,
                     CCreateTime = tb1.UpdateTime,
                     CCreateTime = tb1.CreateTime,
                     CQty = tb1.Qty,
                     CFactQty = tb1.Qty,
                     CAllotQty = tb1.Qty,
Wms/WMS.BLL/SysServer/CustomerServer.cs
@@ -41,7 +41,7 @@
                    .Includes(x => x.CreateUserInfo)
                    .Includes(x => x.UpdateUserInfo)
                    .ToListAsync();
                count = counts;
                count.Value = counts;
                return data.Select(m => new CustomerDto()
                {
Wms/WMS.BLL/SysServer/PackagServer.cs
@@ -47,7 +47,8 @@
                var data = await PackagRst.GetAllByOrderPage(item, limit, page, out int counts)
                    .Includes(x => x.CreateUserInfo)
                    .Includes(x => x.UpdateUserInfo).ToListAsync();
                count = counts;
                count.Value = counts;
                return data.Select(m => new PackagDto()
                {
Wms/WMS.BLL/SysServer/UnitServer.cs
@@ -44,7 +44,7 @@
            var data = await UnitRst.GetAllByOrderPage(item, limit, page, out int counts)
                .Includes(x => x.CreateUserInfo)
                .Includes(x => x.UpdateUserInfo).ToListAsync();
            count = counts;
            count.Value = counts;
            return data.Select(m => new UnitDto()
            {
                Id = m.Id,
Wms/WMS.Entity/BllAsnEntity/BllArrivalNoticeDetail.cs
@@ -171,6 +171,11 @@
        public string Lot6 { get; set; }
        /// <summary>
        /// 标签常值
        /// </summary>
        public string BoxCodeStr { get; set; }
        /// <summary>
        /// 自定义列1
        /// </summary>
        public string UDF1 { get; set; }
Wms/WMS.IBLL/IBllAsnServer/IArrivalNoticeServer.cs
@@ -1,5 +1,6 @@
using Model.InterFaceModel;
using Model.ModelDto;
using Model.ModelDto.BllAsnDto;
using Model.ModelDto.SysDto;
using Model.ModelVm;
using Model.ModelVm.SysVm;
@@ -34,7 +35,7 @@
        /// </summary>
        /// <param name="id">id</param> 
        /// <returns></returns>
        string GetAsnDetailQtyList(int id);
        LabelPrintInfoDto GetAsnDetailQtyList(int id);
        /// <summary>
        /// 获取物料信息(添加入库单明细使用)
Wms/Wms/Controllers/BasisController.cs
@@ -905,7 +905,7 @@
        {
            RefAsync<int> count = new RefAsync<int>();
            var bolls = await _customerSvc.GetCustomerList(model.CustomerNo, model.CustomerName, model.Type, model.LinkMan, model.Phone, model.Page, model.Limit, count);
            return new SqlSugarPagedList() { Items = bolls, Total = count };
            return new SqlSugarPagedList() { Items = bolls, Total = count.Value };
        }
        /// <summary>
        /// 查询单条客户信息
@@ -1071,7 +1071,7 @@
        {
            RefAsync<int> count = new RefAsync<int>();
            var list = await _unitSvc.GetUnitList(model.UnitNo, model.UnitName, model.Page, model.Limit, count);
            return new SqlSugarPagedList() { Items = list, Total = count };
            return new SqlSugarPagedList() { Items = list, Total = count.Value };
        }
        /// <summary>
        /// 查询单条单位信息
@@ -1159,7 +1159,7 @@
        {
            RefAsync<int> count = new RefAsync<int>();
            var list = await _packagSvc.GetPackagList(model.PackagNo, model.PackagName, model.Level, model.Page, model.Limit, count);
            return new SqlSugarPagedList { Items = list, Total = count };
            return new SqlSugarPagedList { Items = list, Total = count.Value };
        }
        /// <summary>
Wms/Wms/appsettings.json
File was deleted