From 2c4c080fc6e90d8c92355d779372cd24ae67b02e Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-JIE70N9> Date: 星期一, 26 五月 2025 16:13:51 +0800 Subject: [PATCH] 线边库标签打印 --- Pda/View/AsnSetting/printLabels.html | 312 ++++++++++++++++++++++++ Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs | 8 Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs | 14 + Wms/Wms/Controllers/PdaAsnController.cs | 57 ++++ Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 370 +++++++++++++++++++++++++++ 5 files changed, 746 insertions(+), 15 deletions(-) diff --git a/Pda/View/AsnSetting/printLabels.html b/Pda/View/AsnSetting/printLabels.html new file mode 100644 index 0000000..526b603 --- /dev/null +++ b/Pda/View/AsnSetting/printLabels.html @@ -0,0 +1,312 @@ + +<!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> + </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 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> + + </tr> + </table> + </form> + </div> + <div id="" class="layout-bill-info"> + </div> + </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 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() + } + }) + $('body').click(function(){ + $("#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; + } + + }); + } + }) + + 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('鐗╂枡缂栫爜涓嶅彲涓簄ull', { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }); + return; + } + + if ($("#skuName").val() == "") { + layer.msg('鐗╂枡鍚嶇О涓嶅彲涓簄ull', { + 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('绠卞唴鏁伴噺涓嶅彲涓簄ull', { + 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; + }else{ + layer.msg(res.msg, { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }); + return; + } + + }); + + let data = { + type: "print", + listData:dataLists + // { + // SkuNo:'541100554848', + // SkuName:'钁¤悇绯栬憽钀勭硸钁¤悇绯栬憽钀勭硸钁¤悇绯�', + // LotNo:'120326', + // Date1:'2025-04-10', + // Date2:'2026-04-10', + // BoxNo:['T2300001','T2300002','T2300003'], + // } + // lstData: { + // name: "Iuhuy", + // avatar: + // "http://thirdwx.qlogo.cn/mmopen/vi_32/EURpungADj4vP3UczBVvD1DcEUt9q7WFqc6mZlSZoXoS9PyaPicnX8pjmic0rLbmwYCSa247gibINd1dWr0ic1QTvw/132", + // }, + }; + console.log("缁� uni-app 鍙戦�佹暟鎹�", data); + + uni.postMessage({ + data: data, + }); + }); + }); + + </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> + + \ No newline at end of file diff --git a/Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs b/Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs index 8e89c84..90d717e 100644 --- a/Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs +++ b/Wms/Model/ModelVm/BllAsnVm/BoxInfoVm.cs @@ -222,4 +222,18 @@ } + /// <summary> + /// 绾胯竟搴撶墿鏂欐爣绛� + /// </summary> + public class LabelsVm + { + public string SkuNo { get; set; } + public string SkuName { get; set; } + public string LotNo { get; set; } + public string TimeFrom { get; set; } + public string TimeEnd { get; set; } + public string SkuNum { get; set; } + public int? userId { get; set; } + } + } diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs index ad302b4..d4719d4 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs @@ -25,6 +25,10 @@ using System.Security.Policy; using Newtonsoft.Json; using Utility.Tools; +using Model.ModelDto.SysDto; +using Model.ModelVm.SysVm; +using System.Security.Cryptography.X509Certificates; +using AutoMapper.Configuration.Annotations; namespace WMS.BLL.BllPdaServer { @@ -2410,13 +2414,6 @@ } #endregion - - - - - - - // 鑾峰彇鍗曟嵁鍒楄〃 public List<ArrivalNoticeDto> GetArrivalNotices(ArrivalNoticeVm model) { @@ -2451,11 +2448,6 @@ throw ex; } } - - - - - // 鏍规嵁绠辩爜鎴栨墭鐩樺彿鑾峰彇绠辨敮淇℃伅 liudl public List<BoxInfoDto> GetBoxInfos(BoxInfoVm model) @@ -6354,5 +6346,359 @@ #endregion + #region 绾胯竟鏍囩 + /// <summary> + /// 鏍规嵁鐗╂枡缂栫爜銆佸悕绉拌幏鍙栫墿鏂欎俊鎭� + /// </summary> + /// <param name="model">缂栫爜 鍚嶇О</param> + /// <returns>鐗╂枡璇︾粏淇℃伅</returns> + public MaterialsDto GetSkuInfo(GetMaterialsVm model) + { + try + { + if (string.IsNullOrEmpty(model.SkuNo) && string.IsNullOrEmpty(model.SkuName)) + { + throw new Exception("璇疯緭鍏ョ墿鏂欑紪鐮佹垨鐗╂枡鍚嶇О!"); + } + + var skuModels = Db.Queryable<SysMaterials>().Where(m => (m.SkuNo == model.SkuNo || m.SkuName == model.SkuName) && m.IsDel == "0").Select< MaterialsDto>().ToList(); + if (skuModels.Count <= 0) + { + throw new Exception("鐗╂枡涓嶅瓨鍦紒"); + } + + return skuModels.First(); + } + catch (Exception ex) + { + throw ex; + } + } + + /// <summary> + /// 鐢熸垚鏉$爜鏍囩 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + /// <exception cref="Exception"></exception> + public List<BllBoxInfo> AddLabels(LabelsVm model) + { + try + { + if (decimal.TryParse(model.SkuNum, out decimal skuQty)) + { + if (skuQty <= 0) + { + throw new Exception("绠卞唴鏁伴噺涓嶈兘灏忎簬绛変簬0"); + } + } + else + { + throw new Exception("绠卞唴鏁伴噺璇疯緭鍏ユ暟瀛楋紒"); + } + + // 楠岃瘉鐗╂枡淇℃伅鏄惁瀛樺湪 + var skuModels = Db.Queryable<SysMaterials>().Where(m => (m.SkuNo == model.SkuNo || m.SkuName == model.SkuName) && m.IsDel == "0").Select<MaterialsDto>().ToList(); + if (skuModels.Count <= 0) + { + throw new Exception("鐗╂枡涓嶅瓨鍦紒"); + } + + + #region + var skuModel = skuModels.First(); + var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuModel.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; + } + #endregion + + #region 鍖呰鏌ヨ + + var bNum = 0;//绠辩墿鍝佹暟閲� + var zNum = 0;//鏀墿鍝佹暟閲� + var packLevel = 0; + + if (pack.L2Num.HasValue) + { + if (pack.L2Name != "鎵�") + { + packLevel = 1;//JC34椤圭洰鍙湁涓�绾ф爣绛� + bNum = Convert.ToInt32(pack.L2Num); + } + } + if (pack.L1Num.HasValue) + { + if (packLevel == 0) + { + packLevel = 1; + bNum = Convert.ToInt32(pack.L1Num); + } + zNum = Convert.ToInt32(pack.L1Num); + } + + if (packLevel < 1)//鍖呰绛夌骇灏忎簬1锛屾寜鐓�1绾ф爣绛炬墦鍗� + { + throw new Exception("鍖呰淇℃伅鏈夎锛屽皬浜庝竴绾�"); + } + + if (skuQty > bNum * 5) + { + throw new Exception("绠卞唴鏁伴噺澶т簬鍖呰5鍊嶏紝涓嶅彲鎵撳嵃"); + } + #endregion + var modelList = new List<BllBoxInfo>(); + var label = Db.Queryable<BllBoxInfo>().Where(m => m.LotNo == model.LotNo && m.SkuNo == model.SkuNo && m.IsDel == "0").ToList(); + + Db.BeginTran(); + if (packLevel == 1) + { + #region 涓�绾у寘瑁� + int labelNum = 1; + labelNum = int.Parse(Math.Ceiling(skuQty / bNum).ToString());//鏍囩鏁伴噺 + + + #region 鑾峰彇/鐢熸垚鎵规鍙� + string maxLotNoStr = ""; //鎵规鍙� + string maxBoxCode = ""; //绠辩爜鍙� + + maxLotNoStr = model.LotNo; + maxBoxCode = label.Where(m => m.LotNo == maxLotNoStr).Max(a => a.BoxNo); + #endregion + + for (int i = 1; i <= labelNum; i++) + { + decimal boxQty = 0; + if (i == labelNum) + { + // 鏈�鍚庝竴涓潯鐮� + var s = bNum * (i - 1); + if (bNum > skuQty - s) + { + boxQty = skuQty - s;// 鏁伴噺 + } + else + { + boxQty = bNum;// 鏁伴噺 + } + } + else + { + boxQty = bNum; // 鏁伴噺 + } + + //鑾峰彇绠辩爜 + if (string.IsNullOrWhiteSpace(maxBoxCode)) + { + var str = "B" + maxLotNoStr + "000001"; //鎵瑰彿+ 娴佹按 B 230201 0001 000001 + maxBoxCode = str; + } + else + { + maxBoxCode = maxBoxCode.Substring(0, maxBoxCode.Length - 6) + (int.Parse(maxBoxCode.Substring(maxBoxCode.Length - 6, 6)) + 1).ToString().PadLeft(6, '0'); + } + + // 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛� + var labelModel = new BllBoxInfo() + { + BoxNo = maxBoxCode, + Qty = boxQty, + FullQty = bNum, + Status = "0", + SkuNo = model.SkuNo, + SkuName = model.SkuName, + LotNo = maxLotNoStr, + Standard = skuModel.Standard, + PackageStandard = packStr, + InspectMark = "0", + BitBoxMark = bNum > boxQty ? "1" : "0", + InspectStatus = "0", + + ProductionTime = DateTime.Parse(model.TimeFrom), + StoreTime = DateTime.Parse(model.TimeEnd), + ExpirationTime = DateTime.Parse(model.TimeEnd), + + Origin = "WMS鐢熸垚", + CreateUser = (int)model.userId, + CreateTime = DateTime.Now, + }; + + Db.Insertable(labelModel).ExecuteCommand(); + modelList.Add(labelModel); + } + + #endregion + } + else //(packLevel == 2) + { + #region 浜岀骇鍖呰 + + if (skuQty > bNum * 5) + { + throw new Exception("绠卞唴鏁伴噺澶т簬鍖呰5鍊嶏紝涓嶅彲鎵撳嵃"); + } + + var qty2 = skuQty; + int labelNum2 = 1; //鐢熶骇绠辨潯鐮佹暟閲� + + labelNum2 = int.Parse(Math.Ceiling(qty2 / bNum).ToString()); + + var ss = bNum / zNum; //姣忕鏀爣绛炬暟閲� + var labelNumZ2 = Math.Ceiling((decimal)ss); + + #region 鑾峰彇/鐢熸垚鎵规鍙� + + string maxCodestr2 = ""; //鎵规 + string maxboxcode2 = ""; //绠辩爜 + string maxboxcode3 = ""; //鏀爜 + + maxCodestr2 = model.LotNo; + maxboxcode2 = label.Where(m => m.LotNo == maxCodestr2).Max(a => a.BoxNo); + maxboxcode3 = label.Where(m => m.LotNo == maxCodestr2).Max(a => a.BoxNo3);//鏀彿 + #endregion + + for (int i = 1; i <= labelNum2; i++)//绠辩爜鏍囩 + { + //绠卞唴鏁伴噺 + decimal boxQty = 0; + if (i == labelNum2) + { + // 鏈�鍚庝竴涓潯鐮� + var s = bNum * (i - 1); + if (bNum > qty2 - s) + { + boxQty = qty2 - s;// 鏁伴噺 + } + else + { + boxQty = bNum;// 鏁伴噺 + } + } + else + { + boxQty = bNum; // 鏁伴噺 + } + + //鑾峰彇绠辩爜 + if (string.IsNullOrWhiteSpace(maxboxcode2)) + { + maxboxcode2 = "B" + maxCodestr2 + "000001"; // 绠卞彿 鎵瑰彿+绗嚑绠� + } + else + { + maxboxcode2 = maxboxcode2.Substring(0, 11) + (int.Parse(maxboxcode2.Substring(11, 6)) + 1).ToString().PadLeft(6, '0'); + } + //鑾峰彇绠卞唴鏀爣绛炬暟閲� + if (i == labelNum2) + { + var isGo2 = false; + var sl = 0; + for (int j = 1; j <= labelNumZ2; j++) + { + if (isGo2) + { + break; + } + var s = bNum * (i - 1); + var s2 = zNum * (j - 1); + if (zNum >= qty2 - s - s2) + { + isGo2 = true; + } + sl++; + } + labelNumZ2 = sl; + } + + for (int j = 1; j <= labelNumZ2; j++)//鏈�灏忓崟浣嶆爣绛� + { + + decimal d = zNum; + if (i == labelNum2) + { + var s = bNum * (i - 1); + var s2 = zNum * (j - 1); + if (zNum >= qty2 - s - s2) + { + d = qty2 - s - s2; // 鏁伴噺 + } + } + + if (string.IsNullOrWhiteSpace(maxboxcode3)) + { + maxboxcode3 = "Z" + maxCodestr2 + "0001"; // 鏀彿 鎵瑰彿+绗嚑绠� + } + else + { + maxboxcode3 = maxboxcode3.Substring(0, 11) + (int.Parse(maxboxcode3.Substring(11, 4)) + 1).ToString().PadLeft(4, '0'); + } + + // 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛� + var labelModel = new BllBoxInfo() + { + BoxNo = maxboxcode2, + BoxNo3 = maxboxcode3, + Qty = d, + FullQty = bNum, + Status = "0", + SkuNo = model.SkuNo, + SkuName = skuModel.SkuName, + LotNo = maxCodestr2, + Standard = skuModel.Standard, + PackageStandard = packStr, + InspectMark = "0", + BitBoxMark = bNum > boxQty ? "1" : "0", + InspectStatus = "0", + + ProductionTime = DateTime.Parse(model.TimeFrom), + StoreTime = DateTime.Parse(model.TimeEnd), + ExpirationTime = DateTime.Parse(model.TimeEnd), + + Origin = "WMS鐢熸垚", + CreateUser = (int)model.userId, + CreateTime = DateTime.Now, + }; + + Db.Insertable(labelModel).ExecuteCommand(); + modelList.Add(labelModel); + } + } + #endregion + } + Db.CommitTran(); + + return modelList; + } + catch (Exception ex) + { + Db.RollbackTran(); + throw new Exception(ex.Message); + } + } + #endregion + } } diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs index 4d1624b..5df16db 100644 --- a/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs +++ b/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs @@ -7,6 +7,8 @@ using Model.ModelDto.PdaDto; using WMS.Entity.BllAsnEntity; using Model.ModelDto.DataDto; +using Model.ModelDto.SysDto; +using Model.ModelVm.SysVm; namespace WMS.IBLL.IPdaServer { @@ -32,6 +34,12 @@ #endregion + // 鏍规嵁鐗╂枡缂栫爜銆佸悕绉拌幏鍙栫墿鏂欎俊鎭�� + MaterialsDto GetSkuInfo(GetMaterialsVm model); + + // 鐢熸垚绾胯竟搴撶鐮侊紝杩斿洖绠辩爜淇℃伅銆� + List<BllBoxInfo> AddLabels(LabelsVm model); + // 鑾峰彇鍗曟嵁鍒楄〃 List<ArrivalNoticeDto> GetArrivalNotices(ArrivalNoticeVm model); diff --git a/Wms/Wms/Controllers/PdaAsnController.cs b/Wms/Wms/Controllers/PdaAsnController.cs index 3987256..699280a 100644 --- a/Wms/Wms/Controllers/PdaAsnController.cs +++ b/Wms/Wms/Controllers/PdaAsnController.cs @@ -8,6 +8,7 @@ using Model.ModelVm; using Model.ModelVm.BllAsnVm; using Model.ModelVm.PdaVm; +using Model.ModelVm.SysVm; using Newtonsoft.Json; using System; using System.Security.Claims; @@ -269,8 +270,6 @@ #endregion - - #region 鍏敤鏂规硶 /// <summary> @@ -704,7 +703,6 @@ #endregion - #region 骞冲簱鍏ュ簱 /// <summary> /// 骞冲簱纭鍏ュ簱 @@ -822,5 +820,58 @@ #endregion + + #region 绾跨紪鏍囩 + /// <summary> + /// 骞冲簱纭鍏ュ簱 + /// </summary> + /// <param name="model">鐗╂枡缂栫爜锛涚墿鏂欏悕绉�</param> + /// <returns></returns> + [HttpPost] + public IActionResult GetSkuInfo(GetMaterialsVm model) + { + try + { + var models = _PdaAsnSvc.GetSkuInfo(model); + + return Ok(new { code = 0, msg = "鑾峰彇鐗╂枡淇℃伅鎴愬姛!", data = models }); + } + catch (Exception e) + { + return Ok(new { code = 1, msg = e.Message }); + } + } + + /// <summary> + /// 鐢熸垚鏂版爣绛� 骞惰繑鍥炴墦鍗版暟鎹� + /// </summary> + /// <param name="model">鏍囩淇℃伅</param> + /// <returns>鎵撳嵃鏁版嵁</returns> + [HttpPost] + public IActionResult AddLabels(LabelsVm model) + { + try + { + var claimsIdentity = this.User.Identity as ClaimsIdentity; + if (claimsIdentity == null) + { + throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); + } + string UserId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value; + if (string.IsNullOrWhiteSpace(UserId)) + { + throw new Exception("鏈幏鍙栧埌鐢ㄦ埛淇℃伅"); + } + model.userId = int.Parse(UserId); + var models = _PdaAsnSvc.AddLabels(model); + + return Ok(new { code = 0, msg = "绠辩爜鐢熸垚鎴愬姛!", data = models }); + } + catch (Exception e) + { + return Ok(new { code = 1, msg = e.Message }); + } + } + #endregion } } -- Gitblit v1.8.0