bklLiudl
昨天 1f61b7db7c7df90929cbb7af7aa8756fded45ed3
修复程序问题
9个文件已修改
177 ■■■■■ 已修改文件
Pda/View/AsnSetting/WorkshopIn.html 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/AsnSetting/printLabels.html 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/SoSetting/WorkshopOut.html 33 ●●●● 补丁 | 查看 | 原始文档 | 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 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pda/View/AsnSetting/WorkshopIn.html
@@ -189,14 +189,15 @@
                       <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">
@@ -405,8 +406,21 @@
            //箱码回车事件
            $("#BoxCode").keydown(function (e) {
                if (e.keyCode === 13) {
            // $("#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,
@@ -415,8 +429,7 @@
                        return
                    } 
                    checkBoxInfo()
                }
            });
            })
            //箱回车事件
            function checkBoxInfo() {
Pda/View/AsnSetting/printLabels.html
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="user-scalable=0,width=device-width,initial-scale=1.0" />
@@ -17,11 +17,13 @@
            .layout-bill-info {
                height: 255px;
            }
            .layout-tbl-submit {
                margin-top: 10px;
            }
        </style>
    </head>
    <body>
        <div id="" class="main-content">
            <div id="" class="layout-title">
@@ -41,7 +43,8 @@
                    </ul>
                </div>
                <div>
                    <button id="click" class="layout-btn" type="button" style="background-color: #999; width: 100%;text-align: center; margin-top: 2px;">连接蓝牙</button>
                <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="">
@@ -55,36 +58,33 @@
                        <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" >
                            <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" >
                            <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;">
                            <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;">
                            <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" >
                            <input id="skuNum" type="text" placeholder="" autocomplete="off" class="layui-input">
                            </div>
                        </div>
@@ -258,15 +258,6 @@
                            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;
                            }
                        });
                        let data = {
                            type: "print",
@@ -290,6 +281,17 @@
                        uni.postMessage({
                            data: data,
                        });
                    } else {
                        layer.msg(res.msg, {
                            icon: 2,
                            time: 2000 //2秒关闭(如果不配置,默认是3秒)
                        });
                        return;
                    }
                });
                    });
                });
            
@@ -308,6 +310,5 @@
            
        </script>
    </body>
</html>
Pda/View/SoSetting/WorkshopOut.html
@@ -172,14 +172,15 @@
                       <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">
@@ -388,8 +389,22 @@
            //箱码回车事件
            $("#BoxCode").keydown(function (e) {
                if (e.keyCode === 13) {
            // $("#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,
@@ -398,8 +413,8 @@
                        return
                    } 
                    checkBoxInfo()
                }
            });
            })
            //箱回车事件
            function checkBoxInfo() {
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)
@@ -96,6 +95,7 @@
             
            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)
@@ -160,7 +162,7 @@
            {
            //    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)