From 6561685f41cc0d0c1554d8ff2e3905e142af2fa0 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期五, 06 六月 2025 11:02:45 +0800
Subject: [PATCH] Merge branch 'master' into csc
---
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 d2c75d7..8779332 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
{
@@ -2868,13 +2872,6 @@
}
#endregion
-
-
-
-
-
-
-
// 鑾峰彇鍗曟嵁鍒楄〃
public List<ArrivalNoticeDto> GetArrivalNotices(ArrivalNoticeVm model)
{
@@ -2909,11 +2906,6 @@
throw ex;
}
}
-
-
-
-
-
// 鏍规嵁绠辩爜鎴栨墭鐩樺彿鑾峰彇绠辨敮淇℃伅 liudl
public List<BoxInfoDto> GetBoxInfos(BoxInfoVm model)
@@ -6812,5 +6804,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 a68f398..c6beb28 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
{
@@ -38,6 +40,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 9d57717..d8829bc 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;
@@ -323,8 +324,6 @@
#endregion
-
-
#region 鍏敤鏂规硶
/// <summary>
@@ -758,7 +757,6 @@
#endregion
-
#region 骞冲簱鍏ュ簱
/// <summary>
/// 骞冲簱纭鍏ュ簱
@@ -876,5 +874,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