bklLiudl
19 小时以前 1f61b7db7c7df90929cbb7af7aa8756fded45ed3
修复程序问题
9个文件已修改
783 ■■■■ 已修改文件
Pda/View/AsnSetting/WorkshopIn.html 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/AsnSetting/printLabels.html 529 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/SoSetting/WorkshopOut.html 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/PdaAsnController.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/UpApiController.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/AsnSetting/WorkshopIn.html
@@ -109,7 +109,7 @@
            <div id="content1">
                <div id="zongDiv" class="layout-bill-info" style="height: 285px;">
                    <form class="layui-form" action="">
                        <div id="" class="layui-form-item layout-input">
                            <label class="layui-form-label" lang>托盘条码:</label>
                            <div class="layui-input-block">
@@ -125,10 +125,10 @@
                            </div>
                        </div>
                        <div id="" class="layui-form-item layout-input">
                           <label class="layui-form-label" lang>数量:</label>
                            <label class="layui-form-label" lang>数量:</label>
                            <div class="layui-input-block">
                                <input id="BoxNum" type="number" lay-verify="required" lang langholder
                                    placeholder="请输入数量" autocomplete="off" class="layui-input"
                                    placeholder="请输入数量" autocomplete="off" class="layui-input"
                                    oninput="value=value.replace(/^(0+)|[^\d]+/g,'')">
                            </div>
                        </div>
@@ -163,7 +163,7 @@
                                        </div>
                                    </div>
                                </td>
                            </tr>
                        </table>
@@ -186,17 +186,18 @@
            <div id="content2">
                <div id="zongDiv2" class="layout-bill-info" style="height: 255px;">
                    <form class="layui-form" id="form2" action="">
                       <div id="" class="layui-form-item layout-input">
                        <div id="" class="layui-form-item layout-input">
                            <label class="layui-form-label" lang>物料编码:</label>
                            <div class="layui-input-block">
                                <input id="SkuNo" type="text" lay-verify="stock" lang langholder
                                    placeholder="请输入物料编码" autocomplete="off" class="layui-input">
                                <input id="SkuNo" type="text" lay-verify="stock" lang langholder placeholder="请输入物料编码"
                                    autocomplete="off" class="layui-input">
                            </div>
                        </div><div id="" class="layui-form-item layout-input">
                        </div>
                        <div id="" class="layui-form-item layout-input">
                            <label class="layui-form-label" lang>批次号:</label>
                            <div class="layui-input-block">
                                <input id="LotNo2" type="text" lay-verify="stock" lang langholder
                                    placeholder="请输入批次" autocomplete="off" class="layui-input">
                                <input id="LotNo2" type="text" lay-verify="stock" lang langholder placeholder="请输入批次"
                                    autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div id="" class="layui-form-item layout-input">
@@ -337,7 +338,7 @@
            initLanguage()
            setLanguage()
            //是否连续组托
            isContinue = "0";
