From d07f25c163706ac46a83bd2c63db1e3c52715222 Mon Sep 17 00:00:00 2001 From: zhaowc <526854230@qq.com> Date: 星期四, 27 三月 2025 15:54:25 +0800 Subject: [PATCH] 解决问题 --- Pda/View/HouseDataSetting/changebox.html | 28 Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | 2 Pda/View/HouseDataSetting/agvTransport.html | 12 Pda/View/SoSetting/materialOut.html | 2 Pda/View/SoSetting/pinTuoOut.html | 52 + Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs | 48 +- Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 113 ++-- Wms/Wms/appsettings.json | 6 Wms/Utility/XML/ExInfoXml.xml | 9 Wms/Model/ModelVm/PdaVm/PdaSoVm.cs | 4 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 145 +++++- HTML/views/SOSetting/ExportNotice.html | 13 Wms/WMS.BLL/SysServer/Token.cs | 114 ++-- Wms/Wms/Controllers/UpApiController.cs | 41 + Pda/View/SoSetting/productOut.html | 4 HTML/views/set/user/info.html | 109 ++++ Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs | 6 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 86 ++- Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs | 2 HTML/views/Login.html | 3 Pda/View/SoSetting/palletOut.html | 28 Wms/WMS.BLL/DataServer/StockServer.cs | 204 ++++++++ Pda/View/HouseDataSetting/boxQuery.html | 53 +- Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 18 HTML/views/index.html | 12 HTML/views/StatisticalReport/InventoryStatistics.html | 14 Wms/Model/InterFaceModel/HttpModel.cs | 37 + Wms/WMS.IBLL/IDataServer/IStockServer.cs | 15 Pda/View/SoSetting/SampleOut.html | 17 Wms/Wms/Controllers/DownApiController.cs | 182 ++++--- Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs | 6 31 files changed, 991 insertions(+), 394 deletions(-) diff --git a/HTML/views/Login.html b/HTML/views/Login.html index 574cdab..f94934b 100644 --- a/HTML/views/Login.html +++ b/HTML/views/Login.html @@ -31,8 +31,11 @@ </div> <div class="elight-login-box animated fadeInRight"> <div class="elight-login-header">鏅烘収浠撳偍绠$悊绯荤粺</div> + <div class="elight-login-header">鐗堟湰v1.0</div> <div class="elight-login-body"> <form class="layui-form"> + + <div class="layui-form-item"> <label class="login-icon"><i class="layui-icon"></i></label> <input type="text" name="username" id="username" lay-verify="required" autocomplete="off" diff --git a/HTML/views/SOSetting/ExportNotice.html b/HTML/views/SOSetting/ExportNotice.html index 8bf72a2..9b915e4 100644 --- a/HTML/views/SOSetting/ExportNotice.html +++ b/HTML/views/SOSetting/ExportNotice.html @@ -152,9 +152,9 @@ <div class="layui-input-inline" style="width: 220px;"> <select name="LoadingArea" id="LoadingArea" lay-search> <option value=""></option> - <option value="1">1</option> - <option value="2">2</option> - <option value="3">3</option> + <option value="3">4</option> + <option value="2">5</option> + <option value="1">6</option> </select> </div> </div> @@ -379,7 +379,7 @@ </a>`; } } - if( d.Status == '4'){ + if( d.Status == '4' ||d.Status == '3'){ html += `<a class="layui-btn layui-btn-normal layui-btn-xs guanClass" lay-event="finish"> <i class="layui-icon layui-icon-ok"></i>鍏冲崟 </a>`; @@ -899,6 +899,8 @@ } if($('#UnstackWay').val()=='1'){ $('.DivPickingArea2').show() + $('.LoadingArea').hide() + } outFunction(data.SONo) @@ -1103,6 +1105,7 @@ } if(isNeedUnpack == 1){ console.log($("#PickingArea").val()) + if($('#UnstackWay').val()=='1'){ if($("#PickingArea").val() == '') { layer.msg("璇烽�夋嫨鍑哄簱鍙�", { @@ -1111,7 +1114,7 @@ }); isChongFu= true; return; - }} + }}} var param = { soNo: soNo, unstackingMode:$('#UnstackWay').val(), diff --git a/HTML/views/StatisticalReport/InventoryStatistics.html b/HTML/views/StatisticalReport/InventoryStatistics.html index 35c5693..3ab6c79 100644 --- a/HTML/views/StatisticalReport/InventoryStatistics.html +++ b/HTML/views/StatisticalReport/InventoryStatistics.html @@ -219,17 +219,17 @@ <script type="text/html" id="buttonTpl"> {{# if(d.Status=='0'){ }} - <button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">寰呭垎閰�</button> + <button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">寰呭垎閰�</button> {{# } else if(d.Status == '1') { }} - <button class="layui-btn layui-btn-radius layui-btn-xs">閮ㄥ垎鍒嗛厤</button> + <button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">閮ㄥ垎鍒嗛厤</button> {{# } else if(d.Status == '2') { }} - <button class="layui-btn layui-btn-radius layui-btn-xs">宸插垎閰�</button> + <button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">宸插垎閰�</button> {{# } else if(d.Status == '3') { }} - <button class="layui-btn layui-btn-radius layui-btn-xs">鐩樼偣閿佸畾</button> + <button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">鐩樼偣閿佸畾</button> {{# } else if(d.Status == '4') { }} - <button class="layui-btn layui-btn-radius layui-btn-xs">绉诲簱閿佸畾</button> + <button class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs">绉诲簱閿佸畾</button> {{# } else if(d.Status == '5') { }} - <button class="layui-btn layui-btn-radius layui-btn-xs layui-btn-danger">寮傚父閿佸畾</button> + <button class="layui-btn layui-btn-radius layui-btn-xs layui-btn-normal">寮傚父閿佸畾</button> {{# } }} </script> <script type="text/html" id="buttonTp2"> @@ -437,7 +437,7 @@ ]]; var DetailColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜 //#endregion - function refreshTable2(SkuNo, SkuName, OwnerNo, OwnerName, LotNo, LocatNo, PalletNo, Status, InspectStatus, HouseNo, AreaNo,CategoryNo, Type) { + function refreshTable2(SkuNo, SkuName,OwnerNo, OwnerName, LotNo, LocatNo, PalletNo, Status, InspectStatus, HouseNo, AreaNo,CategoryNo, Type) { //#region 鑷畾涔夎〃澶� var colsJson2 var param1 = { diff --git a/HTML/views/index.html b/HTML/views/index.html index 2e9a9a5..e189027 100644 --- a/HTML/views/index.html +++ b/HTML/views/index.html @@ -53,7 +53,7 @@ </cite> </a> <dl class="layui-nav-child"> - <!-- <dd><a lay-href="set/user/info.html">鍩烘湰璧勬枡</a></dd>--> + <dd><a lay-href="set/user/info.html">鍩烘湰璧勬枡</a></dd> <dd><a lay-href="set/user/password.html" id="changePassword">淇敼瀵嗙爜</a></dd> <hr> <dd><a href="Login.html">閫�鍑�</a></dd> @@ -104,10 +104,12 @@ <iframe src="home/console.html" frameborder="0" class="layadmin-iframe"></iframe> </div> </div> - <div class="layui-footer" style="height: 20px; z-index: 999;"> - <!-- 搴曢儴鍥哄畾鍖哄煙 --> - <p>鐗堟湰v1.0</p> - </div> + <!-- + <div class="layui-footer" style="height: 20px; z-index: 999;"> + <!-- 搴曢儴鍥哄畾鍖哄煙 --> + <p>鐗堟湰v1.0</p> + </div> + --> <!-- 杈呭姪鍏冪礌锛屼竴鑸敤浜庣Щ鍔ㄨ澶囦笅閬僵 --> <div class="layadmin-body-shade" layadmin-event="shade"></div> </div> diff --git a/HTML/views/set/user/info.html b/HTML/views/set/user/info.html new file mode 100644 index 0000000..939def2 --- /dev/null +++ b/HTML/views/set/user/info.html @@ -0,0 +1,109 @@ + + +<!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"> +</head> +<body> + + <div class="layui-fluid"> + <div class="layui-row layui-col-space15"> + <div class="layui-col-md12"> + <div class="layui-card"> + <div class="layui-card-header">璁剧疆鎴戠殑璧勬枡</div> + <div class="layui-card-body" pad15> + + <div class="layui-form" lay-filter=""> + <div class="layui-form-item"> + <label class="layui-form-label">鎴戠殑瑙掕壊</label> + <div class="layui-input-inline"> + <select name="role" lay-verify=""> + <option value="1" selected>瓒呯骇绠$悊鍛�</option> + <option value="2" disabled>鏅�氱鐞嗗憳</option> + <option value="3" disabled>瀹℃牳鍛�</option> + <option value="4" disabled>缂栬緫浜哄憳</option> + </select> + </div> + <div class="layui-form-mid layui-word-aux">褰撳墠瑙掕壊涓嶅彲鏇存敼涓哄叾瀹冭鑹�</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鐢ㄦ埛鍚�</label> + <div class="layui-input-inline"> + <input type="text" name="username" value="xianxin" readonly class="layui-input"> + </div> + <div class="layui-form-mid layui-word-aux">涓嶅彲淇敼銆備竴鑸敤浜庡悗鍙扮櫥鍏ュ悕</div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鏄电О</label> + <div class="layui-input-inline"> + <input type="text" name="nickname" value="璐ゅ績" lay-verify="nickname" autocomplete="off" placeholder="璇疯緭鍏ユ樀绉�" class="layui-input"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎬у埆</label> + <div class="layui-input-block"> + <input type="radio" name="sex" value="鐢�" title="鐢�"> + <input type="radio" name="sex" value="濂�" title="濂�" checked> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">澶村儚</label> + <div class="layui-input-inline"> + <input name="avatar" lay-verify="required" id="LAY_avatarSrc" placeholder="鍥剧墖鍦板潃" value="http://cdn.layui.com/avatar/168.jpg" class="layui-input"> + </div> + <div class="layui-input-inline layui-btn-container" style="width: auto;"> + <button type="button" class="layui-btn layui-btn-primary" id="LAY_avatarUpload"> + <i class="layui-icon"></i>涓婁紶鍥剧墖 + </button> + <button class="layui-btn layui-btn-primary" layadmin-event="avartatPreview">鏌ョ湅鍥剧墖</button > + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎵嬫満</label> + <div class="layui-input-inline"> + <input type="text" name="cellphone" value="" lay-verify="phone" autocomplete="off" class="layui-input"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">閭</label> + <div class="layui-input-inline"> + <input type="text" name="email" value="" lay-verify="email" autocomplete="off" class="layui-input"> + </div> + </div> + <div class="layui-form-item layui-form-text"> + <label class="layui-form-label">澶囨敞</label> + <div class="layui-input-block"> + <textarea name="remarks" placeholder="璇疯緭鍏ュ唴瀹�" class="layui-textarea"></textarea> + </div> + </div> + <div class="layui-form-item"> + <div class="layui-input-block"> + <button class="layui-btn" lay-submit lay-filter="setmyinfo">纭淇敼</button> + <button type="reset" class="layui-btn layui-btn-primary">閲嶆柊濉啓</button> + </div> + </div> + </div> + + </div> + </div> + </div> + </div> + </div> + + <script src="../../../layuiadmin/layui/layui.js"></script> + <script> + layui.config({ + base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰� + }).extend({ + index: 'lib/index' //涓诲叆鍙fā鍧� + }).use(['index', 'set']); + </script> +</body> +</html> \ No newline at end of file diff --git a/Pda/View/HouseDataSetting/agvTransport.html b/Pda/View/HouseDataSetting/agvTransport.html index 5975112..ab39e3f 100644 --- a/Pda/View/HouseDataSetting/agvTransport.html +++ b/Pda/View/HouseDataSetting/agvTransport.html @@ -334,6 +334,15 @@ initLanguage() setLanguage() + function clear() { + $("#Quyu").empty() + $("#Quyu").append('<option value =>' + '</option>'); + $("#Ruku").empty() + $("#Ruku").append('<option value =>' + '</option>'); + form.render('select'); + $('#STOCKCODE').val(""); + $('#LocatNo').val(""); + } //褰撳墠鍒嗛〉 var curPageIndex = 1; @@ -666,6 +675,7 @@ icon: 1, time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }, function () { + clear() }); } else { //涓嶆垚鍔� @@ -673,7 +683,7 @@ icon: 2, time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }, function () { - //鍥炶皟 + clear() }); } }); diff --git a/Pda/View/HouseDataSetting/boxQuery.html b/Pda/View/HouseDataSetting/boxQuery.html index b407c97..42df3cc 100644 --- a/Pda/View/HouseDataSetting/boxQuery.html +++ b/Pda/View/HouseDataSetting/boxQuery.html @@ -107,7 +107,7 @@ </div> <div id="" class="layout-bill-info"> - <form class="layui-form" action="" style="height: auto;"> + <form class="layui-form" action="" style="height: auto;" > <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> <label class="layui-form-label">澶栫鏉$爜</label> <div class="layui-input-block"> @@ -129,49 +129,54 @@ </div> </div> - <table class="layout-tbl-input" border="" cellspacing="" cellpadding=""> + <!-- <table class="layout-tbl-input" border="" cellspacing="" cellpadding=""> <tr> - <td> - <div id="" class="layui-form-item layout-boxinfo"> + <td> --> + <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> <label class="layui-form-label" lang>杩涘巶缂栧彿锛�</label> <div class="layui-input-block"> - <input id="LotNo" type="text" disabled placeholder="" autocomplete="off" + <input id="LotNo" type="text" autocomplete="off" class="layui-input" style="border: 0px;" class="layui-input"> </div> </div> - </td> - <td> - <div id="" class="layui-form-item layout-boxinfo"> - <label class="layui-form-label" lang>鍘熷巶鎵瑰彿锛�</label> - <div class="layui-input-block"> - <input id="SupplierLot" type="text" disabled placeholder="" autocomplete="off" - class="layui-input"> - </div> - </div> - </td> + <!-- </td> + </tr> <tr> - <td> - <div id="" class="layui-form-item layout-boxinfo"> + <td> --> + <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> + <label class="layui-form-label" lang>鍘熷巶鎵瑰彿锛�</label> + <div class="layui-input-block"> + <input id="SupplierLot" type="text" autocomplete="off" class="layui-input" style="border: 0px;" + class="layui-input"> + </div> + </div> + <!-- </td> + </tr> + <tr> + <td> --> + <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> <label class="layui-form-label" lang>绠卞唴鏁伴噺锛�</label> <div class="layui-input-block"> - <input id="Qty" type="text" disabled placeholder="" autocomplete="off" + <input id="Qty" type="text" autocomplete="off" class="layui-input" style="border: 0px;" class="layui-input"> </div> </div> - </td> - <td> - <div id="" class="layui-form-item layout-boxinfo"> + <!-- </td> + </tr> + <tr> + <td> --> + <div id="" class="layui-form-item layout-input" style="margin-top: 5px;"> <label class="layui-form-label" lang>璐ㄩ噺鐘舵�侊細</label> <div class="layui-input-block"> - <input id="InspectStatus" type="text" disabled placeholder="" autocomplete="off" + <input id="InspectStatus" type="text" autocomplete="off" class="layui-input" style="border: 0px;" class="layui-input"> </div> </div> - </td> + <!-- </td> </tr> - </table> + </table> --> <div id="" class="" style="width: 100%;height: 36px;margin-top: 15px;"> diff --git a/Pda/View/HouseDataSetting/changebox.html b/Pda/View/HouseDataSetting/changebox.html index 55ad03c..7cf963b 100644 --- a/Pda/View/HouseDataSetting/changebox.html +++ b/Pda/View/HouseDataSetting/changebox.html @@ -153,6 +153,8 @@ </div> </div> </td> + </tr> + <tr> <td> <div class="layui-form-item"> <label class="layui-form-label" style="width: 25%">鎵规锛�</label> @@ -163,6 +165,20 @@ </div> </td> + + </tr> + <tr> + <td colspan="3"> + <div class="layui-form-item"> + <label class="layui-form-label" style="width: 30%;">鐗╂枡鍚嶇О锛�</label> + <div class="layui-input-block" style="width: 70%;margin-left:30%;"> + <input id="SkuName" type="text" lay-verify="" disabled placeholder="" + class="layui-input" style="font-size: 12px; padding-left: 0;"> + </div> + </div> + </td> + </tr> + <tr> <td> <div class="layui-form-item"> <label class="layui-form-label" style="width: 34%;">鏁伴噺锛�</label> @@ -172,18 +188,6 @@ </div> </div> </td> - </tr> - <tr> - <td colspan="3"> - <div class="layui-form-item"> - <label class="layui-form-label" style="width: 17%;">鐗╂枡鍚嶇О锛�</label> - <div class="layui-input-block" style="width: 83%;margin-left:17%;"> - <input id="SkuName" type="text" lay-verify="" disabled placeholder="" - class="layui-input" style="font-size: 12px; padding-left: 0;"> - </div> - </div> - </td> - </tr> </table> </div> diff --git a/Pda/View/SoSetting/SampleOut.html b/Pda/View/SoSetting/SampleOut.html index 8386836..32faf38 100644 --- a/Pda/View/SoSetting/SampleOut.html +++ b/Pda/View/SoSetting/SampleOut.html @@ -987,7 +987,7 @@ }); return; } - if($('#pickQty1').val() != "" && $('#pickQty1').val()>parseInt($('#pickQty').val())){ + if($('#pickQty1').val() != "" && $('#pickQty1').val()>parseFloat($('#pickQty').val())){ layer.msg("鎷h揣鏁伴噺涓嶈兘澶т簬寰呮嫞鏁伴噺锛�", { icon: 2, time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 @@ -1045,7 +1045,10 @@ function reqPickScatter() { canPickBox = false//鍥炶皟 if($('#pickQty1').val()!= "" && $('#pickQty1').val()!= undefined){ - var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; + console.log("111111111111111111"+$('#pickQty1').val()); + + var reg = /^[1-9]\d*(\.\d{1,4})?$|^0\.\d{1,4}[1-9]\d*$/; + if (!reg.test($("#pickQty1").val())) { layer.msg("鏁伴噺蹇呴』澶т簬0(鍙繚鐣�4浣嶅皬鏁�)", { icon: 2, @@ -1566,8 +1569,8 @@ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }); return; } - let pickedQty = parseInt($('#pickedQty2').val()) //宸叉嫞鏁伴噺 - let pickQty = parseInt($('#pickQty2').val()) //鎷h揣鏁伴噺 + let pickedQty = parseFloat($('#pickedQty2').val()) //宸叉嫞鏁伴噺 + let pickQty = parseFloat($('#pickQty2').val()) //鎷h揣鏁伴噺 if (pickQty <= 0) { layer.msg("鎷h揣鏁伴噺闇�澶т簬0", { icon: 2, @@ -1583,8 +1586,8 @@ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }); return; } - let pickedQty = parseInt($('#pickedQty2').val()) //宸叉嫞鏁伴噺 - let pickQty = parseInt($('#pickQty2').val()) //鎷h揣鏁伴噺 + let pickedQty = parseFloat($('#pickedQty2').val()) //宸叉嫞鏁伴噺 + let pickQty = parseFloat($('#pickQty2').val()) //鎷h揣鏁伴噺 if (pickQty <= 0) { layer.msg("鎷h揣鏁伴噺闇�澶т簬0", { icon: 2, @@ -1620,7 +1623,7 @@ function reqPickScatter2() { canPickBox = false//鍥炶皟 if($('#pickQty2').val()!= "" && $('#pickQty2').val()!= undefined){ - var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; + var reg = /^[1-9]\d*(\.\d{1,4})?$|^0\.\d{1,4}[1-9]\d*$/; if (!reg.test($("#pickQty2").val())) { layer.msg("鏁伴噺蹇呴』澶т簬0(鍙繚鐣�4浣嶅皬鏁�)", { icon: 2, diff --git a/Pda/View/SoSetting/materialOut.html b/Pda/View/SoSetting/materialOut.html index a38466b..f2e7699 100644 --- a/Pda/View/SoSetting/materialOut.html +++ b/Pda/View/SoSetting/materialOut.html @@ -669,7 +669,7 @@ if($.isPlainObject(boxinfo.PickNum) || pn == 0){ pn = boxinfo.Qty } - let qty = parseInt($('#outScatterQty').val()) + let qty = parseFloat($('#outScatterQty').val()) if(qty <= 0 || qty > pn){ layer.msg("鎷h揣鏁伴噺闇�澶т簬0锛屽苟涓斾笉鑳借秴杩囧緟鎷f暟閲�", { icon: 2, diff --git a/Pda/View/SoSetting/palletOut.html b/Pda/View/SoSetting/palletOut.html index ef77d81..388e148 100644 --- a/Pda/View/SoSetting/palletOut.html +++ b/Pda/View/SoSetting/palletOut.html @@ -100,10 +100,17 @@ <div class="layui-input-block" id="selectDiv"> <select id="bar2" lay-filter="getbar" lay-verify="required" lay-search> <option value=""></option> - <option value="001">001</option> - <option value="002">002</option> + <option value="001">443</option> + <option value="002">440</option> </select> <!-- <img src="/assets/down_arraw.png" > --> + </div> + </div> + <div id="layout-boxcode" class="layui-form-item layout-input"> + <label class="layui-form-label">鍦扮爜锛�</label> + <div class="layui-input-block"> + <input id="LocatNo" type="text" placeholder="璇锋壂鎻忓湴鐮�" + autocomplete="off" class="layui-input"> </div> </div> <div id="" class="btn-out"> @@ -172,6 +179,7 @@ $("#STOCKCODE").val(""); $("#bar option[value='']").attr("selected", "selected"); $("#bar2 option[value='']").attr("selected", "selected"); + $("#LocatNo").val(""); form.render('select'); } @@ -252,11 +260,19 @@ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }, function() {}); return - } + } ; + if($('#LocatNo').val() == ''){ + layer.msg("璇疯緭鍏ュ湴鐮�", { + icon: 2, + time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + }, function() {}); + return + }; if (isChongFu == true) { isChongFu = false; var param2 = { - OutMode:$('#bar2').val() + OutMode:$('#bar2').val(), + OutCode:$('#LocatNo').val() }; // Int(param.Num) @@ -264,12 +280,12 @@ sendData(IP + "/DownApi/IssuePlnCheckHouseWcs", param2, 'post', function(res) { console.log("鍑哄簱锛�"+JSON.stringify(res)) if (res.code == 0) { //鎴愬姛 - layer.msg(res.msg, { + layer.msg(res.Message, { icon: 1, time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }, function() {isChongFu = true;clear();}); } else { //涓嶆垚鍔� - layer.msg(res.msg, { + layer.msg(res.Message, { icon: 2, time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }, function() {isChongFu = true;clear();}); diff --git a/Pda/View/SoSetting/pinTuoOut.html b/Pda/View/SoSetting/pinTuoOut.html index 9dd59d2..7e980c5 100644 --- a/Pda/View/SoSetting/pinTuoOut.html +++ b/Pda/View/SoSetting/pinTuoOut.html @@ -343,15 +343,15 @@ </div> </div> </td> - <!-- <td> + <td> <div class="layui-form-item "> - <label class="layui-form-label lableWidth">绠卞唴鏁伴噺锛�</label> + <label class="layui-form-label lableWidth">鎵樼洏涓婃暟閲忥細</label> <div class="layui-input-block"> - <input id="boxQty" class="layui-input" style="border: 0;" + <input id="palletNoqty" class="layui-input" style="border: 0;" type="text" lay-verify="" disabled placeholder=""> </div> </div> - </td> --> + </td> </tr> </table> </td> @@ -639,6 +639,8 @@ $('#pickQty').val("");//寰呮嫞鏁伴噺 $('#pickedQty').val("");//宸叉嫞鏁伴噺 + $('#palletNoqty').val("");//宸叉嫞鏁伴噺 + } function clear2() { //鐗╂枡鎵规 @@ -652,7 +654,7 @@ } function clear4() { $('#boxNo').val("");//绠辩爜 - $('#boxQty').val("");//绠卞唴鏁伴噺 + $('#boxQty').val("");//鎵樼洏涓婃暟閲� } //褰撴墭鐩樻潯鐮佽緭鍏ユ鏂囨湰鏀瑰彉鏃�,妫�鏌ヤ竴涓嬫墭鐩樼姸鎬� $("#palletNo").on('input', function () { @@ -879,7 +881,11 @@ for (i = len - 1; i >= 2; i--) { trs[i].remove(); } - + console.log("LIST.LENGTH:"+list.length); + + if(list.length == 1){ + $("#pickQty1").val(list[0].Qty) + } console.log(list != null); console.log(list); if (list != null && list.length > 0) { //鎴愬姛 @@ -925,9 +931,13 @@ } synData(IP + "/PdaSo/GetDataComBoxInfo", param2, 'post', function (res) { if (res.code == 0) { - tableData = deepCopy(res.data) - - refreshTable(tableData) + console.log("111111111111111:"+res.data.Qty); + //tableData = deepCopy(res.data) + console.log("111111111111111:"+res.data.Qty); + + $("#pickQty1").val(res.data.Qty) + + refreshTable(res.data) } else { layer.msg(res.msg, { icon: 2, @@ -985,13 +995,14 @@ }); return; } - if($('#pickQty1').val() != "" && $('#pickQty1').val()>parseInt($('#pickQty').val())){ - layer.msg("鎷h揣鏁伴噺涓嶈兘澶т簬寰呮嫞鏁伴噺锛�", { - icon: 2, - time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 - }); - return; - } + //鎷h揣鏁伴噺鍙互瓒呰繃寰呮嫞鏁伴噺 + // if($('#pickQty1').val() != "" && $('#pickQty1').val()>parseInt($('#pickQty').val())){ + // layer.msg("鎷h揣鏁伴噺涓嶈兘澶т簬寰呮嫞鏁伴噺锛�", { + // icon: 2, + // time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 + // }); + // return; + // } } // let boxQty = parseInt($('#boxQty').val()) // let qty = parseInt($('#qty').val()) @@ -1020,7 +1031,7 @@ //纭鎷h揣 function reqPickScatter() { if($('#pickQty1').val()!= "" && $('#pickQty1').val()!= undefined){ - var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; + var reg = /^[1-9]\d*(\.\d{1,4})?$|^0\.\d{1,4}[1-9]\d*$/; if (!reg.test($("#pickQty1").val())) { layer.msg("鏁伴噺蹇呴』澶т簬0(鍙繚鐣�4浣嶅皬鏁�)", { icon: 2, @@ -1398,6 +1409,7 @@ console.log(param2); synData(IP + "/PdaSo/GetAllotPlnInfo", param2, 'post', function (res) { if (res.code == 0) { + console.log("22222222222222222:"); tableData2 = deepCopy(res.data) refreshTable2(tableData2) @@ -1482,8 +1494,8 @@ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級 }); return; } - let pickedQty = parseInt($('#pickedQty2').val()) //宸叉嫞鏁伴噺 - let pickQty = parseInt($('#pickQty2').val()) //鎷h揣鏁伴噺 + let pickedQty = parseFloat($('#pickedQty2').val()) //宸叉嫞鏁伴噺 + let pickQty = parseFloat($('#pickQty2').val()) //鎷h揣鏁伴噺 if (pickQty <= 0) { layer.msg("鎷h揣鏁伴噺闇�澶т簬0", { icon: 2, @@ -1509,7 +1521,7 @@ //纭鎷h揣 function reqPickScatter2() { if($('#pickQty2').val()!= "" && $('#pickQty2').val()!= undefined){ - var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; + var reg = /^[1-9]\d*(\.\d{1,4})?$|^0\.\d{1,4}[1-9]\d*$/; if (!reg.test($("#pickQty2").val())) { layer.msg("鏁伴噺蹇呴』澶т簬0(鍙繚鐣�4浣嶅皬鏁�)", { icon: 2, diff --git a/Pda/View/SoSetting/productOut.html b/Pda/View/SoSetting/productOut.html index 4e781fd..6dbb631 100644 --- a/Pda/View/SoSetting/productOut.html +++ b/Pda/View/SoSetting/productOut.html @@ -1010,7 +1010,7 @@ //纭鎷h揣 function reqPickScatter() { if($('#pickQty1').val()!= "" && $('#pickQty1').val()!= undefined){ - var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; + var reg = /^[1-9]\d*(\.\d{1,4})?$|^0\.\d{1,4}[1-9]\d*$/; if (!reg.test($("#pickQty1").val())) { layer.msg("鏁伴噺蹇呴』澶т簬0(鍙繚鐣�4浣嶅皬鏁�)", { icon: 2, @@ -1500,7 +1500,7 @@ //纭鎷h揣 function reqPickScatter2() { if($('#pickQty2').val()!= "" && $('#pickQty2').val()!= undefined){ - var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,4})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; + var reg = /^[1-9]\d*(\.\d{1,4})?$|^0\.\d{1,4}[1-9]\d*$/; if (!reg.test($("#pickQty2").val())) { layer.msg("鏁伴噺蹇呴』澶т簬0(鍙繚鐣�4浣嶅皬鏁�)", { icon: 2, diff --git a/Wms/Model/InterFaceModel/HttpModel.cs b/Wms/Model/InterFaceModel/HttpModel.cs index 7327c9e..3fb7bba 100644 --- a/Wms/Model/InterFaceModel/HttpModel.cs +++ b/Wms/Model/InterFaceModel/HttpModel.cs @@ -1169,6 +1169,43 @@ /// </summary> public string Warranty { get; set; } } + + + public class ReLogDataModel + { + /// <summary> + /// 鑿滃崟 + /// </summary> + public string LocatNo { get; set; } + /// <summary> + /// 鎵樼洏鍙� + /// </summary> + public string PalletNo { get; set; } + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string SkuName { get; set; } + /// <summary> + /// 鎿嶄綔淇℃伅 + /// </summary> + public string Msg { get; set; } + /// <summary> + /// 鎵规 + /// </summary> + public string LotNo { get; set; } + /// <summary> + /// 璐ㄩ噺鐘舵�� + /// </summary> + public string InspectStatus { get; set; } + /// <summary> + /// 搴撳瓨鏁伴噺 + /// </summary> + public string Qty { get; set; } + /// <summary> + /// 鏈夋晥鏈� + /// </summary> + public string Warranty { get; set; } + } #endregion } diff --git a/Wms/Model/ModelVm/PdaVm/PdaSoVm.cs b/Wms/Model/ModelVm/PdaVm/PdaSoVm.cs index 8803a87..c6deaca 100644 --- a/Wms/Model/ModelVm/PdaVm/PdaSoVm.cs +++ b/Wms/Model/ModelVm/PdaVm/PdaSoVm.cs @@ -96,6 +96,10 @@ /// 鎷h揣鍙� /// </summary> public string OutMode { get; set; } + /// <summary> + /// 鎷h揣浣� + /// </summary> + public string OutCode { get; set; } } } diff --git a/Wms/Utility/XML/ExInfoXml.xml b/Wms/Utility/XML/ExInfoXml.xml index 1e76c09..65321bd 100644 --- a/Wms/Utility/XML/ExInfoXml.xml +++ b/Wms/Utility/XML/ExInfoXml.xml @@ -1,5 +1,5 @@ -锘� -<DataList version="1.0" encoding="utf-8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="缁堢鎺ュ彛XML Schema-3.0.xsd" SN="BZ010" Version="3.0" License="1001122"> +锘�<?xml version="1.0" encoding="utf-8"?> +<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="缁堢鎺ュ彛XML Schema-3.0.xsd" SN="BZ010" Version="3.0" License="1001122"> <Events> <Event Name="SalesWareHouseOut" MainAction="WareHouseOut"> <ActionMaping> @@ -19,8 +19,9 @@ <MetaData Name="Code" Type="String"/> </DataMaping> <DataField> - + <Data Code="86151950000031685740" CorpOrderID="8000363073" Actor="admin" ActDate="2025-01-10 17:09:14" DisCorpID="3" AssCorpID="" ToCorpID="16" FromPerson="admin"/> + <Data Code="86151950000031711367" CorpOrderID="8000363073" Actor="admin" ActDate="2025-01-10 17:09:19" DisCorpID="3" AssCorpID="" ToCorpID="16" FromPerson="admin"/> </DataField> </Event> </Events> -</DataList> \ No newline at end of file +</Document> \ No newline at end of file diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs index 8597905..e8d8a3c 100644 --- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs @@ -1073,6 +1073,7 @@ CustomerNo = model.Customer, CustomerName = custname, OrderCode = model.OrderCode, + Status = "0", }; // 鍏ュ簱鏄庣粏琛ㄤ俊鎭� @@ -1115,10 +1116,17 @@ LotNo = asnDetailModel.LotNo, LotText = "", Qty = (decimal)asnDetailModel.Qty, - PackagNo = asnDetailModel.PackagNo, + FactQty = 0, + CompleteQty = 0, + Price = 0, + Money = 0, + IsBale = "", + IsBelt = "", + PackagNo = skuModel.PackagNo, SupplierLot = asnDetailModel.SupplierLot, Status = "0", CreateUser = 0 + }; detailModels.Add(detailModel); @@ -1238,6 +1246,10 @@ { throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍏抽棴璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�"); } + if (date.Id == notice.CreateUser) + { + throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍒涘缓璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�"); + } //鍗曟嵁绫诲瀷鏄� 鎴愬搧鍏ュ簱鎴栭噰璐叆搴� 鍒ゆ柇鍏ュ簱鐗╂枡鏄惁鍚堟牸 if (notice.Type == "0" || notice.Type == "1") { @@ -1272,46 +1284,46 @@ #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp 鎴� mes ////绯荤粺瀵规帴鍚庢斁寮� - //var jsonData = JsonConvert.SerializeObject(asnInfo); - //var mesList = new List<string>() { "0", "4" }; //0 鎴愬搧鍏ュ簱 4浣欐枡閫�鍥炲叆搴� - //var erpList = new List<string>() { "1", "2", "3" }; //1 閲囪喘鍏ュ簱 2涓棿鍝佸叆搴� 3 閫�璐у叆搴� + var jsonData = JsonConvert.SerializeObject(asnInfo); + var mesList = new List<string>() { "0", "4" }; //0 鎴愬搧鍏ュ簱 4浣欐枡閫�鍥炲叆搴� + var erpList = new List<string>() { "1", "2", "3" }; //1 閲囪喘鍏ュ簱 2涓棿鍝佸叆搴� 3 閫�璐у叆搴� - //if (mesList.Contains(notice.Type)) // mes - //{ - // //鑾峰彇浠ょ墝 - // //var token = new Token().GetMesToken(mesTokenUrl); //娴嬭瘯涓嶄娇鐢═OKEN锛屾寮忚繍琛屾椂鏀惧紑 - // var token = ""; - // Dictionary<string, string> mesDic = new Dictionary<string, string>() - // { - // {"Authorization",token } - // }; - // var mesData = new FinishAsnModel() - // { - // no = asnInfo.OrderCode, - // qty = asnInfo.AsnDetails.Sum(m=>m.Qty) - // }; - // jsonData = JsonConvert.SerializeObject(mesData); - // //璋冪敤鎺ュ彛 - // var response = HttpHelper.DoPost(mesUrl, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "MES", mesDic); + if (mesList.Contains(notice.Type)) // mes + { + //鑾峰彇浠ょ墝 + //var token = new Token().GetMesToken(mesTokenUrl); //娴嬭瘯涓嶄娇鐢═OKEN锛屾寮忚繍琛屾椂鏀惧紑 + var token = ""; + Dictionary<string, string> mesDic = new Dictionary<string, string>() + { + {"Authorization",token } + }; + var mesData = new FinishAsnModel() + { + no = asnInfo.OrderCode, + qty = asnInfo.AsnDetails.Sum(m => m.Qty) + }; + jsonData = JsonConvert.SerializeObject(mesData); + //璋冪敤鎺ュ彛 + var response = HttpHelper.DoPost(mesUrl, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "MES", mesDic); - // var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁 - // if (obj.status != "success") - // { - // throw new Exception("涓婁紶澶辫触" + obj.message); - // } - //} - //else if (erpList.Contains(notice.Type)) //erp - //{ - // var response = HttpHelper.DoPost(erpUrl, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "ERP"); + var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.status != "success") + { + throw new Exception("涓婁紶澶辫触" + obj.message); + } + } + else if (erpList.Contains(notice.Type)) //erp + { + var response = HttpHelper.DoPost(erpUrl, jsonData, "鍏ュ簱鍗曞畬鎴愪笂浼�", "ERP"); - // var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 - // if (obj.Success != 0) - // { - // throw new Exception("涓婁紶澶辫触" + obj.Message); - // } - //} + var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.Success != 0) + { + throw new Exception("涓婁紶澶辫触" + obj.Message); + } + } - + #endregion notice.Status = "4"; diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs index 650d65e..a60b419 100644 --- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs @@ -825,6 +825,7 @@ } if (bl3) { + labelModel.ExpirationTime = stoTime; labelModel.StoreTime = stoTime; } Db.Insertable(labelModel).ExecuteCommand(); @@ -1046,6 +1047,7 @@ } if (bl3) { + labelModel.ExpirationTime = stoTime; labelModel.StoreTime = stoTime; } Db.Insertable(labelModel).ExecuteCommand(); diff --git a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs index 50a3dd7..2414170 100644 --- a/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs @@ -2443,6 +2443,12 @@ item.UpdateUser = userId; } } + //鍥炴祦鍏ュ簱鏃堕渶瑕佸宸插垎閰嶄絾鏈嫞璐у畬鎴愭墭鐩樼姸鎬佷慨鏀� + //var exportAllot = Db.Queryable<BllExportAllot>().ToList(w=>w.PalletNo == task.PalletNo && w.Qty > w.CompleteQty && w.TaskNo == taskNo); + //if (exportAllot.Count != 0) + //{ + // //锛燂紵锛燂紵锛燂紵锛燂紵锛� + //} locate.Status = "1"; Db.Updateable(locate).ExecuteCommand(); diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs index 2e8dd5f..7e87e70 100644 --- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs +++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs @@ -1428,32 +1428,32 @@ } //姝e紡杩愯绋嬪簭鏀惧紑 - //if (endLocate!= null && endLocate.AreaNo == "B12") - //{ - // //鑾峰彇浠ょ墝 - // var token = new Token().GetMesToken(mesTokenUrl); - // Dictionary<string, string> mesDic = new Dictionary<string, string>() - // { - // {"Authorization",token } - // }; - // var mesData = new RequertBeiliaoModel() - // { - // morder_no = stockDetail.First().SONo, - // pallet = stockDetail.First().PalletNo, - // layer_no = endLocate.LocatNo, - // items = data - // }; - // var jsonData = JsonConvert.SerializeObject(mesData); - // //璋冪敤鎺ュ彛 - // var response = HttpHelper.DoPost(mesUrl, jsonData, "澶囨枡瀹屾垚杩愯嚦缂撳瓨鍖哄弽棣堣嚦MES", "MES", mesDic); + if (endLocate != null && endLocate.AreaNo == "B12") + { + //鑾峰彇浠ょ墝 + var token = new Token().GetMesToken(mesTokenUrl); + Dictionary<string, string> mesDic = new Dictionary<string, string>() + { + {"Authorization",token } + }; + var mesData = new RequertBeiliaoModel() + { + morder_no = stockDetail.First().SONo, + pallet = stockDetail.First().PalletNo, + layer_no = endLocate.LocatNo, + items = data + }; + var jsonData = JsonConvert.SerializeObject(mesData); + //璋冪敤鎺ュ彛 + var response = HttpHelper.DoPost(mesUrl, jsonData, "澶囨枡瀹屾垚杩愯嚦缂撳瓨鍖哄弽棣堣嚦MES", "MES", mesDic); - // var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁 - // if (obj.status != "0") - // { - // throw new Exception("澶囨枡鍚屾MES澶辫触锛�" + obj.message); - // } + var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.status != "0") + { + throw new Exception("澶囨枡鍚屾MES澶辫触锛�" + obj.message); + } - //} + } if (userId != 0) { //娣诲姞鎿嶄綔鏃ュ織璁板綍 diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs index 461c9fc..3ff3e48 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs @@ -1957,62 +1957,62 @@ #region 娴嬭瘯鐗堟湰 - //璇诲彇json鏂囦欢锛屾坊鍔犳暟鎹� - var ss = AppDomain.CurrentDomain.BaseDirectory; - string filePath = Path.Combine(ss, "CreateBoxInfo.json"); - string json = File.ReadAllText(filePath); - var person = JsonConvert.DeserializeObject<List<BllBoxInfo>>(json); + ////璇诲彇json鏂囦欢锛屾坊鍔犳暟鎹� + //var ss = AppDomain.CurrentDomain.BaseDirectory; + //string filePath = Path.Combine(ss, "CreateBoxInfo.json"); + //string json = File.ReadAllText(filePath); + //var person = JsonConvert.DeserializeObject<List<BllBoxInfo>>(json); var comTime = DateTime.Now; - //娣诲姞绠辩爜淇℃伅琛ㄤ腑 //鏆傛椂杩欎簺鍐�--娣诲姞鏁版嵁锛屽悗缁渶瑕佸拰璧嬬爜绯荤粺瀵规帴鍚� 鏍规嵁鏄庣‘杩斿洖鐨勬暟鎹牸寮忔洿鏀� - foreach (var item in person) - { - if (item.BoxNo!= boxNo) - { - continue; - } + ////娣诲姞绠辩爜淇℃伅琛ㄤ腑 //鏆傛椂杩欎簺鍐�--娣诲姞鏁版嵁锛屽悗缁渶瑕佸拰璧嬬爜绯荤粺瀵规帴鍚� 鏍规嵁鏄庣‘杩斿洖鐨勬暟鎹牸寮忔洿鏀� + //foreach (var item in person) + //{ + // if (item.BoxNo!= boxNo) + // { + // continue; + // } - var sku = Db.Queryable<SysMaterials>().First(m=>m.IsDel =="0" && m.SkuNo == item.SkuNo); - if (sku == null) - { - continue; - } - var boxInfo = new BllBoxInfo() - { - ASNNo = "", - //ASNDetailNo = 0, - OrderCode = "", - //BindNo = 0, - BoxNo = item.BoxNo, - BoxNo2 = item.BoxNo2, - BoxNo3 = item.BoxNo3, - PalletNo = "", - Qty = item.Qty, - FullQty = item.FullQty, - Status = "0", - SkuNo = item.SkuNo, - SkuName = sku.SkuName, - LotNo = item.LotNo, - LotText = item.LotText, - SupplierLot = item.SupplierLot, - ProductionTime = item.ProductionTime, - ExpirationTime = item.ExpirationTime, - //CompleteTime = comTime, - InspectMark = item.InspectMark, - BitBoxMark = item.BitBoxMark, - InspectStatus = item.InspectStatus, - Origin = "璧嬬爜", - Standard = item.Standard, - PackageStandard = item.PackageStandard, - StoreTime = item.StoreTime, - QtyOrd = item.QtyOrd, - QtyCount = item.QtyCount, - CreateUser = 0, - CreateTime = comTime, - }; - list.Add(boxInfo); - } - Db.Insertable(list).ExecuteCommand(); + // var sku = Db.Queryable<SysMaterials>().First(m=>m.IsDel =="0" && m.SkuNo == item.SkuNo); + // if (sku == null) + // { + // continue; + // } + // var boxInfo = new BllBoxInfo() + // { + // ASNNo = "", + // //ASNDetailNo = 0, + // OrderCode = "", + // //BindNo = 0, + // BoxNo = item.BoxNo, + // BoxNo2 = item.BoxNo2, + // BoxNo3 = item.BoxNo3, + // PalletNo = "", + // Qty = item.Qty, + // FullQty = item.FullQty, + // Status = "0", + // SkuNo = item.SkuNo, + // SkuName = sku.SkuName, + // LotNo = item.LotNo, + // LotText = item.LotText, + // SupplierLot = item.SupplierLot, + // ProductionTime = item.ProductionTime, + // ExpirationTime = item.ExpirationTime, + // //CompleteTime = comTime, + // InspectMark = item.InspectMark, + // BitBoxMark = item.BitBoxMark, + // InspectStatus = item.InspectStatus, + // Origin = "璧嬬爜", + // Standard = item.Standard, + // PackageStandard = item.PackageStandard, + // StoreTime = item.StoreTime, + // QtyOrd = item.QtyOrd, + // QtyCount = item.QtyCount, + // CreateUser = 0, + // CreateTime = comTime, + // }; + // list.Add(boxInfo); + //} + //Db.Insertable(list).ExecuteCommand(); #endregion @@ -2025,7 +2025,7 @@ { "Token", token }, //鍒嗛厤鐨勪护鐗岋紙鍙橀噺锛� { "Barcode", boxNo },//瑕佹煡璇㈢殑鏉$爜 { "getParent", getParentVal },//鏄惁鏌ヨ鐖剁爜 - { "getChildren", getChildrenVal } //鏄惁鏌ヨ瀛愮爜 + { "getChildren", getChildrenVal } //鏄惁鏌ヨ瀛愮爜 aaa }; //绋嬪簭姝e紡鍙戝竷鍚庢斁寮� @@ -2050,10 +2050,10 @@ throw new Exception("鑾峰彇淇℃伅涓嶄竴鑷�"); } - var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == fuMaModel.Product.ProductCode); + var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == fuMaModel.MaterialNum); if (sku == null) { - throw new Exception("鏈煡璇㈠埌绠辩爜涓殑鐗╂枡淇℃伅"); + throw new Exception("鏈煡璇㈠埌绠辩爜涓拰璧嬬爜鎻愪緵鐨勭墿鏂欎俊鎭竴鑷寸殑鏁版嵁"); } var boxInfo = new BllBoxInfo() { @@ -2582,6 +2582,7 @@ DateTime proTime; DateTime expTime; + DateTime sortTime; var bl1 = DateTime.TryParse(detail.Lot1, out proTime); var bl2 = DateTime.TryParse(detail.Lot2, out expTime); diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 12de074..8746b3a 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -70,11 +70,11 @@ { throw new Exception("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜"); } - var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo); - if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") - { - throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�"); - } + //var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo); + //if (string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") + //{ + // throw new Exception("璇ユ墭鐩樿繕鏈嚭搴�"); + //} if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁 { var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); @@ -82,6 +82,11 @@ } //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗� var allotList2 = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3") && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); + + if (allotList2.Count == 0) + { + throw new Exception("姝ゆ墭鐩樺凡鎷h揣鎴栨棤鎷h揣浠诲姟"); + } //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList(); //鑾峰彇鍑哄簱鍗曟嵁涓嶄负寰呮嫞璐� 鎵ц瀹屾瘯 璁㈠崟鍏抽棴 绛夊緟鎵ц鐨勫崟鎹� @@ -529,6 +534,13 @@ { throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); } + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� @@ -757,6 +769,13 @@ } pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += pickQty; @@ -955,12 +974,19 @@ { throw new Exception("鏈湪鎵樼洏琛ㄤ腑鏌ヨ鍒版墭鐩樹俊鎭�"); } - + //鍒ゆ柇鎵樼洏涓婄墿鏂欐槸鍚︽嫞璐у畬姣� if (isDel == 0) { pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); + } + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� @@ -2435,7 +2461,20 @@ throw new Exception("娌℃湁鍙敤鐨勭┖鎵樼洏"); } StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13010101" || w.LocatNo == "B13020101" || w.LocatNo == "B13030101")).LocatNo; - EndLocate = "B15010101"; + + //鏍¢獙鏄惁涓虹2灞傛嫞璐ф墭鐩樹綅 + var locate = Db.Queryable<SysStorageLocat>().First(w => w.Row == 2 && w.LocatNo == model.OutCode); + if (locate == null) + { + throw new Exception("璇烽�夋嫨姝g‘鐨勬嫞璐т綅"); + } + //鏍¢獙鐩殑璐т綅鏄惁鍙敤 + var isuse = Db.Queryable<SysStorageLocat>().First(w => w.Status == "0" && w.LocatNo == model.OutCode); + if (locate == null) + { + throw new Exception("姝ゆ嫞璐т綅鐘舵�佷笉涓虹┖璐т綅"); + } + EndLocate = model.OutCode; } else//涓滀晶鎷h揣浣嶅彨绌烘墭鐩� { @@ -2445,7 +2484,20 @@ throw new Exception("娌℃湁鍙敤鐨勭┖鎵樼洏"); } StartLocate = Db.Queryable<SysStorageLocat>().First(w => w.Status == "1" && (w.LocatNo == "B13030101" || w.LocatNo == "B13040101" || w.LocatNo == "B13050101")).LocatNo; - EndLocate = "B15020101"; + + //鏍¢獙鏄惁涓虹2灞傛嫞璐ф墭鐩樹綅 + var locate = Db.Queryable<SysStorageLocat>().First(w => w.Row == 4 && w.LocatNo == model.OutCode); + if (locate == null) + { + throw new Exception("璇烽�夋嫨姝g‘鐨勬嫞璐т綅"); + } + //鏍¢獙鐩殑璐т綅鏄惁鍙敤 + var isuse = Db.Queryable<SysStorageLocat>().First(w => w.Status == "0" && w.LocatNo == model.OutCode); + if (locate == null) + { + throw new Exception("姝ゆ嫞璐т綅鐘舵�佷笉涓虹┖璐т綅"); + } + EndLocate = model.OutCode; } //娣诲姞鍑哄簱浠诲姟 @@ -3213,6 +3265,13 @@ } pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.Qty += pickQty; @@ -3493,6 +3552,13 @@ } pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += pickQty; @@ -3779,6 +3845,13 @@ pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); } + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.Qty += decimal.Parse(PickQty); @@ -3962,6 +4035,13 @@ { pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); + } + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� @@ -4207,6 +4287,7 @@ LotNo = allot.LotNo, LotText = allot.LotText, SupplierLot = allot.SupplierLot, + SkuNo = allot.SkuNo, SkuName = allot.SkuName, Standard = allot.Standard, @@ -4303,10 +4384,10 @@ throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); } var boxQty = boxInfos.First().Qty; - if (boxQty > needQty) - { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); - } + //if (boxQty > needQty) + //{ + // throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); + //} foreach (var item in boxInfos) { @@ -4329,10 +4410,10 @@ { throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺"); } - if (decimal.Parse(pickQty1) > needQty) - { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); - } + //if (decimal.Parse(pickQty1) > needQty) + //{ + // throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺"); + //} biaoShi = "2"; } @@ -4347,10 +4428,10 @@ throw new Exception("璇ユ墭鐩樹笌绠辩爜娌℃湁缁戝畾鍏崇郴"); } var boxQty = boxInfo.GroupBy(m => m.BoxNo).Select(m => SqlFunc.AggregateSum(m.Qty)).ToList(); - if (boxQty[0] > needQty) - { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); - } + //if (boxQty[0] > needQty) + //{ + // throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); + //} foreach (var item in boxInfos) { @@ -4448,6 +4529,7 @@ SkuName = item.SkuName, Standard = item.Standard, ProductionTime = item.ProductionTime, + ExpirationTime = item.ExpirationTime, SupplierLot = item.SupplierLot, InspectMark = item.InspectMark, BitBoxMark = "1", @@ -4537,6 +4619,14 @@ } pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } + } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += pickQty; @@ -4646,10 +4736,10 @@ } //鍓╀綑鎷h揣鏁伴噺锛堝緟鎷e噺鍘诲凡鎷o級 var needQty = allot.Qty - allot.CompleteQty; - if (decimal.Parse(PickQty) > needQty) - { - throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); - } + //if (decimal.Parse(PickQty) > needQty) + //{ + // throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鎵樺唴鍓╀綑寰呮嫞鏁伴噺"); + //} //搴撳瓨鏄庣粏 var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.Id == allot.StockId); @@ -4874,6 +4964,13 @@ pallet.Status = "0"; Db.Updateable(pallet).ExecuteCommand(); + //淇敼鍌ㄤ綅鐘舵�� + var locate = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == stockDetail.LocatNo); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� diff --git a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs index 386cd35..855d1dd 100644 --- a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs +++ b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs @@ -107,6 +107,12 @@ { throw new Exception("鎵规鍙蜂笉鍙负绌猴紝璇锋牳鏌ワ紒"); } + //楠岃瘉鎵规鍙锋槸鍚︿负褰撳墠搴撳瓨涓凡鏈夋壒娆� + var lot = Db.Queryable<DataStock>().Where(w => w.LotNo == model.LotNo).ToList(); + if (lot.Count == 0) + { + throw new Exception("褰撳墠搴撳瓨涓棤姝ゆ壒鍙凤紝璇锋牳鏌ワ紒"); + } int isTui = 0; //楠岃瘉鍏ュ簱鍗曞彿鏄惁涓虹┖ if (!string.IsNullOrEmpty(model.ASNNo)) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index 68367c9..802e285 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -1283,8 +1283,7 @@ throw new Exception("褰撳墠鍗曟嵁鏄庣粏涓鍒掓暟閲忎笌鎷h揣鏁伴噺涓嶇锛岃鏍稿疄"); } } - if (d.Qty < d.CompleteQty) - { + //鏇存敼搴撳瓨鏄庣粏閿佸畾鏁伴噺 var allotList = Db.Queryable<BllExportAllot>().Where(o => o.SODetailNo == d.Id && o.Status == "3" && o.IsDel == "0").ToList(); foreach (var o in allotList) @@ -1335,7 +1334,7 @@ Db.Updateable(st).UpdateColumns(it => new { it.LockQty }).ExecuteCommand(); } #endregion - } + } //娣诲姞鎿嶄綔鏃ュ織璁板綍 @@ -1707,8 +1706,8 @@ { throw new Exception($"鏈壘鍒皗soNo}鍑哄簱鍗曚俊鎭�"); } - //鎵�鏈夎鍑哄簱鐨勫嚭搴撳垎閰嶄俊鎭�(鏈笅鍙戠殑淇℃伅鍜屽緟鎷h揣鐨勪俊鎭�) - var list = Db.Queryable<BllExportAllot>().Where(a => a.IsDel == "0" && a.SONo == soNo && a.Status == "0").ToList(); + //鎵�鏈夎鍑哄簱鐨勫嚭搴撳垎閰嶄俊鎭�(鏈笅鍙戠殑淇℃伅鍜屽緟鎷h揣鐨勪俊鎭拰閮ㄥ垎鎷h揣鍚庡洖娴佸叆搴撶殑鎵樼洏) + var list = Db.Queryable<BllExportAllot>().Where(a => a.IsDel == "0" && a.SONo == soNo && (a.Status == "0" || a.Status == "3")).ToList(); if (list.Count == 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鍑哄簱娴佹按 { throw new Exception("褰撳墠鍑哄簱鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏"); @@ -2427,11 +2426,11 @@ if (outLine == "443")//瑗夸晶鍑哄簱 { - positionEnd = locateno.OrderBy(m => m.LocatNo).First(m => m.Row == 1 && m.Status == "0" && m.Flag == "0").LocatNo; //瑗夸晶鎴块棿搴撲綅鍜屽闈㈡埧闂� + positionEnd = locateno.OrderBy(m => m.LocatNo).First(m => m.Row == 1 && m.Status == "0" && m.Flag == "0").LocatNo; //瑗夸晶鎴块棿搴撲綅 } else if (outLine == "440") //涓滀晶鍑哄簱 { - positionEnd = locateno.OrderBy(m => m.LocatNo).First(m => m.Row == 2 && m.Status == "0" && m.Flag == "0").LocatNo; //涓滀晶鎴块棿搴撲綅 + positionEnd = locateno.OrderBy(m => m.LocatNo).First(m => m.Row == 3 && m.Status == "0" && m.Flag == "0").LocatNo; //涓滀晶鎴块棿搴撲綅鍜屽闈㈡埧闂� } } else if (type1.Type == "2" || type1.Type == "3") //鎶芥鍑哄簱 /鍙栨牱鍑哄簱 @@ -2441,7 +2440,7 @@ else if (type1.Type == "4")//涓嶅悎鏍煎搧鍑哄簱 { - positionEnd = Db.Queryable<SysStorageLocat>().OrderBy(m => m.LocatNo).First(m => m.AreaNo == "B03" && m.Status == "0" && m.Flag == "0").LocatNo; + positionEnd = Db.Queryable<SysStorageLocat>().OrderBy(m => m.LocatNo).First(m => (m.AreaNo == "B01"|| m.AreaNo == "B02"||m.AreaNo == "B04") && m.Status == "0" && m.Flag == "0").LocatNo; } else //鍏朵粬鍗曟嵁绫诲瀷閮藉瓨鏀惧彂璐х紦瀛樺尯 { @@ -2669,8 +2668,9 @@ StartLocate = locateNo, // 璧峰浣嶇疆 StartRoadway = locate.RoadwayNo, EndLocate = task.EndLocat, // 鐩爣浣嶇疆 + EndRoadway = task.EndRoadway, TaskNo = task.TaskNo, // 浠诲姟鍙� - TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) + TaskType = task.Type,// 浠诲姟绫诲瀷 (鍑哄簱) OutMode = "", //鐩爣鍦板潃 Order = 1 }; //鍑哄簱鏁版嵁 diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs index 8ab0b61..958fa07 100644 --- a/Wms/WMS.BLL/DataServer/StockServer.cs +++ b/Wms/WMS.BLL/DataServer/StockServer.cs @@ -9,6 +9,7 @@ using Model.InterFaceModel; using Model.ModelDto; using Model.ModelDto.DataDto; +using Model.ModelDto.LogDto; using Model.ModelDto.SysDto; using Model.ModelVm.DataVm; using Newtonsoft.Json; @@ -1101,7 +1102,10 @@ } #endregion - + palletNo.IsCancel = 0; + palletNo.IsSend = 0; + palletNo.IsFinish = 0; + Db.Updateable(palletNo).ExecuteCommand(); Db.CommitTran(); @@ -1353,12 +1357,12 @@ } } } - else + else { storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //鑾峰彇璧峰搴撲綅淇℃伅 if (storageStart == null) { - throw new Exception("鏈壘鍒扮浉搴旂殑璧峰搴撲綅"); + isstock = 2; //搴撳彛鍒扮紦瀛樹綅浠诲姟 } } //var soAllot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);//鑾峰彇鍒嗛厤淇℃伅 @@ -1377,13 +1381,13 @@ if (isstock == 1) { - startLocat = Db.Queryable<SysStorageLocat>().First(w=> w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); + startLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //淇敼璧峰搴撲綅鐘舵�� startLocat.Status = "0";//0锛氱┖鍌ㄤ綅 1锛氭湁鐗╁搧 2锛氬叆搴撲腑 3锛氬嚭搴撲腑 4锛氱Щ鍏ヤ腑 5锛氱Щ鍑轰腑 Db.Updateable(startLocat).ExecuteCommand(); - //璋冪敤MES澶囨枡鍙嶉瀹屾垚鎺ュ彛 - #region MES澶囨枡瀹屾垚鍙嶉 + + #region var data = new List<RequertBeiliaoInfoModel>(); //鏇存敼搴撳瓨鏄庣粏 @@ -1472,7 +1476,7 @@ case "1": endlono = "Y003_0" + endLocat.LocatNo.ToString().Substring(5, 2); break; - + } var mescode = Db.Queryable<BllExportNotice>().Where(w => w.SONo == stockDetail.First().SONo).First(); var mesData = new RequertBeiliaoModel() @@ -1495,7 +1499,7 @@ } #endregion } - else //绌烘墭鐩樺鐞� + else if (isstock == 0) { //淇敼缁勬墭淇℃伅 if (bindDetail.WareHouseNo == "W01") //1銆佺┖鎵樼洏鍨涘埌绌烘墭鐩樻敹闆嗗櫒锛� @@ -1524,7 +1528,25 @@ } } Db.Updateable(bindDetail).ExecuteCommand(); + } + else //搴撳彛绉诲簱鍒扮紦瀛樹綅 + { + + foreach (var item in stockDetail) + { + item.LocatNo = endLocat.LocatNo;//鍌ㄤ綅鏇存敼 + item.WareHouseNo = endLocat.WareHouseNo;//鎵�灞炰粨搴撴洿鏀� + item.RoadwayNo = endLocat.RoadwayNo;//鎵�灞炲贩閬撴洿鏀� + item.AreaNo = endLocat.AreaNo;//鎵�灞炲尯鍩熸洿鏀� + + Db.Updateable(item).ExecuteCommand(); + } + } + palletNo.IsCancel = 0; + palletNo.IsSend = 0; + palletNo.IsFinish = 0; + Db.Updateable(palletNo).ExecuteCommand(); Db.CommitTran(); } catch (Exception ex) @@ -1535,7 +1557,7 @@ } #endregion - #region 鏁板瓧瀛敓绯荤粺鑾峰彇搴撳瓨淇℃伅 + #region 鏁板瓧瀛敓绯荤粺鍙嶉淇℃伅 /// <summary> /// 鍙嶉鏁板瓧瀛敓绯荤粺搴撳瓨淇℃伅 @@ -1583,6 +1605,170 @@ throw new Exception("杩斿洖搴撳瓨淇℃伅鏈夎锛岄敊璇俊鎭細" + ex); } } + + + + /// <summary> + /// 鍙嶉鏁板瓧瀛敓绯荤粺鎿嶄綔淇℃伅 + /// </summary> + /// <param name=""></param> + /// <returns></returns> + public List<ReLogDataModel> GetLogDataList() + { + try + { + + //搴撳瓨淇℃伅 + var stockDetailsList = Db.Queryable<DataStockDetail>().ToList(); + var sql = "select LocatNo,PalletNo,SkuName,Standard,LotNo,InspectStatus,Qty,ExpirationTime as Warranty from DataStockDetail "; + + + var item2 = Expressionable.Create<LogOperationSO>() + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list2 = Db.Queryable<LogOperationSO>().Where(item2) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + List<ReLogDataModel> list = Db.Ado.SqlQuery<ReLogDataModel>(sql); + + return list; + } + catch (Exception ex) + { + + throw new Exception("杩斿洖搴撳瓨淇℃伅鏈夎锛岄敊璇俊鎭細" + ex); + } + } + + + /// <summary> + /// 鏌ヨ鎿嶄綔鏃ュ織 + /// </summary> + /// <param name="menuName">鑿滃崟鍚嶇О</param> + /// <param name="type">绫诲瀷</param> + /// <returns></returns> + public List<OperationDto> ReLogData() + { + try + { + var total = 0; + #region asn + + var item = Expressionable.Create<LogOperationASN>() + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list = Db.Queryable<LogOperationASN>().Where(item) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region so + + var item2 = Expressionable.Create<LogOperationSO>() + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list2 = Db.Queryable<LogOperationSO>().Where(item2) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region cr + + var item3 = Expressionable.Create<LogOperationCR>() + .And(it => it.IsDel == "0") + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list3 = Db.Queryable<LogOperationCR>().Where(item3) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + #region sys + + var item4 = Expressionable.Create<LogOperationSys>() + .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏� + + var list4 = Db.Queryable<LogOperationSys>().Where(item4) + .LeftJoin<SysDictionary>((it, dic) => it.Type == dic.Id.ToString()) + .LeftJoin<SysUserInfor>((it, dic, users) => it.CreateUser == users.Id) + .Select((it, dic, users) => new OperationDto() + { + Id = it.Id, + ParentNo = it.ParentNo, + MenuNo = it.MenuNo, + MenuName = it.MenuName, + FkNo = it.FkNo, + Type = dic.DictName, + Msg = it.Msg, + CreateTime = it.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"), + CreateUserName = users.RealName, + }); + + #endregion + + var data = Db.UnionAll(list, list2, list3, list4).OrderByDescending(it => it.CreateTime); + return data.OrderByDescending(m => m.CreateTime).ToList(); + } + catch (Exception e) + { + throw new Exception(e.Message); + } + } #endregion } } diff --git a/Wms/WMS.BLL/SysServer/Token.cs b/Wms/WMS.BLL/SysServer/Token.cs index ec45099..d4458a1 100644 --- a/Wms/WMS.BLL/SysServer/Token.cs +++ b/Wms/WMS.BLL/SysServer/Token.cs @@ -125,70 +125,70 @@ str = sysToken.Token; return str; //杩斿洖token鍊� } - return str; - //#region 鑾峰彇鏂扮殑浠ょ墝 - ////瀵规帴鏃舵洿鏀硅矾寰� - //var user = MesConfig.MesUser; - //var pass = MesConfig.MesPassWord; - //var secretKey = Md5Tools.CalcMd5(pass); - //var nonce = Guid.NewGuid().ToString("N"); - //var timestamp = DateTimeOffset.Now.ToUnixTimeSeconds().ToString(); + //return str; + #region 鑾峰彇鏂扮殑浠ょ墝 + //瀵规帴鏃舵洿鏀硅矾寰� + var user = MesConfig.MesUser; + var pass = MesConfig.MesPassWord; + var secretKey = Md5Tools.CalcMd5(pass); + var nonce = Guid.NewGuid().ToString("N"); + var timestamp = DateTimeOffset.Now.ToUnixTimeSeconds().ToString(); - //var info = new string[] { user, secretKey, nonce, timestamp }; - //Array.Sort(info, string.CompareOrdinal); //ASCII鎺掑簭 - //var miyao = string.Join("", info); //鏁扮粍杞崲鎴愬瓧绗︿覆 - //var sign = Md5Tools.CalcMd5(miyao); //绛惧悕 + var info = new string[] { user, secretKey, nonce, timestamp }; + Array.Sort(info, string.CompareOrdinal); //ASCII鎺掑簭 + var miyao = string.Join("", info); //鏁扮粍杞崲鎴愬瓧绗︿覆 + var sign = Md5Tools.CalcMd5(miyao); //绛惧悕 - //var data = new - //{ - // user = user, - // nonce = nonce, - // timestamp = timestamp, - // sign = sign, - // jwt = true, //鏄惁杩斿洖JWT浠ょ墝 - //}; - //#endregion + var data = new + { + user = user, + nonce = nonce, + timestamp = timestamp, + sign = sign, + jwt = true, //鏄惁杩斿洖JWT浠ょ墝 + }; + #endregion - //#region 閫氳繃鎺ュ彛鍙戦�佽嚦璧嬬爜 - ////绯荤粺瀵规帴鍚庢斁寮� - //var jsonData = JsonConvert.SerializeObject(data); + #region 閫氳繃鎺ュ彛鍙戦�佽嚦璧嬬爜 + //绯荤粺瀵规帴鍚庢斁寮� + var jsonData = JsonConvert.SerializeObject(data); - //var response = HttpHelper.DoPost(url, jsonData, "FuMa鐢宠鑾峰彇浠ょ墝", "Fuma"); + var response = HttpHelper.DoPost(url, jsonData, "FuMa鐢宠鑾峰彇浠ょ墝", "Fuma"); - //var obj = JsonConvert.DeserializeObject<MesTokenModel>(response);//瑙f瀽杩斿洖鏁版嵁 + var obj = JsonConvert.DeserializeObject<MesTokenModel>(response);//瑙f瀽杩斿洖鏁版嵁 - //if (obj.status != "success") - //{ - // throw new Exception("涓婁紶澶辫触" + obj.message); - //} - //else - //{ - // var token = obj.Data.token; - // var expireTime = obj.Data.expire_time; - // var time = DateTime.Now.AddMilliseconds(double.Parse(expireTime)); - // if (sysToken == null)//娣诲姞 - // { - // var addToken = new SysToken() - // { - // SystemName = "MES", - // Token = token, - // ExpireTime = time, - // CreateUser = 0 - // }; - // Db.Insertable(addToken).ExecuteCommand(); - // return token; - // } - // else //淇敼 - // { - // sysToken.Token = token; - // sysToken.ExpireTime = time; - // sysToken.UpdateTime = DateTime.Now; - // Db.Updateable(sysToken).ExecuteCommand(); - // return token; - // } - //} + if (obj.status != "success") + { + throw new Exception("涓婁紶澶辫触" + obj.message); + } + else + { + var token = obj.Data.token; + var expireTime = obj.Data.expire_time; + var time = DateTime.Now.AddMilliseconds(double.Parse(expireTime)); + if (sysToken == null)//娣诲姞 + { + var addToken = new SysToken() + { + SystemName = "MES", + Token = token, + ExpireTime = time, + CreateUser = 0 + }; + Db.Insertable(addToken).ExecuteCommand(); + return token; + } + else //淇敼 + { + sysToken.Token = token; + sysToken.ExpireTime = time; + sysToken.UpdateTime = DateTime.Now; + Db.Updateable(sysToken).ExecuteCommand(); + return token; + } + } - //#endregion + #endregion } catch (Exception) { diff --git a/Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs b/Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs index a70e21d..04b0a33 100644 --- a/Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs +++ b/Wms/WMS.DAL/SysInfrastructure/MaterialsRepository.cs @@ -35,7 +35,7 @@ /// <returns></returns> public List<MaterialsDto> GetMateList(string skuNo, string skuName, string auditStatusNo, string type, string isControlled, string isInspect, string environment, string categoryNo) { - string str = "select mate.*,user1.RealName CreateUserName,pack.PackagName PackagName,unit.UnitName UnitName,matec.CategoryName from SysMaterials mate left join SysUserInfor user1 on mate.CreateUser = user1.Id left join SysPackag pack on mate.PackagNo = pack.PackagNo left join SysUnit unit on mate.UnitNo = unit.UnitNo left join SysMaterialCategory matec on mate.CategoryNo = matec.CategoryNo where mate.IsDel = @isdel"; + string str = "select mate.*,user1.RealName CreateUserName,pack.PackagName PackagName,unit.UnitName UnitName,matec.CategoryName from SysMaterials mate left join SysUserInfor user1 on mate.CreateUser = user1.Id left join SysPackag pack on mate.PackagNo = pack.PackagNo left join SysUnit unit on mate.UnitNo = unit.UnitNo left join SysMaterialCategory matec on mate.CategoryNo = matec.CategoryNo where mate.IsDel = @isdel and pack.IsDel = @isdel"; //鍒ゆ柇鐗╂枡缂栫爜 if (!string.IsNullOrEmpty(skuNo)) { diff --git a/Wms/WMS.IBLL/IDataServer/IStockServer.cs b/Wms/WMS.IBLL/IDataServer/IStockServer.cs index 0e57fa5..aef76a5 100644 --- a/Wms/WMS.IBLL/IDataServer/IStockServer.cs +++ b/Wms/WMS.IBLL/IDataServer/IStockServer.cs @@ -1,5 +1,6 @@ 锘縰sing Model.InterFaceModel; using Model.ModelDto.DataDto; +using Model.ModelDto.LogDto; using System; using System.Collections.Generic; using System.Text; @@ -151,5 +152,19 @@ /// <param name="model"></param> /// <returns></returns> List<ReLocateDataModel> GetLocateList(); + + /// <summary> + /// 鍙嶉鏁板瓧瀛敓鎿嶄綔淇℃伅 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + List<ReLogDataModel> GetLogDataList(); + + /// <summary> + /// 鍙嶉鏁板瓧瀛敓鎿嶄綔淇℃伅 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + List<OperationDto> ReLogData(); } } diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs index e558169..753060d 100644 --- a/Wms/Wms/Controllers/DownApiController.cs +++ b/Wms/Wms/Controllers/DownApiController.cs @@ -37,6 +37,7 @@ private readonly IPdaAsnServer _paAsnSvc;//绌烘墭璺虹粦瀹� private readonly IStockServer _stockSvc;//AGV浠诲姟瀹屾垚绠� private readonly IPdaCrServer _pdaCrServer; // PDA浠诲姟璋冨害 + private static readonly object OLock = new object(); public DownApiController(IOptions<ApiUrlConfig> setting, IExportNoticeServer exNoticeSvc, IPalletBindServer asnPalletBindSvc, IStockCheckServer crCheckSvc, ITaskServer taskSvc, IPdaSoServer pdaSoSvc,IPdaAsnServer paAsnSvc,IStockServer stockSvc,IPdaCrServer pdaCrServer) { @@ -219,45 +220,47 @@ [HttpPost] public IActionResult RequestRoadWay(RequestLocate model) { - var logStr = ""; + lock (OLock) { + var logStr = ""; - logStr = $@".\log\WCS\WCS鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + logStr = $@".\log\WCS\WCS鐢宠宸烽亾" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; - try - { - - var jsonData = JsonConvert.SerializeObject(model); - LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr); - if (model.TaskModel == "1") + try { - var list = _asnPalletBindSvc.RequestRoadWayModel(model.PalletNo, model.HouseNo); - LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"WCS鐢宠宸烽亾锛�( {jsonData} ),", logStr); + if (model.TaskModel == "1") + { + var list = _asnPalletBindSvc.RequestRoadWayModel(model.PalletNo, model.HouseNo); + + LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); + new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo, + "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", 2); + + return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list }); + } + else + { + + var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo); + + LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); + new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), + "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2); + + return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list }); + } + + } + catch (Exception e) + { + LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr); new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo, - "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勬垚鍔熶俊鎭�", 2); + "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", 2); - return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list }); + return Ok(new ErpModel { Success = -1, Message = e.Message }); } - else - { - - var list = _asnPalletBindSvc.RequestRoadWay(model.PalletNo, model.HouseNo); - - LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), - "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2); - - return Ok(new { Success = 0, Message = "鐢宠宸烽亾鎴愬姛", TaskList = list }); - } - - } - catch (Exception e) - { - LogFile.SaveLogToFile($"WCS鐢宠宸烽亾杩斿洖锛�( {e.Message} ),", logStr); - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo, - "鐢宠宸烽亾", $"鐢宠宸烽亾鎵樼洏鍙凤細{model.PalletNo}鐨勫け璐ヤ俊鎭�", 2); - - return Ok(new ErpModel { Success = -1, Message = e.Message }); } } @@ -284,65 +287,68 @@ //} //string palletno = model.PalletNo; - var logStr = ""; - if (model.PalletNo.Length == 9) + lock (OLock) { - logStr = $@".\log\WCS\WMS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; - } - else if (model.PalletNo.Length == 8) - { - logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; - } - - try - { + var logStr = ""; if (model.PalletNo.Length == 9) { - var jsonData = JsonConvert.SerializeObject(model); - LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr); + logStr = $@".\log\WCS\WMS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; } else if (model.PalletNo.Length == 8) { - var jsonData = JsonConvert.SerializeObject(model); - LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr); + logStr = $@".\log\WCS\WCS鐢宠鍌ㄤ綅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + } - } - string pallet = model.PalletNo.Substring(0, 8); - OutCommandDto list; - if (model.TaskModel == "1") + try { - list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo); - } - else - { - list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo); - } + if (model.PalletNo.Length == 9) + { + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr); + } + else if (model.PalletNo.Length == 8) + { + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅锛�( {jsonData} ),", logStr); + + } + string pallet = model.PalletNo.Substring(0, 8); + OutCommandDto list; + if (model.TaskModel == "1") + { + list = _asnPalletBindSvc.RequestLocationModel(pallet, model.HouseNo, model.RoadwayNo); + } + else + { + list = _asnPalletBindSvc.RequestLocation(pallet, model.HouseNo, model.RoadwayNo); + } - if (model.PalletNo.Length == 9) - { - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId) - LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr); - } - else if (model.PalletNo.Length == 8) - { - LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); - } + if (model.PalletNo.Length == 9) + { + new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勬垚鍔熶俊鎭�", 2);// int.Parse(userId) + LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅鎴愬姛锛�( {JsonConvert.SerializeObject(list)} ),", logStr); + } + else if (model.PalletNo.Length == 8) + { + LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {JsonConvert.SerializeObject(list)} ),", logStr); + } - return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list }); - } - catch (Exception e) - { - if (model.PalletNo.Length == 9) - { - new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);//int.Parse(userId) - LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅澶辫触杩斿洖锛�( {e.Message} ),", logStr); + return Ok(new { Success = 0, Message = "鐢宠鍌ㄤ綅鎴愬姛", TaskList = list }); } - else if (model.PalletNo.Length == 8) + catch (Exception e) { - LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr); - } + if (model.PalletNo.Length == 9) + { + new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鍏ュ簱鏃ュ織", model.PalletNo.Substring(0, 8), "鐢宠鍌ㄤ綅", $"鐢宠鍌ㄤ綅鎵樼洏鍙凤細{model.PalletNo.Substring(0, 8)}鐨勫け璐ヤ俊鎭�", 2);//int.Parse(userId) + LogFile.SaveLogToFile($"WMS鐢宠鍌ㄤ綅澶辫触杩斿洖锛�( {e.Message} ),", logStr); + } + else if (model.PalletNo.Length == 8) + { + LogFile.SaveLogToFile($"WCS鐢宠鍌ㄤ綅杩斿洖锛�( {e.Message} ),", logStr); + } - return Ok(new ErpModel { Success = -1, Message = e.Message }); + return Ok(new ErpModel { Success = -1, Message = e.Message }); + } } } @@ -555,6 +561,8 @@ public IActionResult BindPlnInHouseWcs(PalletsBind model) { var logStr = $@".\log\WCS\WCS鍙堝彔鎵樻満鐢宠绌烘墭鍏ュ簱" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr); try { var strMsg = _paAsnSvc.BindNullPallets(model); @@ -579,6 +587,8 @@ public IActionResult IssuePlnOutHouseWcs(OutModePalletVm model) { var logStr = $@".\log\WCS\WCS鐢宠绌烘墭鍑哄簱" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr); try { List<OutCommandDto> _list = _pdaSoSvc.IssuePlnOutHouseWcs(model,0); @@ -603,6 +613,8 @@ public IActionResult IssuePlnCheckHouseWcs(CheckModePalletVm model) { var logStr = $@".\log\WCS\WMS鎷h揣鐢宠绌烘墭鍑哄簱" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr); try { string list = _pdaSoSvc.IssuePlnCehckHouseWcs(model, 0,_config.AgvHost+_config.GenAgvSchedulingTask); @@ -627,6 +639,8 @@ public IActionResult RequestPackWcs(RequesIsBale model) { var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr); try { int t = _asnPalletBindSvc.RequestPackWcs(model.PalletNo); @@ -652,6 +666,8 @@ public IActionResult RequestUnPackWcs(RequesIsBale model) { var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr); try { int t = _asnPalletBindSvc.RequestUnPackWcs(model.PalletNo); @@ -676,6 +692,8 @@ public IActionResult RequestPackedWcs(RequesIsBale model) { var logStr = $@".\log\WCS\WCS鐢宠缂犺啘鎷嗚啘" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr); try { int t = _asnPalletBindSvc.RequestPackedWcs(model.PalletNo); @@ -736,6 +754,8 @@ public IActionResult ResultBoxInfoCheckWcs(BoxInfoCheck model) { var logStr = $@".\log\WCS\WCS鐢宠鎷嗗灈鎵樼洏淇℃伅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr); try { RequestBoxInfoCheck list = _exNoticeSvc.BoxInfoCheckWcs(model); @@ -761,17 +781,19 @@ public IActionResult ResultBoxInfoExportWcs(BoxInfoCheck model) { var logStr = $@".\log\WCS\WCS鐢宠鎴愬搧绠辩爜鎷嗗灈鎷h揣淇℃伅" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"浠诲姟鍙嶉锛�( {jsonData} ),", logStr); try { //杩斿洖鍑哄簱鍒嗘嫞瑁呰溅鍙� var list = _exNoticeSvc.BoxInfoExportWcs(model.BoxNo); - return Ok(new { Success = "1", Message = "鎴愬搧绠辩爜鎷嗗灈鎷h揣鎴愬姛", loadubgAddre = list }); + return Ok(new { Success = "1", Message = "鎴愬搧绠辩爜鎷嗗灈鎷h揣鎴愬姛", loadingAddre = list }); } catch (Exception e) { LogFile.SaveLogToFile($"WCS鐢宠鎴愬搧绠辩爜鎷嗗灈鎷h揣寮傚父杩斿洖锛�( {e.Message} ),", logStr); - return Ok(new { Success = "-1", Message = e.Message, loadubgAddre ="" }); + return Ok(new { Success = "-1", Message = e.Message, loadingAddre = "" }); } } diff --git a/Wms/Wms/Controllers/UpApiController.cs b/Wms/Wms/Controllers/UpApiController.cs index 5b90b7c..c5dab11 100644 --- a/Wms/Wms/Controllers/UpApiController.cs +++ b/Wms/Wms/Controllers/UpApiController.cs @@ -17,6 +17,7 @@ using WMS.IBLL.IDataServer; using Model.ModelDto.DataDto; using System.Collections.Generic; +using Model.ModelDto.LogDto; namespace Wms.Controllers { @@ -459,6 +460,46 @@ return Ok(stocks); } + /// <summary> + /// 鏁板瓧瀛敓绯荤粺搴撳瓨璐ㄩ噺鐘舵�佸弽棣� + /// </summary> + /// <param name="model">鏉ユ簮淇℃伅</param> + /// <returns></returns> + [HttpPost] + public IActionResult ReLogData(DigitalTwinModel model) + { + + //璁板綍log + var logStr = ""; + logStr = $@".\log\鏁板瓧瀛敓\鎿嶄綔鏃ュ織淇℃伅鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt"; + var jsonData = JsonConvert.SerializeObject(model); + LogFile.SaveLogToFile($"鎿嶄綔鏃ュ織淇℃伅鍙嶉锛�( {jsonData} ),", logStr); + try + { + //鑾峰彇搴撳瓨淇℃伅 + List<OperationDto> stocks = _stock.ReLogData(); + + if (stocks.Count == 0) + { + var data = new HttpReturnModel { Success = "0", Message = "褰撳墠鏃犳搷浣滀俊鎭�" }; + return Ok(data); + } + return Ok(stocks); + + } + catch (Exception e) + { + var data = new HttpReturnModel { Success = "0", Message = "澶辫触锛�" + e.Message }; + if (logStr != "") + { + jsonData = JsonConvert.SerializeObject(data); + LogFile.SaveLogToFile($"鎿嶄綔鏃ュ織淇℃伅鍙嶉锛岃繑鍥炲弬鏁帮細( {jsonData} ),", logStr); + } + return Ok(data); + } + + } + #endregion } diff --git a/Wms/Wms/appsettings.json b/Wms/Wms/appsettings.json index ffa076a..883ae7c 100644 --- a/Wms/Wms/appsettings.json +++ b/Wms/Wms/appsettings.json @@ -26,7 +26,7 @@ "ErpHost": "http://10.110.24.30:8081", //erpIP "MesHost": "http://10.18.99.67:3000", //mesIP "WcsHost": "http://10.60.16.10:5005", // "http://localhost:57061", //wcsIPhttp://localhost:57061/ - "BoxHost": "http://10.110.24.30:8081", //boxIP + "BoxHost": "http://10.18.99.88", //boxIP "AgvHost": "http://10.18.99.66:8181", //agvIP // WCS @@ -48,8 +48,8 @@ "MesBeiLiaoUrl": "/mes/service/mes/save_morder_feedback", //澶囨枡鍙嶉(鍘熸枡澶囨枡鍒扮敓浜ц溅闂寸紦瀛樺尯) "MesGetTokenUrl": "/mes/service/system/sign_login", //鑾峰彇浠ょ墝 // 璧嬬爜 - "FuMaGetBoxUrl": "/port/mes/service/system/sign_login", //鑾峰彇璧嬬爜绠辩爜淇℃伅 - "FuMaGetTokenUrl": "/port/mes/service/system/sign_login", //鑾峰彇浠ょ墝 + "FuMaGetBoxUrl": "/api/IO/QueryBarcode", //鑾峰彇璧嬬爜绠辩爜淇℃伅 + "FuMaGetTokenUrl": "/api/IO/QueryBarcode", //鑾峰彇浠ょ墝 // AGV "GenAgvSchedulingTask": "/rcms/services/rest/hikRpcService/genAgvSchedulingTask", //鐢熸垚浠诲姟鍗曟帴鍙� -- Gitblit v1.8.0