wxw
6 天以前 bbeadfe2c0dd55405b83641751ad88874d0716f6
完善物料标签的补打标签和合并标签功能
2个文件已修改
2个文件已添加
345 ■■■■■ 已修改文件
HTML/views/ASNSetting/LabelBox.html 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/LabelChai.html 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/LabelMerge.html 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/ASNSetting/LabelBox.html
@@ -338,6 +338,27 @@
                    // btn: ['取消']
                });
            });
            //拆分标签
            $('#ChaiLabel').on('click', function () {
                layer.open({
                    type: 2,
                    title: '拆分标签',
                    content: 'LabelChai.html',
                    maxmin: true,
                    area: ['430px', '290px'],
                    // btn: ['取消']
                });
            });
            $('#MergeLabel').on('click', function () {
                layer.open({
                    type: 2,
                    title: '合并标签',
                    content: 'LabelMerge.html',
                    maxmin: true,
                    area: ['430px', '290px'],
                    // btn: ['取消']
                });
            });
            $("#AsnNoSelect").on('input', function () {
                if ($("#AsnNoSelect").val() == "" || $("#AsnNoSelect").val().length < 16) {
HTML/views/ASNSetting/LabelChai.html
New file
@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>标签打印</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
    <style media="print">
        @page {
            size: auto;
            margin: 0 0 0 20px;
        }
        .layui-input {
            padding-left: 0px;
        }
        .layui-form-item {
            margin-bottom: 2px;
        }
    </style>
    <style>
        .layui-form-item .layui-input-inline {
            display: block;
            float: none;
            left: -3px;
            width: auto;
            margin: 0 0 10px 90px;
        }
        .hideCls {
            display: none;
        }
        .showCls {
            display: block;
        }
        .font-size12 {
            font-size: 14px;
        }
        .font-size10 {
            font-size: 10px;
        }
    </style>
</head>
<body>
    <div style="width:100%;">
        <div class="layui-form" style="padding: 30px 15px 0px; " id="button">
            <div class="layui-form-item" style="margin-bottom:0px;">
                <label class="layui-form-label" style="width: 60px;">箱码</label>
                <div class="layui-input-inline">
                    <input type="text" id="BoxCode" name="BoxCode" placeholder="箱码" autocomplete="off"
                        class="layui-input">
                </div>
            </div>
            <div class="layui-form-item" style="margin-bottom:0px;">
                <label class="layui-form-label" style="width: 60px;">拆分数量</label>
                <div class="layui-input-inline">
                    <input type="number" id="ChaiQty" name="ChaiQty" placeholder="拆分数量" autocomplete="off"
                        class="layui-input">
                </div>
            </div>
            <div class="layui-form-item" style="margin-bottom:0px; text-align: center;">
                <button id="btnChai" class="layui-btn layui-btn-edit" lay-event="Add"><i
                        class="layui-icon">&#xe654;</i>拆分</button>
            </div>
        </div>
    </div>
    <script src="../../layuiadmin/layui/layui.js"></script>
    <script src="../../js/public.js"></script>
    <script src="../../js/jquery-3.5.1.min.js"></script>
    <script src="../../js/jquery.cookie.js"></script>
    <script>
        var boxcode = "";
        layui.config({
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'layer', 'laydate'], function () {
            var $ = layui.$,
                form = layui.form,
                layer = layui.layer;
            var laydate = layui.laydate;
            var indes = layer.index;
            var xun = 0;
            $('#btnChai').on('click', function () {
                if ($("#BoxCode").val()=='' || $("#BoxCode").val() == undefined) {
                    layer.msg("请输入箱码!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return -1;
                }
                if ($("#ChaiQty").val()=='' || $("#ChaiQty").val() == undefined || parseFloat($("#ChaiQty").val())<=0) {
                    layer.msg("请输入拆分数量!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return -1;
                }
                var param = {
                    BoxNo: $("#BoxCode").val(),
                    ChaiQty:parseFloat($("#ChaiQty").val()),
                };
                synData(IP + "/BllAsn/ChaiLableBox", param, 'post', function (res) {
                    if (res.code == 0) { //成功
                        layer.msg(res.msg, {
                            icon: 1,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            parent.location.reload();
                            parent.layer.close(layer.index);
                        });
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2500 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            });
            // 获取传递参数
            function getQueryString(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return unescape(r[2]);
                return null;
            }
        })
    </script>
</body>
</html>
HTML/views/ASNSetting/LabelMerge.html
New file
@@ -0,0 +1,149 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>标签打印</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
    <style media="print">
        @page {
            size: auto;
            margin: 0 0 0 20px;
        }
        .layui-input {
            padding-left: 0px;
        }
        .layui-form-item {
            margin-bottom: 2px;
        }
    </style>
    <style>
        .layui-form-item .layui-input-inline {
            display: block;
            float: none;
            left: -3px;
            width: auto;
            margin: 0 0 10px 90px;
        }
        .hideCls {
            display: none;
        }
        .showCls {
            display: block;
        }
        .font-size12 {
            font-size: 14px;
        }
        .font-size10 {
            font-size: 10px;
        }
    </style>
</head>
<body>
    <div style="width:100%;">
        <div class="layui-form" style="padding: 30px 15px 0px; " id="button">
            <div class="layui-form-item" style="margin-bottom:0px;">
                <label class="layui-form-label" style="width: 60px;">箱码1</label>
                <div class="layui-input-inline">
                    <input type="text" id="BoxCode" name="BoxCode" placeholder="箱码1" autocomplete="off"
                        class="layui-input">
                </div>
            </div>
            <div class="layui-form-item" style="margin-bottom:0px;">
                <label class="layui-form-label" style="width: 60px;">箱码2</label>
                <div class="layui-input-inline">
                    <input type="text" id="BoxCode2" name="BoxCode2" placeholder="箱码2" autocomplete="off"
                        class="layui-input">
                </div>
            </div>
            <div class="layui-form-item" style="margin-bottom:0px; text-align: center;">
                <button id="btnMerge" class="layui-btn layui-btn-edit" lay-event="Add"><i
                        class="layui-icon">&#xe654;</i>合并</button>
            </div>
        </div>
    </div>
    <script src="../../layuiadmin/layui/layui.js"></script>
    <script src="../../js/public.js"></script>
    <script src="../../js/jquery-3.5.1.min.js"></script>
    <script src="../../js/jquery.cookie.js"></script>
    <script>
        var boxcode = "";
        layui.config({
            base: '../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'layer', 'laydate'], function () {
            var $ = layui.$,
                form = layui.form,
                layer = layui.layer;
            var laydate = layui.laydate;
            var indes = layer.index;
            var xun = 0;
            $('#btnMerge').on('click', function () {
                if ($("#BoxCode").val() ==''|| $("#BoxCode").val() == undefined) {
                    layer.msg("请输入箱码1!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return -1;
                }
                if ($("#BoxCode2").val()=='' || $("#BoxCode2").val() == undefined) {
                    layer.msg("请输入箱码2!", {
                        icon: 2,
                        time: 2000 //2秒关闭(如果不配置,默认是3秒)
                    });
                    return -1;
                }
                var param = {
                    BoxNo: $("#BoxCode").val(),
                    BoxNo2:$("#BoxCode2").val(),
                };
                synData(IP + "/BllAsn/MergeLableBox", param, 'post', function (res) {
                    if (res.code == 0) { //成功
                        layer.msg(res.msg, {
                            icon: 1,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        }, function () {
                            parent.location.reload();
                            parent.layer.close(layer.index);
                        });
                    } else { //不成功
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2500 //2秒关闭(如果不配置,默认是3秒)
                        }, function () { });
                    }
                });
            });
            // 获取传递参数
            function getQueryString(name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return unescape(r[2]);
                return null;
            }
        })
    </script>
</body>
</html>
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -1769,7 +1769,11 @@
                }
                //标签信息
                var boxList = Db.Queryable<BllBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == boxNo).ToList();
                if (boxList.Count != 1)
                if (boxList.Count < 1)
                {
                    throw new Exception("该箱码信息错误,未查到此箱码信息");
                }
                if (boxList.Count > 1)
                {
                    throw new Exception("该箱码信息错误,存在多个此箱码信息");
                }
@@ -1833,14 +1837,14 @@
                    StoreTime = boxInfo.StoreTime,
                    ExpirationTime = boxInfo.ExpirationTime,
                    Origin = "WMS",
                    Origin = "WMS生成",
                    CreateUser = userId,
                    CreateTime = DateTime.Now,
                };
                Db.Insertable(boxModel).ExecuteCommand();
                //添加操作日志
                new OperationASNServer().AddLogOperationAsn("入库作业", "物料标签", boxNo, "编辑", $"拆分了箱码{boxInfo}数量{chaiQty}到新箱码{boxNoNew}", userId);
                new OperationASNServer().AddLogOperationAsn("入库作业", "物料标签", boxNo, "编辑", $"拆分了箱码{boxNo}数量{chaiQty}到新箱码{boxNoNew}", userId);
                //提交事务
                Db.CommitTran();
            }   
@@ -1867,7 +1871,11 @@
                }
                //标签信息
                var boxList = Db.Queryable<BllBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == boxNo).ToList();
                if (boxList.Count != 1)
                if (boxList.Count < 1)
                {
                    throw new Exception($"{boxNo}该箱码信息错误,未查到此箱码信息");
                }
                if (boxList.Count > 1)
                {
                    throw new Exception($"{boxNo}该箱码信息错误,存在多个此箱码信息");
                }
@@ -1877,7 +1885,11 @@
                    throw new Exception($"{boxNo}该箱码不是未组托状态,不允许合并!");
                }
                var boxList2 = Db.Queryable<BllBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == boxNo2).ToList();
                if (boxList2.Count != 1)
                if (boxList2.Count < 1)
                {
                    throw new Exception($"{boxNo2}该箱码信息错误,未查到此箱码信息");
                }
                if (boxList2.Count > 1)
                {
                    throw new Exception($"{boxNo2}该箱码信息错误,存在多个此箱码信息");
                }
@@ -1888,11 +1900,11 @@
                }
                if (boxInfo.SkuNo != boxInfo2.SkuNo || boxInfo.LotNo != boxInfo2.LotNo)
                {
                    throw new Exception($"两个箱码不是物料批次信息不一致,不允许合并!");
                    throw new Exception($"两个箱码物料批次信息不一致,不允许合并!");
                }
                if (boxInfo.ASNNo != boxInfo2.ASNNo || boxInfo.ASNDetailNo != boxInfo2.ASNDetailNo)
                {
                    throw new Exception($"两个箱码不是所属入库单信息不一致,不允许合并!");
                    throw new Exception($"两个箱码所属入库单信息不一致,不允许合并!");
                }
                if (boxInfo.Qty + boxInfo2.Qty > boxInfo.FullQty)
                {