@@ -405,48 +406,60 @@
            //箱码回车事件
            $("#BoxCode").keydown(function (e) {
                if (e.keyCode === 13) {
                    if ($("#BoxCode").val() == "") {
                        layer.msg('请先扫描箱码', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                        return
                    }
                    checkBoxInfo()
            // $("#BoxCode").keydown(function (e) {
            //     if (e.keyCode === 13) {
            //         if ($("#BoxCode").val() == "") {
            //             layer.msg('请先扫描箱码', {
            //                 icon: 2,
            //                 time: 2000 //2秒关闭(如果不配置,默认是3秒)
            //             });
            //             return
            //         }
            //         checkBoxInfo()
            //     }
            // });
            // 箱码失去焦点时出发
            $("#BoxCode").blur(function () {
                if ($("#BoxCode").val() == "") {
                    layer.msg('请先扫描箱码', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return
                }
            });
                checkBoxInfo()
            })
            //箱回车事件
            function checkBoxInfo() {
                var param = {
                    "boxNo": $("#BoxCode").val(),
                }
                synData(IP + "/PdaAsn/GetWmsBoxInfos", param, 'get', function (res) {
                    if (res.code == 0) { //成功
                        $("#BoxNum").val(res.data[0].Qty);
                        $("#SkuName").val(res.data[0].SkuName);
                        $("#LotNo").val(res.data[0].LotNo);
                    } else { //不成功
                        layer.msg(res.msg, {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            });
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                    }
                });
            }
            }
            //绑定到托盘事件
            form.on('submit(formBind)', function (data) {
                if (xianshiyemian == 0) {
                    if ($("#PalletNo").val() == "") {
                        layer.msg('请扫描托盘条码', {
                            icon: 2,
@@ -465,7 +478,7 @@
                        PalletNo: $("#PalletNo").val(),
                        BoxNo: $("#BoxCode").val(),
                        SkuQty: parseFloat($("#BoxNum").val()), //物料数量
                        AreaNo:$("#area").val(),
                        AreaNo: $("#area").val(),
                        TableType: xianshiyemian,
                    }
                    console.log(param)
@@ -480,7 +493,7 @@
                                $("#BoxNum").val("");
                                $("#SkuName").val("");
                                $("#LotNo").val("");
                            });
                        } else { //不成功
                            layer.msg(res.msg, {
@@ -514,12 +527,12 @@
                        });
                        return;
                    }
                     var param = {
                    var param = {
                        PalletNo: $("#PalletNo2").val(),
                        SkuNo: $("#SkuNo").val(),
                        LotNo: $("#LotNo2").val(),
                        SkuQty: parseFloat($("#SkuQty2").val()), //物料数量
                        AreaNo:$("#area").val(),
                        AreaNo: $("#area").val(),
                        TableType: xianshiyemian,
                    }
                    console.log(param)
@@ -534,7 +547,7 @@
                                $("#SkuNo").val("");
                                $("#SkuQty2").val("");
                                $("#LotNo2").val("");
                            });
                        } else { //不成功
                            layer.msg(res.msg, {
@@ -550,7 +563,7 @@
                return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
            });
            /*——————————————————————————————————————————————————————————*/
Pda/View/AsnSetting/printLabels.html
@@ -1,276 +1,267 @@
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" />
        <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=2.0, user-scalable=no" /> -->
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>Boxline PDA</title>
        <link rel="stylesheet" href="/layui/css/layui.css" />
        <link rel="stylesheet" href="/css/style.css" />
        <script src="/js/adaptive.js"></script>
        <link rel="stylesheet" href="/css/my.css" />
        <link rel="stylesheet" href="/css/adapter.css" />
        <style type="text/css">
            .layout-bill-info {
                height: 255px;
            }
            .layout-tbl-submit {
                margin-top: 10px;
            }
        </style>
    </head>
    <body>
        <div id="" class="main-content">
            <div id="" class="layout-title">
                <table border="" cellspacing="" cellpadding="">
                    <tr>
                        <td class="img-back"><a href="../index.html"><img src="/assets/back.jpg" ></a></td>
                        <td class="title-text">线边标签</td>
                        <td class="title-menu-icon"><img id="menuImg" src="/assets/menu.jpg" ></td>
                    </tr>
                </table>
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" />
    <!-- <meta name="viewport" content="width=device-width, initial-scale=0.665, minimum-scale=0.5, maximum-scale=2.0, user-scalable=no" /> -->
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Boxline PDA</title>
    <link rel="stylesheet" href="/layui/css/layui.css" />
    <link rel="stylesheet" href="/css/style.css" />
    <script src="/js/adaptive.js"></script>
    <link rel="stylesheet" href="/css/my.css" />
    <link rel="stylesheet" href="/css/adapter.css" />
    <style type="text/css">
        .layout-bill-info {
            height: 255px;
        }
        .layout-tbl-submit {
            margin-top: 10px;
        }
    </style>
</head>
<body>
    <div id="" class="main-content">
        <div id="" class="layout-title">
            <table border="" cellspacing="" cellpadding="">
                <tr>
                    <td class="img-back"><a href="../index.html"><img src="/assets/back.jpg"></a></td>
                    <td class="title-text">线边标签</td>
                    <td class="title-menu-icon"><img id="menuImg" src="/assets/menu.jpg"></td>
                </tr>
            </table>
        </div>
        <div id="" class="layout-sub-content">
            <div id="menuList" class="menu">
                <ul class="" style="text-align: center;">
                    <li><a href="../index.html">主页</a></li>
                    <li><a href="../login.html">重新登录</a></li>
                </ul>
            </div>
            <div id="" class="layout-sub-content">
                <div id="menuList" class="menu">
                    <ul class="" style="text-align: center;">
                        <li><a href="../index.html">主页</a></li>
                        <li><a href="../login.html">重新登录</a></li>
                    </ul>
                </div>
                <div>
                    <button id="click" class="layout-btn" type="button" style="background-color: #999; width: 100%;text-align: center; margin-top: 2px;">连接蓝牙</button>
                </div>
                <div id="zongDiv2" class="layout-bill-info" style="height: 255px;">
                    <form class="layui-form" id="form2" action="">
                        <div id="" class="layui-form-item layout-input">
                            <label class="layui-form-label" lang>物料编码:</label>
                            <div class="layui-input-block">
                                <input id="skuNo" type="text" placeholder="" autocomplete="off" class="layui-input" >
                            </div>
                        </div>
            <div>
                <button id="click" class="layout-btn" type="button"
                    style="background-color: #999; width: 100%;text-align: center; margin-top: 2px;">连接蓝牙</button>
            </div>
            <div id="zongDiv2" class="layout-bill-info" style="height: 255px;">
                <form class="layui-form" id="form2" action="">
                    <div id="" class="layui-form-item layout-input">
                        <label class="layui-form-label" lang>物料编码:</label>
                        <div class="layui-input-block">
                            <input id="skuNo" type="text" placeholder="" autocomplete="off" class="layui-input">
                        </div>
                    </div>
                        <div class="layui-form-item layout-input" style="margin-top: 10px;">
                            <label class="layui-form-label">物料名称:</label>
                            <div class="layui-input-block">
                                <input id="skuName" type="text" placeholder=""
                                autocomplete="off" class="layui-input" >
                            </div>
                        </div>
                        <div class="layui-form-item layout-input" style="margin-top: 10px;">
                            <label class="layui-form-label">批次号:</label>
                            <div class="layui-input-block">
                                <input id="lotNo" type="text" placeholder=""
                                autocomplete="off" class="layui-input" >
                            </div>
                        </div>
                        <div class="layui-form-item layout-input" style="margin-top: 10px;">
                            <label class="layui-form-label">生产日期:</label>
                            <div class="layui-input-block">
                                <input id="timeFrom" type="date"  placeholder="请选择日期"
                                autocomplete="off" class="measureDate" style="padding-left: 0px;">
                            </div>
                        </div>
                        <div class="layui-form-item layout-input" style="margin-top: 10px;">
                            <label class="layui-form-label">有效期:</label>
                            <div class="layui-input-block">
                                <input id="timeEnd" type="date" placeholder="请选择日期"
                                autocomplete="off" class="measureDate" style="padding-left: 0px;">
                            </div>
                        </div>
                        <div class="layui-form-item layout-input" style="margin-top: 10px;">
                            <label class="layui-form-label">箱内数量:</label>
                            <div class="layui-input-block">
                                <input id="skuNum" type="text" placeholder=""
                                autocomplete="off" class="layui-input" >
                            </div>
                        </div>
                    <div class="layui-form-item layout-input" style="margin-top: 10px;">
                        <label class="layui-form-label">物料名称:</label>
                        <div class="layui-input-block">
                            <input id="skuName" type="text" placeholder="" autocomplete="off" class="layui-input">
                        </div>
                    </div>
                    <div class="layui-form-item layout-input" style="margin-top: 10px;">
                        <label class="layui-form-label">批次号:</label>
                        <div class="layui-input-block">
                            <input id="lotNo" type="text" placeholder="" autocomplete="off" class="layui-input">
                        </div>
                    </div>
                    <div class="layui-form-item layout-input" style="margin-top: 10px;">
                        <label class="layui-form-label">生产日期:</label>
                        <div class="layui-input-block">
                            <input id="timeFrom" type="date" placeholder="请选择日期" autocomplete="off" class="measureDate"
                                style="padding-left: 0px;">
                        </div>
                    </div>
                    <div class="layui-form-item layout-input" style="margin-top: 10px;">
                        <label class="layui-form-label">有效期:</label>
                        <div class="layui-input-block">
                            <input id="timeEnd" type="date" placeholder="请选择日期" autocomplete="off" class="measureDate"
                                style="padding-left: 0px;">
                        </div>
                    </div>
                    <div class="layui-form-item layout-input" style="margin-top: 10px;">
                        <label class="layui-form-label">箱内数量:</label>
                        <div class="layui-input-block">
                            <input id="skuNum" type="text" placeholder="" autocomplete="off" class="layui-input">
                        </div>
                    </div>
                        <table class="layout-tbl-submit" border="" cellspacing="" cellpadding="">
                            <tr>
                                <td style="width: 23%;"></td>
                                <td>
                                    <button id="click2" class="layout-btn layout-btn-red" lang type="button" lay-submit
                                        lay-filter="formBind">打印标签</button>
                                </td>
                                <td style="width: 33%;"></td>
                    <table class="layout-tbl-submit" border="" cellspacing="" cellpadding="">
                        <tr>
                            <td style="width: 23%;"></td>
                            <td>
                                <button id="click2" class="layout-btn layout-btn-red" lang type="button" lay-submit
                                    lay-filter="formBind">打印标签</button>
                            </td>
                            <td style="width: 33%;"></td>
                            </tr>
                        </table>
                    </form>
                </div>
                <div id="" class="layout-bill-info">
                </div>
                        </tr>
                    </table>
                </form>
            </div>
            <div id="" class="layout-bill-info">
            </div>
        </div>
        <script src="/js/jquery-3.5.1.min.js"></script>
        <script src="/layui/layui.js"></script>
        <script src="/js/public.js"></script>
        <script src="/js/jquery.cookie.js"></script>
        <script src="/js/uni.webview.1.5.2.js"></script>
        <!-- <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script> -->
    </div>
        <script type="text/javascript">
            let date = new Date();
            let yyyy = date.getFullYear();
            let MM = (date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : (date.getMonth() + 1);
            let dd = date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate();
            // let HH = date.getHours() < 10 ? ("0" + date.getHours()) : date.getHours();
            // let mm = date.getMinutes() < 10 ? ("0" + date.getMinutes()) : date.getMinutes();
            let curDay = yyyy + '-' + MM + '-' + dd ;//+ 'T' + HH + ':' + mm;
            $('.measureDate').val(curDay);
            console.log(curDay);
        </script>
    <script src="/js/jquery-3.5.1.min.js"></script>
    <script src="/layui/layui.js"></script>
    <script src="/js/public.js"></script>
    <script src="/js/jquery.cookie.js"></script>
        <script>
            var dataLists;
            layui.use(['form', 'jquery'], function() {
                var form = layui.form
                // 链接蓝牙
                $("#menuImg").click(function(e){
                    e.stopPropagation()
                    if($("#menuList").is(":hidden")){
                        $("#menuList").show()
                    }else{
                        $("#menuList").hide()
                    }
                })
                $('body').click(function(){
    <script src="/js/uni.webview.1.5.2.js"></script>
    <!-- <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script> -->
    <script type="text/javascript">
        let date = new Date();
        let yyyy = date.getFullYear();
        let MM = (date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : (date.getMonth() + 1);
        let dd = date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate();
        // let HH = date.getHours() < 10 ? ("0" + date.getHours()) : date.getHours();
        // let mm = date.getMinutes() < 10 ? ("0" + date.getMinutes()) : date.getMinutes();
        let curDay = yyyy + '-' + MM + '-' + dd;//+ 'T' + HH + ':' + mm;
        $('.measureDate').val(curDay);
        console.log(curDay);
    </script>
    <script>
        var dataLists;
        layui.use(['form', 'jquery'], function () {
            var form = layui.form
            // 链接蓝牙
            $("#menuImg").click(function (e) {
                e.stopPropagation()
                if ($("#menuList").is(":hidden")) {
                    $("#menuList").show()
                } else {
                    $("#menuList").hide()
                })
                //物料编码失去焦点事件
                $("#skuNo").on('blur',function (e) {
                    if ($("#skuNo").val() == "") {
                        layer.msg('请输入物料编码', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                        return
                    }
                    getSkuInfo();
                });
                //物料名称失去焦点事件
                $("#skuName").on('blur',function (e) {
                    if ($("#skuName").val() == "") {
                        layer.msg('请输入物料编码名称', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                        return
                    }
                    getSkuInfo();
                });
                // 验证获取物料信息
                function getSkuInfo(){
                    var param = {
                        SkuNo:$("#skuNo").val(),
                        SkuName:$("#skuName").val()
                    }
                    synData(IP + "/PdaAsn/getSkuInfo", param, 'post', function (res) {
                        console.log(JSON.stringify(res))
                        if (res.code == 0 && res.data != null) { //成功
                            console.log(res.data);
                            $("#skuNo").val(res.data.SkuNo);
                            $("#skuName").val(res.data.SkuName);
                        }else{
                            layer.msg(res.msg, {
                                    icon: 2,
                                    time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                });
                                return;
                        }
                    });
                }
            })
            $('body').click(function () {
                $("#menuList").hide()
            })
            document.addEventListener("UniAppJSBridgeReady", function () {
                    document.getElementById("click").addEventListener("click", function () {
                        let data = {
                            type: "search"
                        };
                        console.log("给 uni-app 发送数据", data);
                        uni.postMessage({
                            data: data,
                        });
            //物料编码失去焦点事件
            $("#skuNo").on('blur', function (e) {
                if ($("#skuNo").val() == "") {
                    layer.msg('请输入物料编码', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    document.getElementById("click2").addEventListener("click", function () {
                        // 验证必填项
                        if ($("#skuNo").val() == "") {
                            layer.msg('物料编码不可为null', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            });
                            return;
                        }
                    return
                }
                        if ($("#skuName").val() == "") {
                            layer.msg('物料名称不可为null', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            });
                            return;
                        }
                getSkuInfo();
            });
                        if ($("#lotNo").val() == "") {
                            layer.msg('批次号不可为null', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            });
                            return;
                        }
                        if ($("#skuNum").val() == "") {
                            layer.msg('箱内数量不可为null', {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            });
                            return;
                        }
            //物料名称失去焦点事件
            $("#skuName").on('blur', function (e) {
                if ($("#skuName").val() == "") {
                    layer.msg('请输入物料编码名称', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return
                }
                        // 参数
                        var param = {
                            SkuNo:$("#skuNo").val(),
                            SkuName:$("#skuName").val(),
                            LotNo:$("#lotNo").val(),
                            TimeFrom:$("#timeFrom").val(),
                            TimeEnd:$("#timeEnd").val(),
                            SkuNum:$("#skuNum").val()
                        }
                getSkuInfo();
            });
                        // 存储新标签
                        synData(IP + "/PdaAsn/AddLabels", param, 'post', function (res) {
                            console.log(JSON.stringify(res))
                            if (res.code == 0 && res.data != null) { //成功
                                console.log(res.data);
                                dataLists = res.data;
                            }else{
                                layer.msg(res.msg, {
                                        icon: 2,
                                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                                    });
                                    return;
                            }
            // 验证获取物料信息
            function getSkuInfo() {
                var param = {
                    SkuNo: $("#skuNo").val(),
                    SkuName: $("#skuName").val()
                }
                synData(IP + "/PdaAsn/getSkuInfo", param, 'post', function (res) {
                    console.log(JSON.stringify(res))
                    if (res.code == 0 && res.data != null) { //成功
                        console.log(res.data);
                        $("#skuNo").val(res.data.SkuNo);
                        $("#skuName").val(res.data.SkuName);
                    } else {
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                        return;
                    }
                });
            }
        })
        document.addEventListener("UniAppJSBridgeReady", function () {
            document.getElementById("click").addEventListener("click", function () {
                let data = {
                    type: "search"
                };
                console.log("给 uni-app 发送数据", data);
                uni.postMessage({
                    data: data,
                });
            });
            document.getElementById("click2").addEventListener("click", function () {
                // 验证必填项
                if ($("#skuNo").val() == "") {
                    layer.msg('物料编码不可为null', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return;
                }
                if ($("#skuName").val() == "") {
                    layer.msg('物料名称不可为null', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return;
                }
                if ($("#lotNo").val() == "") {
                    layer.msg('批次号不可为null', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return;
                }
                if ($("#skuNum").val() == "") {
                    layer.msg('箱内数量不可为null', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return;
                }
                // 参数
                var param = {
                    SkuNo: $("#skuNo").val(),
                    SkuName: $("#skuName").val(),
                    LotNo: $("#lotNo").val(),
                    TimeFrom: $("#timeFrom").val(),
                    TimeEnd: $("#timeEnd").val(),
                    SkuNum: $("#skuNum").val()
                }
                // 存储新标签
                synData(IP + "/PdaAsn/AddLabels", param, 'post', function (res) {
                    console.log(JSON.stringify(res))
                    if (res.code == 0 && res.data != null) { //成功
                        console.log(res.data);
                        dataLists = res.data;
                        let data = {
                            type: "print",
                            listData:dataLists
                            listData: dataLists
                            // {
                            //     SkuNo:'541100554848',
                            //     SkuName:'葡萄糖葡萄糖葡萄糖葡萄糖葡萄糖',
@@ -290,24 +281,34 @@
                        uni.postMessage({
                            data: data,
                        });
                    });
                    } else {
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                        return;
                    }
                });
        </script>
        <script type="text/javascript">
            // window.jsfunction = function (data) {
            //     let canshutype = typeof data;
            //     let mes = typeof data == "object" ? JSON.stringify(data) : data;
            //     alert("收到参数" + canshutype);
            //     document.getElementById("messageText").innerHTML =
            //         "恭喜你,接收到你的参数\n,参数是" + canshutype + "参数如下:\n" + mes;
            //     console.log("data", data);
            // };
        </script>
    </body>
</html>
            });
        });
    </script>
    <script type="text/javascript">
        // window.jsfunction = function (data) {
        //     let canshutype = typeof data;
        //     let mes = typeof data == "object" ? JSON.stringify(data) : data;
        //     alert("收到参数" + canshutype);
        //     document.getElementById("messageText").innerHTML =
        //         "恭喜你,接收到你的参数\n,参数是" + canshutype + "参数如下:\n" + mes;
        //     console.log("data", data);
        // };
    </script>
</body>
</html>
Pda/View/SoSetting/WorkshopOut.html
@@ -109,7 +109,7 @@
            <div id="content1">
                <div id="zongDiv" class="layout-bill-info" style="height: 285px;">
                    <form class="layui-form" action="">
                        <div id="" class="layui-form-item layout-input">
                            <label class="layui-form-label" lang>托盘条码:</label>
                            <div class="layui-input-block">
@@ -124,24 +124,24 @@
                                    placeholder="请扫描外箱条码" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <table class="layout-tbl-input" border="" cellspacing="" cellpadding="">
                            <tr>
                                <td>
                                    <div id="" class="layui-form-item layout-boxinfo">
                                        <label class="layui-form-label" style=" width: 21%;" lang>批次:</label>
                                        <div class="layui-input-block" style=" width: 79%;margin-left: 21%;" >
                                        <div class="layui-input-block" style=" width: 79%;margin-left: 21%;">
                                            <input id="LotNo" type="text" disabled placeholder="" autocomplete="off"
                                                class="layui-input">
                                        </div>
                                    </div>
                                </td>
                            </tr>
                            <tr>
                                 <td>
                            <tr>
                                <td>
                                    <div id="" class="layui-form-item layout-boxinfo">
                                        <label class="layui-form-label" style=" width: 21%;" lang>物料名称:</label>
                                        <div class="layui-input-block" style=" width: 79%;margin-left: 21%;" >
                                        <div class="layui-input-block" style=" width: 79%;margin-left: 21%;">
                                            <input id="SkuName" type="text" disabled placeholder="" autocomplete="off"
                                                class="layui-input">
                                        </div>
@@ -169,17 +169,18 @@
            <div id="content2">
                <div id="zongDiv2" class="layout-bill-info" style="height: 255px;">
                    <form class="layui-form" id="form2" action="">
                       <div id="" class="layui-form-item layout-input">
                        <div id="" class="layui-form-item layout-input">
                            <label class="layui-form-label" lang>物料编码:</label>
                            <div class="layui-input-block">
                                <input id="SkuNo" type="text" lay-verify="stock" lang langholder
                                    placeholder="请输入物料编码" autocomplete="off" class="layui-input">
                                <input id="SkuNo" type="text" lay-verify="stock" lang langholder placeholder="请输入物料编码"
                                    autocomplete="off" class="layui-input">
                            </div>
                        </div><div id="" class="layui-form-item layout-input">
                        </div>
                        <div id="" class="layui-form-item layout-input">
                            <label class="layui-form-label" lang>批次号:</label>
                            <div class="layui-input-block">
                                <input id="LotNo2" type="text" lay-verify="stock" lang langholder
                                    placeholder="请输入批次" autocomplete="off" class="layui-input">
                                <input id="LotNo2" type="text" lay-verify="stock" lang langholder placeholder="请输入批次"
                                    autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div id="" class="layui-form-item layout-input">
@@ -320,7 +321,7 @@
            initLanguage()
            setLanguage()
            //是否连续组托
            isContinue = "0";
@@ -388,18 +389,32 @@
            //箱码回车事件
            $("#BoxCode").keydown(function (e) {
                if (e.keyCode === 13) {
                    if ($("#BoxCode").val() == "") {
                        layer.msg('请先扫描箱码', {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                        return
                    }
                    checkBoxInfo()
            // $("#BoxCode").keydown(function (e) {
            //     if (e.keyCode === 13) {
            //         if ($("#BoxCode").val() == "") {
            //             layer.msg('请先扫描箱码', {
            //                 icon: 2,
            //                 time: 2000 //2秒关闭(如果不配置,默认是3秒)
            //             });
            //             return
            //         }
            //         checkBoxInfo()
            //     }
            // });
            // 箱码失去焦点时出发
            $("#BoxCode").blur(function () {
                if ($("#BoxCode").val() == "") {
                    layer.msg('请先扫描箱码', {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return
                }
            });
                checkBoxInfo()
            })
            //箱回车事件
            function checkBoxInfo() {
@@ -407,26 +422,26 @@
                    "BoxNo": $("#BoxCode").val(),
                }
                sendData(IP + "/PdaSo/GetWmsBoxInfos", param, 'get', function (res) {
                    if (res.code == 0) { //成功
                        $("#SkuName").val(res.data[0].SkuName);
                        $("#LotNo").val(res.data[0].LotNo);
                    } else { //不成功
                        layer.msg(res.msg, {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            });
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                    }
                });
            }
            }
            //绑定到托盘事件
            form.on('submit(formBind)', function (data) {
                if (xianshiyemian == 0) {
                    if ($("#PalletNo").val() == "") {
                        layer.msg('请扫描托盘条码', {
                            icon: 2,
@@ -456,7 +471,7 @@
                                $("#BoxCode").val("");
                                $("#SkuName").val("");
                                $("#LotNo").val("");
                            });
                        } else { //不成功
                            layer.msg(res.msg, {
@@ -490,12 +505,12 @@
                        });
                        return;
                    }
                     var param = {
                    var param = {
                        PalletNo: $("#PalletNo2").val(),
                        SkuNo: $("#SkuNo").val(),
                        LotNo: $("#LotNo2").val(),
                        SkuQty: parseFloat($("#SkuQty2").val()), //物料数量
                        AreaNo:$("#area").val(),
                        AreaNo: $("#area").val(),
                        TableType: xianshiyemian,
                    }
                    console.log(param)
@@ -510,7 +525,7 @@
                                $("#SkuNo").val("");
                                $("#SkuQty2").val("");
                                $("#LotNo2").val("");
                            });
                        } else { //不成功
                            layer.msg(res.msg, {
@@ -526,7 +541,7 @@
                return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
            });
            /*——————————————————————————————————————————————————————————*/
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -370,7 +370,9 @@
                        if (string.IsNullOrWhiteSpace(detailModel.LotNo))
                        {
                            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);
                            var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>()
                                .Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK")
                                && m.CreateTime.ToString("yyyyMM") == DateTime.Now.ToString("yyyyMM")).Max(m => m.BoxCodeStr);
                            if(string.IsNullOrWhiteSpace(maxBoxCodeStr))
                            {
                                maxBoxCodeStr = "BK" + toDayTime.Substring(2, 4) + "0001";
@@ -634,7 +636,9 @@
                            //    }
                            //}
                            //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);
                            var maxBoxCodeStr = Db.Queryable<BllArrivalNoticeDetail>()
                                .Where(m => m.IsDel == "0" && m.BoxCodeStr.Contains("BK")
                                && m.CreateTime.ToString("yyyyMM") == DateTime.Now.ToString("yyyyMM")).Max(m => m.BoxCodeStr);
                            if (string.IsNullOrWhiteSpace(maxBoxCodeStr))
                            {
                                maxBoxCodeStr = "BK" + toDayTime.Substring(2, 4) + "0001";
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -2452,7 +2452,7 @@
            }
        }
        // 车间绑定托盘-贴标
        public void ChejianIn(string palletNo,string boxNo,decimal qty,string areaNo,int userId)
        {
            try
@@ -2685,7 +2685,7 @@
                var sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';";
                ////添加托盘记录表数据
                //sqlStr += $"insert into LogPalletTrack values('{palletNo}','{boxNo}','组盘','0',getDate(),{userId},NULL,NULL);";
                //Db.Ado.ExecuteCommand(sqlStr);
                Db.Ado.ExecuteCommand(sqlStr);
                new OperationASNServer().AddLogOperationAsn("PDA模块", "车间入库", boxNo, "添加", $"添加了托盘码为:{palletNo}、{msgStr}的入库信息", userId);
                //提交事务
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -1303,9 +1303,8 @@
                    SkuName = boxInfo.SkuName,
                    LotNo = boxInfo.LotNo,
                    BoxNoList = new List<string>() { boxNoNew } ,
                    Date1 = boxInfo.ProductionTime.ToString(),
                    Date2 = boxInfo.ExpirationTime.ToString(),
                    Date1 = boxInfo.ProductionTime == null ? "" : Convert.ToDateTime(boxInfo.ProductionTime).ToString("yyyy-MM-dd"),
                    Date2 = boxInfo.ExpirationTime == null ? "" : Convert.ToDateTime(boxInfo.ExpirationTime).ToString("yyyy-MM-dd"),
                };
                
                #endregion
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -1475,7 +1475,7 @@
            }
        }
        //车间pda拣货
        //车间pda拣货 - 标签
        public async Task ChejianPick(string palletNo, string boxNo, int userId)
        {
            Db.BeginTran();
@@ -1489,7 +1489,7 @@
                }
                if (string.IsNullOrEmpty(boxNo))
                {
                    throw Oops.Bah("追溯条码和拣货数量不能同时输入");
                    throw Oops.Bah("箱码不可为空");
                }
                //箱码明细
@@ -1502,26 +1502,34 @@
                boxInfos = await boxInfo.ToListAsync();
                //库存明细
                var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo && m.SkuNo == boxInfos.First().SkuNo && m.LotNo == boxInfos.First().LotNo);
                var stockDetail = await Db.Queryable<DataStockDetail>()
                    .FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo
                    && m.SkuNo == boxInfos.First().SkuNo && m.LotNo == boxInfos.First().LotNo);
                if (stockDetail == null)
                {
                    throw Oops.Bah("未查询到该托盘分配的库存明细信息!");
                }
                // 验证是否车间线边仓库
                var areaList = new List<string>() { "B06", "B07", "B09" };
                if (!areaList.Contains(stockDetail.AreaNo))
                {
                    throw Oops.Bah("托盘不是车间托盘!");
                }
                //库存总表
                var stock = await Db.Queryable<DataStock>().FirstAsync(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo);
                var stock = await Db.Queryable<DataStock>()
                    .FirstAsync(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo && a.LotNo == stockDetail.LotNo);
                if (stock == null)
                {
                    throw Oops.Bah("未查询到该托盘分配的库存信息!");
                }
                #endregion
                var pickQty = boxInfos.Sum(m => m.Qty);
                // 删除箱任务
                await Db.Deleteable(boxInfos).ExecuteCommandAsync();
                //删除或修改库存明细
@@ -1558,6 +1566,7 @@
                {
                    await Db.Updateable(stock).ExecuteCommandAsync();
                }
                var num2 = await Db.Queryable<DataStockDetail>().CountAsync(m => m.IsDel == "0" && m.PalletNo == palletNo);
                if (num2 <= 0)
                {
@@ -1572,7 +1581,8 @@
                }
                 
                //添加操作日志记录
                var k = new OperationSOServer().AddLogOperationSo("PDA模块", "车间出库", boxNo, "拣货", $"在PDA上对箱号为:{boxNo}的托盘码为:{palletNo}的拣货操作", userId);
                var k = new OperationSOServer().AddLogOperationSo("PDA模块", "车间出库",
                    boxNo, "拣货", $"在PDA上对箱号为:{boxNo}的托盘码为:{palletNo}的拣货操作", userId);
                Db.CommitTran();
            }
            catch (AppFriendlyException e)
Wms/Wms/Controllers/PdaAsnController.cs
@@ -3,6 +3,7 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Model.InterFaceModel;
using Model.ModelDto;
using Model.ModelDto.BllAsnDto;
using Model.ModelDto.DataDto;
using Model.ModelVm;
@@ -11,6 +12,8 @@
using Model.ModelVm.SysVm;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using Utility;
using Utility.Tools;
@@ -37,7 +40,6 @@
            _PdaAsnSvc = pdaAsnSvc; 
            _userManager = userManager;
        }
        #region JC34
@@ -919,7 +921,16 @@
                model.userId = int.Parse(UserId);
                var models = _PdaAsnSvc.AddLabels(model);
                return Ok(new { code = 0, msg = "箱码生成成功!", data = models });
                var data = new BoxListInfoDto();
                data.SkuNo = model.SkuNo;
                data.SkuName = model.SkuName;
                data.LotNo = model.LotNo;
                data.Date1 = model.TimeFrom == null ? "" : Convert.ToDateTime(model.TimeFrom).ToString("yyyy-MM-dd");
                data.Date2 = model.TimeEnd == null ? "" : Convert.ToDateTime(model.TimeEnd).ToString("yyyy-MM-dd");
                data.BoxNoList = models.Select(m => m.BoxNo).ToList();
                return Ok(new { code = 0, msg = "箱码生成成功!", data = data });
            }
            catch (Exception e)
            {
Wms/Wms/Controllers/UpApiController.cs
@@ -47,6 +47,8 @@
        private readonly IPdaAsnServer _pdaAsnServer;// PDA
        private readonly IHttpServer _http;
        private string logStr = $@".\log\SAP赋码\Sap下发报文" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
        public UpApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IArrivalNoticeServer arrivalNoticeServer, IStockCheckServer stockCheckSvc, IProcurePlanServer procurePlanSvc, IPdaAsnServer pdaAsnServer, IHttpServer http)
        {
            _config = setting.Value;
@@ -60,8 +62,6 @@
        #endregion
        #region JC34 
        /// <summary>
        /// 物料下发
        /// </summary>
@@ -71,10 +71,9 @@
        [HttpPost]
        public IActionResult CreateSku(object model)
        {
            try
            {
                LogFile.SaveLogToFile($"Sap物料主数据:( {model} ),", logStr);
                return Ok(new { result = true, code = "1" ,message = "success" });
            }
            catch (Exception e)
@@ -95,7 +94,8 @@
        {
             
            try
            {
            {
                LogFile.SaveLogToFile($"Sap客户信息主数据:( {model} ),", logStr);
                return Ok(new { result = true, code = "1", message = "success" });
            }
            catch (Exception e)
@@ -117,6 +117,7 @@
            try
            {
                LogFile.SaveLogToFile($"Sap入库单下发:( {model} ),", logStr);
                return Ok(new { result = true, code = "1", message = "success" });
            }
            catch (Exception e)
@@ -137,6 +138,7 @@
            try
            {
                LogFile.SaveLogToFile($"Sap出库单下发:( {model} ),", logStr);
                return Ok(new { result = true, code = "1", message = "success" });
            }
            catch (Exception e)
@@ -158,9 +160,9 @@
            try
            {
            //    var sd = JsonConvert.SerializeObject(model);
            //    var sd2 = JsonConvert.DeserializeObject<BoxPalletBindVm>(sd);
                //    var sd = JsonConvert.SerializeObject(model);
                //    var sd2 = JsonConvert.DeserializeObject<BoxPalletBindVm>(sd);
                LogFile.SaveLogToFile($"Sap质量状态变更:( {model} ),", logStr);
                return Ok(new { result = true, code = "1", message = "success" });
            }
            catch (Exception e)