wxw
6 天以前 f7a2b37e42aac9578f96d9a954f065d1de74b2b2
托盘明细增加箱码标签补打功能;
4个文件已修改
332 ■■■■■ 已修改文件
HTML/views/StatisticalReport/BoxInfor.html 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.IBLL/IDataServer/IDataBoxInfoServer.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Wms/Controllers/StatisticalController.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HTML/views/StatisticalReport/BoxInfor.html
@@ -16,6 +16,14 @@
            margin-bottom: 1px;
            margin-right: 1px;
        }
        .hideCls {
            display: none;
        }
        .showCls {
            display: block;
        }
    </style>
    <script>
        // 这里是需要在页面渲染之前执行的代码
@@ -335,16 +343,70 @@
                        <button class="layui-btn layui-btn-normal layui-btn-xs approvalBtnupt" id="approvalBtnupt" lay-event="edit">
                            <i class="layui-icon layui-icon-edit"></i>详情
                        </button>
                        <button class="layui-btn layui-btn-normal layui-btn-xs printBtnupt" id="printBtnupt" lay-event="print">
                            <i class="layui-icon layui-icon-print"></i>补打
                        </button>
                    </script>
                    
            </div>
        </div>
         <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="0" id="table"
                    style="width: 90%; height:240px;border-collapse: collapse;table-layout: fixed;border:none">
                    <tr>
                        <td class="font-size12">
                            物料编号:
                            <table id="SkuNoP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">
                            物料名称:
                            <table id="SkuNameP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">
                            批次号:
                            <table id="LotNoP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">
                            生产日期:
                            <table id="ProductionTimeP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td class="font-size12">
                            有效期:
                            <table id="ExpirationTimeP" class="font-size12"></table>
                        </td>
                    </tr>
                    <tr>
                        <td style="padding: 5px 0px;">
                            <img id="imgBar" style=" height: 60px;" />
                        </td>
                    </tr>
                </table>
            </div>
            <div style="page-break-after: always;"></div>
        </div>
        <div class="layui-form hideCls" lay-filter="layuiadmin-app-form-list" id="print2"
            style="width: 100%;height:100%;"></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 src="../../js/jquery.print.js"></script>
    <script>
        var uid = $.cookie('userId');
        layui.config({
@@ -790,6 +852,111 @@
                        }
                    });
                }
                //补打
                if (obj.event === 'print') {
                    var param1 = {
                        BoxNo: data.BoxNo,
                    };
                    synData(IP + "/Statistical/GetBuDaLabelList", param1, 'post', function (res) {
                        if (res.code == 0) { //成功
                            var labels = "";
                            for (var z = 0; z < res.data.length; z++) {
                                var idd = "";
                                if (z - 1 >= 0) {
                                    idd = (z - 1).toString();
                                }
                                $("#SkuNoP").attr("id", "SkuNoP" + z.toString());
                                $("#SkuNoP" + z.toString()).html(res.data[z].SkuNo);
                                $("#SkuNameP").attr("id", "SkuNameP" + z.toString());
                                $("#SkuNameP" + z.toString()).html(res.data[z].SkuName);
                                $("#PackageStandardP").attr("id", "PackageStandardP" + z.toString());
                                $("#PackageStandardP" + z.toString()).html(res.data[z].PackageStandard);
                                $("#StandardP").attr("id", "StandardP" + z.toString());
                                $("#StandardP" + z.toString()).html(res.data[z].Standard);
                                $("#QtyP").attr("id", "QtyP" + z.toString());
                                $("#QtyP" + z.toString()).html(res.data[z].Qty);
                                $("#SupplierLotP").attr("id", "SupplierLotP" + z.toString());
                                $("#SupplierLotP" + z.toString()).html(res.data[z].SupplierLot);
                                $("#LotNoP").attr("id", "LotNoP" + z.toString());
                                $("#LotNoP" + z.toString()).html(res.data[z].LotNo);
                                $("#SupplierLotP").attr("id", "SupplierLotP" + z.toString());
                                $("#SupplierLotP" + z.toString()).html(res.data[z].SupplierLot);
                                $("#ExpirationTimeP").attr("id", "ExpirationTimeP" + z.toString());
                                $("#ExpirationTimeP" + z.toString()).html(formatDate2(res.data[z].ExpirationTime));
                                $("#ProductionTimeP").attr("id", "ProductionTimeP" + z.toString());
                                $("#ProductionTimeP" + z.toString()).html(formatDate2(res.data[z].ProductionTime));
                                $("#imgBar").attr("id", "imgBar" + z.toString());
                                $("#imgBar" + z.toString()).attr("src", res.data[z].ImgStr);
                                // console.log("#SkuNo"+z.toString());
                                labels += $("#print").html();
                                //console.log(labels);
                                $("#SkuNoP" + z.toString()).attr("id", "SkuNoP");
                                $("#SkuNoP").html("");
                                $("#SkuNameP" + z.toString()).attr("id", "SkuNameP");
                                $("#SkuNameP").html("");
                                $("#PackageStandardP" + z.toString()).attr("id", "PackageStandardP");
                                $("#PackageStandardP").html("");
                                $("#QtyP" + z.toString()).attr("id", "QtyP");
                                $("#QtyP").html("");
                                $("#StandardP" + z.toString()).attr("id", "StandardP");
                                $("#StandardP").html("");
                                $("#LotNoP" + z.toString()).attr("id", "LotNoP");
                                $("#LotNoP").html("");
                                $("#SupplierLotP" + z.toString()).attr("id", "SupplierLotP");
                                $("#SupplierLotP").html("");
                                $("#StoreTimeP" + z.toString()).attr("id", "StoreTimeP");
                                $("#StoreTimeP").html("");
                                $("#ExpirationTimeP" + z.toString()).attr("id", "ExpirationTimeP");
                                $("#ExpirationTimeP").html("");
                                $("#imgBar" + z.toString()).attr("id", "imgBar");
                                $("#imgBar").attr("src", "");
                            }
                            // console.log(labels);
                            document.getElementById('print2').innerHTML = "";
                            document.getElementById('print2').innerHTML = labels;
                            $("#print2").removeClass("hideCls");
                            //$("#button").hide();
                            $("#print2").print();
                            //$("#button").show();
                            $("#print2").addClass("hideCls");
                            // $("#LabelStream").val("");
                            // $("#EndBoxCode").val("");
                            // $("#LabelStream2").val("");
                            // $("#EndBoxCode2").val("");
                        } else { //不成功
                            layer.msg(res.msg, {
                                icon: 2,
                                time: 2000 //2秒关闭(如果不配置,默认是3秒)
                            }, function () { });
                        }
                    });
                }
            });
            form.on('submit(daochu)', function () {
Wms/WMS.BLL/DataServer/DataBoxInfoServer.cs
@@ -1,12 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using Model.ModelDto;
using Model.ModelDto.DataDto;
using Model.ModelDto.SysDto;
using SqlSugar;
using Utility.Tools;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.IDataServer;
namespace WMS.BLL.DataServer
@@ -417,6 +423,132 @@
        }
        #endregion
        #region#补打标签
        /// <summary>
        /// 补打库存明细箱码
        /// </summary>
        /// <param name="boxNo"></param>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        public List<BoxInfoDto> GetBuDaLabelList(string boxNo)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(boxNo))
                {
                    throw new Exception($"箱码不能为空");
                }
                //打印数据集合
                var printList = new List<BoxInfoDto>();
                List<BoxInfoDto> printModelList = new List<BoxInfoDto>();
                var funSet = Db.Queryable<SysFunSetting>().First(m => m.IsDel == "0" && m.FunSetName == "物料码类型" && m.IsEnable == "NO");
                var allotSet = 1;//分配规则设定
                if (funSet != null)
                {
                    switch (funSet.SetValue)
                    {
                        case "One":
                            allotSet = 1;//一维条形码
                            break;
                        case "Two":
                            allotSet = 2;//二维码
                            break;
                        default:
                            allotSet = 1;// 默认:一维条形码、
                            break;
                    }
                }
                #region 单个箱码标签
                var dataList = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo).ToList();
                var data = dataList.FirstOrDefault();
                if (data == null)
                {
                    throw new Exception($"未查询到{boxNo}信息");
                }
                //物料信息
                var skuInfo = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == data.SkuNo);
                if (skuInfo == null)
                {
                    throw new Exception($"未查询到编码为{data.SkuNo}的物料信息");
                }
                //包装信息
                var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo);
                if (pack == null)
                {
                    throw new Exception("未查询到当前单据中物料的包装信息");
                }
                var packStr = "";
                if (!string.IsNullOrWhiteSpace(pack.L1Name))
                {
                    packStr += pack.L1Num + "/" + pack.L1Name;
                }
                if (!string.IsNullOrWhiteSpace(pack.L2Name))
                {
                    packStr += "-" + pack.L2Num + "/" + pack.L2Name;
                }
                if (!string.IsNullOrWhiteSpace(pack.L3Name))
                {
                    packStr += "-" + pack.L3Num + "/" + pack.L3Name;
                }
                if (!string.IsNullOrWhiteSpace(pack.L4Name))
                {
                    packStr += "-" + pack.L4Num + "/" + pack.L4Name;
                }
                if (!string.IsNullOrWhiteSpace(pack.L5Name))
                {
                    packStr += "-" + pack.L5Num + "/" + pack.L5Name;
                }
                // 物料条码信息赋值
                BoxInfoDto model = new BoxInfoDto();
                model.SkuNo = data.SkuNo;
                model.SkuName = data.SkuName;
                model.LotNo = data.LotNo;                      //批次
                model.SupplierLot = data.SupplierLot;                        // 原厂批号
                model.Standard = data.Standard;                              // 规格/型号
                model.PackageStandard = packStr;                // 包装规格
                model.ExpirationTime = data.ExpirationTime;                  // 有效期至
                model.StoreTime = null;                     // 储存期至
                model.ProductionTime = data.ProductionTime;//生产日期
                model.Qty = dataList.Sum(m => m.Qty);// 数量
                model.BoxNo = data.BoxNo;                 // 箱号
                model.ImgStr = allotSet == 1 ? BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false) : BarcodeHelper.GetQrCodeBase64(model.BoxNo, 85, 85);
                // 添加到list集合
                printModelList.Add(model);
                //添加打印记录
                //WmsLabelPrintLog log = new WmsLabelPrintLog();
                //log.BoxCode = data.LabelStream;
                //log.CreateTime = DateTime.Now;
                //log.Demo = Demo;
                //log.Isdel = 0;
                //log.CreateUser = userId;
                //printlog.Add(log);
                #endregion
                return printModelList;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        #endregion
        #region 废代码 仅供参考
        ////获取分组后的箱码明细
@@ -480,5 +612,6 @@
        //}
        #endregion
    }
}
Wms/WMS.IBLL/IDataServer/IDataBoxInfoServer.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using Model.ModelDto;
using Model.ModelDto.DataDto;
using WMS.Entity.DataEntity;
@@ -70,5 +71,13 @@
        /// <returns></returns>
        List<DataBoxInfo> GetDataBoxInfoDaoChu(string id, string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitBoxMark, string inspectStatus);
        #endregion
        /// <summary>
        /// 补打库存明细箱码
        /// </summary>
        /// <param name="boxNo"></param>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        List<BoxInfoDto> GetBuDaLabelList(string boxNo);
    }
}
Wms/Wms/Controllers/StatisticalController.cs
@@ -9,6 +9,8 @@
using System.Threading.Tasks;
using Model.ModelDto.SysDto;
using WMS.BLL.LogServer;
using Model.ModelVm.BllTaskVm;
using Model.ModelVm;
namespace Wms.Controllers
{
@@ -483,5 +485,26 @@
        }
        #endregion
        #region#补打标签
        /// <summary>
        /// 补打库存明细箱码
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        public IActionResult GetBuDaLabelList(BuDaLabelBoxVm model)
        {
            try
            {
                var list = _dataBoxInfo.GetBuDaLabelList(model.BoxNo);
                return Ok(new { code = 0, msg = "获取补打箱码标签信息", data = list });
            }
            catch (Exception e)
            {
                return Ok(new { code = 1, count = 0, msg = e.Message });
            }
        }
        #endregion
    }
}