From 16865166b741233bad83756ab30899440ecc0dd3 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期六, 19 四月 2025 08:15:30 +0800
Subject: [PATCH] 修改问题
---
Wms/WMS.Entity/DataEntity/DataStockDetail.cs | 6
Wms/Wms/Controllers/PdaCrController.cs | 45 +
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 4
Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs | 9
Pda/View/SoSetting/pinTuoOut.html | 6
HTML/views/StatisticalReport/BoxInfor.html | 17
Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs | 147 ++--
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 94 --
Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs | 15
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 669 ++++++++++++------------
Wms/WMS.Entity/LogEntity/LogTask.cs | 2
Wms/Model/ModelVm/PdaVm/PdaCrVm.cs | 6
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 95 ++-
HTML/views/HouseWithinSetting/CRLogTask.html | 3
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs | 179 +++++-
HTML/views/ASNSetting/LabelPrint.html | 6
HTML/views/SOSetting/ExportNotice.html | 64 +
Wms/WMS.Entity/DataEntity/DataBoxInfo.cs | 4
Pda/View/HouseDataSetting/ConfirmReceipt.html | 177 ++++++
Wms/Wms/Controllers/DownApiController.cs | 29 +
20 files changed, 1,003 insertions(+), 574 deletions(-)
diff --git a/HTML/views/ASNSetting/LabelPrint.html b/HTML/views/ASNSetting/LabelPrint.html
index b1a4656..7492276 100644
--- a/HTML/views/ASNSetting/LabelPrint.html
+++ b/HTML/views/ASNSetting/LabelPrint.html
@@ -70,9 +70,9 @@
</tr>
<tr>
<td>鐗╂枡浠g爜</td>
- <td id="SkuNo"></td>
- <td>鏁� 閲�</td>
- <td id="qty"></td>
+ <td colspan="3" id="SkuNo"></td>
+ <!-- <td>鏁� 閲�</td>
+ <td id="qty"></td> -->
</tr>
<tr>
<td>鏈夋晥鏈熻嚦</td>
diff --git a/HTML/views/HouseWithinSetting/CRLogTask.html b/HTML/views/HouseWithinSetting/CRLogTask.html
index 9fd6296..00fa7f6 100644
--- a/HTML/views/HouseWithinSetting/CRLogTask.html
+++ b/HTML/views/HouseWithinSetting/CRLogTask.html
@@ -50,6 +50,7 @@
<option value="2">鎵ц瀹屾垚</option>
<option value="3">寮傚父缁撴潫</option>
<option value="4">宸插彇娑�</option>
+ <option value="5">绛夊緟纭</option>
</select>
</div>
</div>
@@ -203,6 +204,8 @@
html = `<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">寮傚父缁撴潫</button>`;
} else if(d.Status=='4') {
html = `<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">宸插彇娑�</button>`;
+ } else if(d.Status=='5') {
+ html = `<button class="layui-btn layui-btn-radius layui-btn-warm layui-btn-xs">绛夊緟纭</button>`;
} else {
}
diff --git a/HTML/views/SOSetting/ExportNotice.html b/HTML/views/SOSetting/ExportNotice.html
index 88b2f83..b301111 100644
--- a/HTML/views/SOSetting/ExportNotice.html
+++ b/HTML/views/SOSetting/ExportNotice.html
@@ -1272,8 +1272,12 @@
area: ['1200px', '90%'],
});
} else if (obj.event === 'outKu') {
- $("#PickingArea").val('');
- outFunction(data.SONo);
+
+ //if(data.WareHouseName =="鎴愬搧搴�"){
+ outFunction(data.SONo);
+ // }else{
+ // outFunction2(data.SONo)
+ // }
} else if (obj.event === 'beiLiaoOutKu') {
if (orderType != "1") {
@@ -1395,20 +1399,11 @@
area: ['350px', '285px'],
btn: ['纭畾', '鍙栨秷'],
yes: function (index, layero) {
- var pa = $('#PickingArea').val();
- console.log(pa)
+
if (isChongFu == true) {
isChongFu = false;
- if (pa == null) {
- layer.msg("璇峰嬁閲嶅鐐瑰嚮", {
- icon: 2,
- time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
- });
- return;
- }
- console.log($("#PickingArea").val())
- if ($("#PickingArea").val() == '') {
+ if ($("#PickingArea").val() == '' || $('#PickingArea').val() == null) {
layer.msg("璇烽�夋嫨鍑哄簱鍙�", {
icon: 2,
time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
@@ -1419,7 +1414,7 @@
var param = {
soNo: soNo,
//unstackingMode: $('#UnstackWay').val(),
- outMode: pa,
+ outMode: $("#PickingArea").val(),
//loadingAddre: $('#LoadingArea').val()
};
console.log(param);
@@ -1454,6 +1449,47 @@
}
});
}
+
+ //涓嶉�夋嫨鍑哄簱鍙g殑寮圭獥鏂规硶
+ function outFunction2(soNo) {
+ layer.confirm('纭畾褰撳墠鍗曟嵁鍑哄簱鍚楋紵', function (index) {
+
+ if (isChongFu == true) {
+ isChongFu = false;
+
+ var param = {
+ soNo: soNo,
+ };
+ console.log(param);
+ sendData(IP + "/DownApi/IssueOutHouse", param, 'get', function (res) {
+ console.log(res);
+ if (res.code == 0) { //鎴愬姛
+ layer.msg(res.msg, {
+ icon: 1,
+ time: 3000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ refreshTable();
+ isChongFu = true;
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ refreshTable();
+ isChongFu = true;
+ });
+ }
+ layer.close(index);
+ });
+ } else {
+ layer.msg("璇峰嬁閲嶅鐐瑰嚮", {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ }
+ });
+ }
//閫夋嫨鍑哄簱鍙e脊绐楁柟娉�
function beiLiaoOutFunction(soNo) {
diff --git a/HTML/views/StatisticalReport/BoxInfor.html b/HTML/views/StatisticalReport/BoxInfor.html
index 24a9b54..dcefb00 100644
--- a/HTML/views/StatisticalReport/BoxInfor.html
+++ b/HTML/views/StatisticalReport/BoxInfor.html
@@ -225,7 +225,21 @@
</div>
</div>
-
+ <script type="text/html" id="buttonTpl">
+ {{# if(d.Status=='0'){ }}
+ <button class="layui-btn layui-btn-radius layui-btn-danger layui-btn-xs">寰呭垎閰�</button>
+ {{# } else if(d.Status == '1') { }}
+ <button class="layui-btn layui-btn-radius layui-btn-xs">閮ㄥ垎鍒嗛厤</button>
+ {{# } else if(d.Status == '2') { }}
+ <button class="layui-btn layui-btn-radius layui-btn-xs">宸插垎閰�</button>
+ {{# } else if(d.Status == '3') { }}
+ <button class="layui-btn layui-btn-radius layui-btn-xs">鐩樼偣閿佸畾</button>
+ {{# } else if(d.Status == '4') { }}
+ <button class="layui-btn layui-btn-radius layui-btn-xs">绉诲簱閿佸畾</button>
+ {{# } else if(d.Status == '5') { }}
+ <button class="layui-btn layui-btn-radius layui-btn-xs layui-btn-danger">寮傚父閿佸畾</button>
+ {{# } }}
+ </script>
<script type="text/html" id="BoxStatus">
{{# if(d.Status=='0'){ }}
<p>鏈粍鎵�</p>
@@ -363,6 +377,7 @@
{ field: 'LockQty', title: '閿佸畾鏁伴噺', align: 'center',width: 90, },
{ field: 'FrozenQty', title: '鍐荤粨鏁伴噺', align: 'center',width: 90, },
+ { field: 'Status', title: '搴撳瓨鐘舵��', align: 'center', templet: '#buttonTpl', width: 90, },
{ field: 'InspectStatus', templet: '#InspectStatus1', title: '璐ㄦ鐘舵��', align: 'center' ,width: 100,},
{ field: 'InspectMark', title: '鎶芥鏍囪', align: 'center', templet: '#InspectMarkStatus' ,width: 100,},
{ field: 'BitPalletMark', title: '闆舵墭鏍囪', align: 'center', templet: '#BitPalletMarkStatus',width: 100,},
diff --git a/Pda/View/HouseDataSetting/ConfirmReceipt.html b/Pda/View/HouseDataSetting/ConfirmReceipt.html
new file mode 100644
index 0000000..d62155e
--- /dev/null
+++ b/Pda/View/HouseDataSetting/ConfirmReceipt.html
@@ -0,0 +1,177 @@
+<!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="productEnterConfirm.html">鍏ュ簱淇℃伅纭</a></li> -->
+ <li><a href="../login.html">閲嶆柊鐧诲綍</a></li>
+ </ul>
+ </div>
+
+ <div id="" class="layout-bill-info">
+ <form class="layui-form" action="">
+ <div id="layout-pallet" class="layui-form-item layout-input">
+ <label class="layui-form-label" lang>鎵樼洏鏉$爜锛�</label>
+ <div class="layui-input-block">
+ <input id="palletNo" type="text" lay-verify="required" lang langholder
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div id="layout-soNo" class="layui-form-item layout-input">
+ <label class="layui-form-label">鍑哄簱鍗曪細</label>
+ <div class="layui-input-block">
+ <input id="SoNo" type="text" disabled lang langholder
+ placeholder="" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <table class="layout-tbl-submit" border="" cellspacing="" cellpadding="">
+ <tr>
+ <td style="width: 23%;"></td>
+ <td>
+ <button class="layout-btn layout-btn-red" lang type="button" lay-submit
+ lay-filter="formUnbind">鏀惰揣</button>
+ </td>
+ <td style="width: 33%;"></td>
+ </tr>
+ </table>
+ </form>
+ </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>
+ layui.use(['form', 'jquery'], function() {
+ var form = layui.form
+
+
+ //褰撴墭鐩樻潯鐮佽緭鍏ユ鏂囨湰鏀瑰彉鏃�,妫�鏌ヤ竴涓嬫墭鐩樼姸鎬�
+ $("#palletNo").on('input', function () {
+
+ if ($("#palletNo").val() == "" || $("#palletNo").val().length < 8) {
+ return
+ }
+ if ($("#palletNo").val().length >= 8) {
+ $("#palletNo").val($("#palletNo").val().substr(-8))
+ }
+ checkPalletState()
+ })
+ //妫�鏌ユ墭鐩樼姸鎬�
+ function checkPalletState() {
+ $('#SoNo').val('');
+ var param = {
+ "PalletNo": $("#palletNo").val()
+ }
+ synData(IP + "/PdaCr/GetReceiptSoNoByPallet", param, 'post', function (res) {
+
+ if (res.code == 0) { //鎴愬姛
+ $('#SoNo').val(res.data);
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () { });
+ }
+ });
+ }
+
+ var isChongFu = true;
+ form.on('submit(formUnbind)', function(data) {
+
+ if (!$("#palletNo").val()) {
+ layer.msg('璇锋壂鎻忔墭鐩樻潯鐮�', {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
+ if (isChongFu == true) {
+ isChongFu = false;
+ var param = {
+ "PalletNo":$("#palletNo").val(),
+ }
+ sendData(IP + "/PdaCr/ConfirmReceipt", param, 'post', function(res) {
+ if (res.code == 0) { //鎴愬姛
+ layer.msg("鎴愬姛", {
+ icon: 1,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ isChongFu = true;
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function() {isChongFu = true;});
+ }
+ });
+ return false; //闃绘琛ㄥ崟璺宠浆銆傚鏋滈渶瑕佽〃鍗曡烦杞紝鍘绘帀杩欐鍗冲彲銆�
+ }else{
+ layer.msg("璇峰嬁閲嶅鐐瑰嚮", {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ }
+
+ });
+
+ // form.verify({
+ // stock: [/^[\S]{6}$/, '鎵樼洏鏉$爜蹇呴』涓哄叚浣嶅瓧绗�']
+ // });
+
+ $("#menuImg").click(function(e){
+ //console.log("menuImg")
+ e.stopPropagation()
+
+ if($("#menuList").is(":hidden")){
+ $("#menuList").show()
+ }else{
+ $("#menuList").hide()
+ }
+ })
+ $('body').click(function(){
+ // //console.log("body")
+ $("#menuList").hide()
+ })
+
+ })
+ </script>
+ </body>
+</html>
diff --git a/Pda/View/SoSetting/pinTuoOut.html b/Pda/View/SoSetting/pinTuoOut.html
index 2475d5f..d58ad03 100644
--- a/Pda/View/SoSetting/pinTuoOut.html
+++ b/Pda/View/SoSetting/pinTuoOut.html
@@ -1259,7 +1259,7 @@
console.log(2)
updateSkuLotNoList2();
updateQtyList2();
- // getBar2();
+ getBar2();
// GetDataInfo();
}
@@ -1315,14 +1315,14 @@
for (var i = 0; i < res.data.length; i++) {
if (i == 0) {
$("#skuLotNo2").append('<option value =' + res.data[i].SoDetailId + ' selected>' + res.data[i].SkuName);
- if (res.data[i].LotNo == null) {
+ if (res.data[i].LotNo != null) {
$("#skuLotNo2").append(" - " + res.data[i].LotNo);
}
$("#skuLotNo2").append('</option>');
} else {
$("#skuLotNo2").append('<option value =' + res.data[i].SoDetailId + '>' + res.data[i].SkuName);
- if (res.data[i].LotNo == null) {
+ if (res.data[i].LotNo != null) {
$("#skuLotNo2").append(" - " + res.data[i].LotNo);
}
$("#skuLotNo2").append('</option>');
diff --git a/Wms/Model/ModelVm/PdaVm/PdaCrVm.cs b/Wms/Model/ModelVm/PdaVm/PdaCrVm.cs
index fd24b15..ba58759 100644
--- a/Wms/Model/ModelVm/PdaVm/PdaCrVm.cs
+++ b/Wms/Model/ModelVm/PdaVm/PdaCrVm.cs
@@ -82,4 +82,10 @@
public decimal DevanQty { get; set; }
public string BoxNo { get; set; }
}
+
+ public class PdaReceiptVm
+ {
+ public string PalletNo { get; set; }
+ }
+
}
diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index 16cb84d..33bac31 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -149,6 +149,10 @@
}
var labelQty = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNDetailNo == id).Sum(m => m.Qty + (m.SamplingQty == null? 0: m.SamplingQty));
+ if (labelQty == null)
+ {
+ labelQty = 0;
+ }
var qty = detail.Qty - labelQty;
if (qty<0)
{
diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
index 22739af..eb93eca 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -1686,90 +1686,99 @@
try
{
//褰撳墠浠诲姟淇℃伅
- var task = await Db.Queryable<LogTask>().FirstAsync(m => m.TaskNo == taskNo && m.IsDel == "0");
+ var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
if (task == null)
{
- throw Oops.Bah($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
+ throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
}
if (task.Status == "2")
{
- throw Oops.Bah("褰撳墠浠诲姟宸插畬鎴�");
+ throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
}
Db.BeginTran();
//搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
- var stockDetail = await Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToListAsync();
- var locateNo = stockDetail.Select(m => m.LocatNo).Distinct().FirstOrDefault();
-
- //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅
- var locate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == locateNo);
-
- //鏇存敼浠诲姟
- task.Status = "2";//浠诲姟鐘舵��
- task.IsSend = 0;
- task.IsCancel = 0;
- task.IsFinish = 0;
- task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
- Db.Updateable(task).ExecuteCommand();
- // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
- locate.Status = "0";
- Db.Updateable(locate).ExecuteCommand();
-
- //鐩爣鍌ㄤ綅淇℃伅
- var endLocate = await Db.Queryable<SysStorageLocat>().FirstAsync(m => m.LocatNo == task.EndLocat);
- if (endLocate != null)
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
+ //褰撳墠浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅
+ //褰撳墠浠诲姟涓殑鍘熷偍浣�
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
+ if (locate == null)
{
- if (endLocate.Status != "0")
+ throw new Exception($"WMS绯荤粺涓病鏈夎{task.StartLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
+ }
+ var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
+ if (locate2 == null)
+ {
+ throw new Exception($"WMS绯荤粺涓病鏈夎{task.EndLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
+ }
+ //骞冲簱涓偍浣嶉泦鍚�
+ var pingKuLocate = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == "W04" && m.IsDel == "0").ToList();
+ //杞﹂棿鏆傚瓨鍖�
+ var pingKuLocate2 = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == "W04" && m.IsDel == "0" && (m.AreaNo == "B06" || m.AreaNo == "B07")).ToList();
+ var pingKuList = pingKuLocate.Select(m => m.LocatNo).ToList();
+ try
+ {
+
+ task.Status = "2";//浠诲姟鐘舵��
+ //鍒ゆ柇璧峰鐩爣浣嶇疆閮芥槸骞冲簱
+ if (pingKuList.Contains(task.StartLocat) && pingKuList.Contains(task.EndLocat))
{
- throw Oops.Bah("鐩爣鍌ㄤ綅鐘舵�侀潪绌哄偍浣�");
+ task.Status = "5";
}
- }
- //鏇存敼搴撳瓨鏄庣粏
- foreach (var item in stockDetail)
- {
- item.Status = "0";//寰呭垎閰�
- item.LockQty = 0;//閿佸畾鏁伴噺鏀逛负0
- if (endLocate != null)//鏈夌洰鏍囧偍浣嶈鏄庣Щ鍒板叾浠栧尯鍩熷偍浣�
- {
- item.LocatNo = endLocate.LocatNo;//鍌ㄤ綅鏇存敼
- item.WareHouseNo = endLocate.WareHouseNo;//鎵�灞炰粨搴撴洿鏀�
- item.RoadwayNo = endLocate.RoadwayNo;//鎵�灞炲贩閬撴洿鏀�
- item.AreaNo = endLocate.AreaNo;//鎵�灞炲尯鍩熸洿鏀�
- }
- else//娌℃湁鐩爣鍌ㄤ綅璇存槑绉诲埌鍏ュ簱鍙�
- {
- item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
- item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
- item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
- item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
- }
- await Db.Updateable(item).ExecuteCommandAsync();
- //鏇存敼搴撳瓨鎬昏〃
- var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
- stock.LockQty -= (decimal)item.Qty;
- await Db.Updateable(stock).ExecuteCommandAsync();
- }
- if (endLocate != null)
- {
- //鏇存敼鐩爣鍌ㄤ綅鐘舵��
- endLocate.Status = "1";//鏈夌墿鍝�
- await Db.Updateable(endLocate).ExecuteCommandAsync();
- }
+ task.IsSend = 0;
+ task.IsCancel = 0;
+ task.IsFinish = 0;
+ task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+ Db.Updateable(task).ExecuteCommand();
- if (_userManager.UserId != 0)
- {
- //娣诲姞鎿嶄綔鏃ュ織璁板綍
- //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
- await _operation.AddLogOperationCr(new OperationInputVm()
+ #region 淇敼鍌ㄤ綅鐘舵��
+
+ if (!pingKuList.Contains(task.StartLocat))
{
- ParentName = "搴撳唴浣滀笟",
- MenuName = "搴撳唴鏃ュ織",
- FkNo = taskNo,
- TypeName = "瀹屾垚",
- Msg = $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�"
- });
+ //鍘熷偍浣嶆敼涓虹┖鍌ㄤ綅 0
+ locate.Status = "0";
+ Db.Updateable(locate).ExecuteCommand();
+ }
+
+
+ //鐩爣鍌ㄤ綅鏀逛负鏈夎揣鐗� 1
+ locate2.Status = "1";
+ Db.Updateable(locate2).ExecuteCommand();
+ //鍒ゆ柇鐩爣浣嶇疆濡傛灉涓嶆槸鏄溅闂存殏瀛樺尯 骞朵笖鏄钩搴撳偍浣� 鏇存敼搴撳瓨浣嶇疆
+ if (pingKuLocate2.Count(m=>m.LocatNo == task.EndLocat)<=0 && pingKuList.Contains(task.EndLocat))
+ {
+ foreach (var item in stockDetail)
+ {
+ item.WareHouseNo = locate2.WareHouseNo;
+ item.AreaNo = locate2.AreaNo;
+ item.RoadwayNo = locate2.RoadwayNo;
+ item.LocatNo = locate2.LocatNo;
+ }
+ Db.Updateable(stockDetail).ExecuteCommand();
+ }
+
+
+ #endregion
+ if (_userManager.UserId != 0)
+ {
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ //var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
+ await _operation.AddLogOperationCr(new OperationInputVm()
+ {
+ ParentName = "搴撳唴浣滀笟",
+ MenuName = "搴撳唴鏃ュ織",
+ FkNo = taskNo,
+ TypeName = "瀹屾垚",
+ Msg = $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�"
+ });
+ }
+ Db.CommitTran();
}
- Db.CommitTran();
+ catch (Exception ex)
+ {
+ Db.RollbackTran();
+ throw new Exception(ex.Message);
+ }
}
catch (Exception ex)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 9de08a8..09749f0 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -128,39 +128,8 @@
var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
- if (pack == null)
- {
- throw new Exception("鑾峰彇鐗╂枡鍖呰淇℃伅澶辫触锛岃鏍稿疄!");
- }
- if (pack.L5Num.HasValue)
- {
- pNum = (int)pack.L5Num;
- bNum = (int)pack.L4Num;
- }
- else if (pack.L4Num.HasValue)
- {
- pNum = (int)pack.L4Num;
- bNum = (int)pack.L3Num;
- }
- else if (pack.L3Num.HasValue)
- {
- pNum = (int)pack.L3Num;
- bNum = (int)pack.L2Num;
- }
- else if (pack.L2Num.HasValue)
- {
- pNum = (int)pack.L2Num;
- bNum = (int)pack.L1Num;
- }
- else if (pack.L1Num.HasValue)
- {
- pNum = (int)pack.L1Num;
- bNum = (int)pack.L1Num;
- }
- if (pNum == 0 || bNum == 0)
- {
- throw new Exception($"缁戝畾澶辫触锛寋detail.SkuNo}鐗╁搧鍖呰鏈壘鍒帮紒");
- }
+ //鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
+ new Common().GetPackQtyInfo(detail.PackagNo, ref pNum, ref bNum);
#endregion
@@ -1123,6 +1092,7 @@
{
try
{
+ Db.BeginTran();
#region 鍒ゆ柇
//0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 8锛氱敓浜ч��鏂欏叆搴�
@@ -1197,44 +1167,13 @@
#region 鍖呰
var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == detail.SkuNo);
- var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == detail.PackagNo); // liudl 鐢盨ku鍖呰缂栧彿鍙樻洿涓哄叆搴撳崟鏄庣粏鍖呰缂栧彿
+ //var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == detail.PackagNo); // liudl 鐢盨ku鍖呰缂栧彿鍙樻洿涓哄叆搴撳崟鏄庣粏鍖呰缂栧彿
var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
-
- if (pack == null)
- {
- throw new Exception("鑾峰彇鐗╂枡鍖呰澶辫触锛岃鏍稿疄!");
- }
- if (pack.L5Num.HasValue)
- {
- pNum = (int)pack.L5Num;
- bNum = (int)pack.L4Num;
- }
- else if (pack.L4Num.HasValue)
- {
- pNum = (int)pack.L4Num;
- bNum = (int)pack.L3Num;
- }
- else if (pack.L3Num.HasValue)
- {
- pNum = (int)pack.L3Num;
- bNum = (int)pack.L2Num;
- }
- else if (pack.L2Num.HasValue)
- {
- pNum = (int)pack.L2Num;
- bNum = (int)pack.L1Num;
- }
- else if (pack.L1Num.HasValue)
- {
- pNum = (int)pack.L1Num;
- bNum = (int)pack.L1Num;
- }
- if (pNum == 0 || bNum == 0)
- {
- throw new Exception($"缁戝畾澶辫触锛寋detail.SkuNo}鐗╁搧鍖呰鏈壘鍒帮紒");
- }
+ //鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
+ new Common().GetPackQtyInfo(detail.PackagNo, ref pNum, ref bNum);
+
#endregion
@@ -1330,10 +1269,16 @@
{
tags = "1";
}
-
+ //楠岃瘉搴撳瓨鎵樼洏鏄惁鏈夎创鏍囩墿鏂�
+ var skuStr = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0" && m.IsPasteCode == "1").Select(m => m.SkuNo).ToList();
+ var sdHave = Db.Queryable<DataStockDetail>().Count(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && skuStr.Contains(m.SkuNo));
+ if (sdHave>0)
+ {
+ throw new Exception("褰撳墠鎵樼洏鍚湁璐存爣鐗╂枡淇℃伅锛屼笉鑳界粍鎵�");
+ }
// 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�
var sd1 = Db.Queryable<DataStockDetail>()
- .First(m => m.IsDel == "0" && m.ASNDetailNo == bind.ASNDetailNo && m.PalletNo == model.PalletNo && m.LotNo == bind.LotNo);
+ .First(m => m.IsDel == "0" && m.ASNDetailNo == bind.ASNDetailNo && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo && m.LotNo == bind.LotNo);
var sdId1 = 0;
if (sd1 != null)
{
@@ -1426,8 +1371,6 @@
}
#endregion
-
-
#region 鏇存敼缁勬墭淇℃伅
var isSample = "0";//鏄惁鍙栨牱
@@ -1497,10 +1440,12 @@
Db.Updateable(notice).ExecuteCommand();
#endregion
- #region 搴撳瓨鏄庣粏
+ #region 鏇存敼搴撳瓨鏄庣粏鏁伴噺
+
sd1.Qty = bind.Qty;
//鏇存敼搴撳瓨鏄庣粏鏁伴噺
Db.Updateable(sd1).Where(m => m.Id == sdId1).ExecuteCommand();
+
#endregion
#region 搴撳瓨
@@ -1574,9 +1519,12 @@
sqlStr += $"insert into LogPalletTrack values('{model.PalletNo}','{model.AsnNo}','缁勭洏','0',getDate(),{userId},NULL,NULL);";
Db.Ado.ExecuteCommand(sqlStr);
new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鎵樼洏缁戝畾", model.AsnNo, "娣诲姞", $"娣诲姞浜嗘墭鐩樼爜涓猴細{model.PalletNo}鐨勭粍鐩樹俊鎭�", userId);
+
+ Db.CommitTran();
}
catch (Exception e)
{
+ Db.RollbackTran();
throw new Exception(e.Message);
}
}
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
index a0e216c..142058b 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -6,6 +6,7 @@
using System.Threading.Tasks;
using Dm;
using Model.InterFaceModel;
+using Model.ModelDto;
using Model.ModelDto.BllCheckDto;
using Model.ModelDto.PdaDto;
using Newtonsoft.Json;
@@ -689,7 +690,7 @@
{
throw Oops.Bah("鎵樼洏鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
}
- if (models.WareHouseNo != "W02")
+ if (models.WareHouseNo != "W04")
{
throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴,璇锋鏌�!");
}
@@ -719,7 +720,7 @@
{
throw Oops.Bah("鎵樼洏鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
}
- if (models.WareHouseNo != "W02")
+ if (models.WareHouseNo != "W04")
{
throw Oops.Bah("璇ユ墭鐩樻湭鍦ㄥ钩搴撳唴,璇锋鏌�!");
}
@@ -729,14 +730,9 @@
throw Oops.Bah("鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
}
- if (storageLocat.AreaNo.Contains("B0"))
- {
- storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo.Contains("B0") && w.WareHouseNo == "W02").OrderBy(o => o.AreaNo).ToListAsync();
- }
- else
- {
- storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo.Contains("B1") && w.WareHouseNo == "W02").OrderBy(o => o.AreaNo).ToListAsync();
- }
+
+ storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo != storageLocat.AreaNo && w.WareHouseNo == "W04").OrderBy(o => o.AreaNo).ToListAsync();
+
}
return storageArea;
}
@@ -817,7 +813,7 @@
{
throw Oops.Bah("鎵�閫夊尯鍩熶俊鎭笉瀛樺湪,璇锋鏌�!");
}
- EndLocat = await GetLocat(areaNo, stockDetail.SkuNo, stockDetail.LotNo, palletNo);
+ EndLocat = await GetLocat(areaNo);
}
else
{
@@ -846,7 +842,7 @@
var storageLocatEnd = new SysStorageLocat();
if (!string.IsNullOrEmpty(areaNo))
{
- storageLocatEnd = await Db.Queryable<SysStorageLocat>().FirstAsync(w => w.IsDel == "0" && w.LocatNo == EndLocat && w.Flag == "0" && w.Status == "0");
+ storageLocatEnd = await Db.Queryable<SysStorageLocat>().FirstAsync(w => w.IsDel == "0" && w.LocatNo == EndLocat && w.Flag == "0");
if (storageLocatEnd == null)
{
throw Oops.Bah("鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
@@ -1019,7 +1015,7 @@
throw Oops.Bah($"鎵樼洏鍙凤細{item.PalletNo}鎵�鍦ㄧ殑鍌ㄤ綅淇℃伅涓嶅瓨鍦�,璇锋鏌�!");
}
//鑾峰彇鐩爣鍌ㄤ綅
- EndLocat = await GetLocat(areaNo, item.SkuNo, item.LotNo, palletNo);
+ EndLocat = await GetLocat(areaNo);
if (string.IsNullOrEmpty(EndLocat))
{
throw Oops.Bah("鍒嗛厤鐩爣鍌ㄤ綅澶辫触,璇锋鏌�!");
@@ -1101,28 +1097,23 @@
/// <param name="skuNo"></param>
/// <param name="lotNo"></param>
/// <returns></returns>
- private async Task<string> GetLocat(string areaNo, string skuNo, string lotNo, string palletNo, string hasLocatNoList = "")
+ private async Task<string> GetLocat(string areaNo)
{
string endLocat = string.Empty;//鐩爣鍌ㄤ綅
- //褰撶劧鍖哄煙鎵�鏈夊偍浣嶄俊鎭�
- var storageLocatList = await Db.Queryable<SysStorageLocat>().Where(w => w.WareHouseNo == "W02" && w.AreaNo == areaNo).ToListAsync();
- //鍚屽尯鍩熷悓鎵规鐗╂枡鐨勫偍浣嶄俊鎭�
- List<string> locatList = await Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.SkuNo == skuNo && w.LotNo == lotNo && w.WareHouseNo == "W02" && w.AreaNo == areaNo && w.PalletNo != palletNo)
- .OrderByDescending(o => o.LocatNo).Select(s => s.LocatNo).Distinct().ToListAsync();
- foreach (var item in locatList)
- {
- var locatInfo = storageLocatList.Where(w => w.LocatNo == item).First();
+ //褰撳墠鍖哄煙鎵�鏈夊偍浣嶄俊鎭�
+ var storageLocatList = await Db.Queryable<SysStorageLocat>().Where(w => w.WareHouseNo == "W04" && w.AreaNo == areaNo).ToListAsync();
+
+ var locatInfo2 = storageLocatList.Where(w => w.IsDel == "0" && w.Flag == "0" && w.Status == "0")
+ .OrderByDescending(m => m.Layer).OrderByDescending(m => m.Column).OrderByDescending(m => m.Row).First();
- var locatInfo2 = storageLocatList.Where(w => w.IsDel == "0" && w.Status == "0" && w.Flag == "0" && w.LocatNo != locatInfo.LocatNo && w.Row == locatInfo.Row && !hasLocatNoList.Contains(w.LocatNo))
- .OrderByDescending(o => o.Column).First();
- if (locatInfo2 != null)
- {
- endLocat = locatInfo2.LocatNo;
- }
+ if (locatInfo2 != null)
+ {
+ endLocat = locatInfo2.LocatNo;
}
+
if (string.IsNullOrEmpty(endLocat))
{
- var locatInfo3 = storageLocatList.Where(w => w.IsDel == "0" && w.Flag == "0" && w.Status == "0" && !hasLocatNoList.Contains(w.LocatNo))
+ var locatInfo3 = storageLocatList.Where(w => w.IsDel == "0" && w.Flag == "0")
.OrderByDescending(m => m.Layer).OrderByDescending(m => m.Column).OrderByDescending(m => m.Row).First();
if (locatInfo3 != null)
@@ -1216,7 +1207,7 @@
}
#endregion
- #region 绠辩爜鎷嗙璐存爣
+ #region 绠辩爜鎷嗙璐存爣銆佷汉宸ョ‘璁ゆ敹璐�
/// <summary>
/// 鎷嗙娣诲姞鏍囩
/// </summary>
@@ -1252,7 +1243,18 @@
Db.Updateable(boxInfo).ExecuteCommand();
var boxStr = boxInfo.BoxNo.Substring(0, boxInfo.BoxNo.Length - 6);//鑾峰彇绠辩爜鍓嶇紑-闄ゅ悗鍏綅娴佹按澶�
- var maxBoxCode = Db.Queryable<BllBoxInfo>().Where(m => m.BoxNo.Contains(boxStr) && m.IsDel == "0" && m.Origin == "WMS鐢熸垚").Max(a => a.BoxNo);
+ var maxBoxCode1 = Db.Queryable<BllBoxInfo>().Where(m => m.BoxNo.Contains(boxStr) && m.IsDel == "0" && m.Origin == "WMS鐢熸垚").Max(a => a.BoxNo);
+
+ var maxBoxCode2 = Db.Queryable<DataBoxInfo>().Where(m => m.BoxNo.Contains(boxStr) && m.IsDel == "0").Max(a => a.BoxNo);
+ //濡傛灉缁撴灉涓�0锛屽垯璇存槑涓や釜瀛楃涓茬浉绛夛紱 ABC BCE
+ //濡傛灉缁撴灉灏忎簬0锛屽垯璇存槑绗竴涓瓧绗︿覆灏忎簬绗簩涓瓧绗︿覆锛�
+ //濡傛灉缁撴灉澶т簬0锛屽垯璇存槑绗竴涓瓧绗︿覆澶т簬绗簩涓瓧绗︿覆銆�
+ var maxBoxCode = maxBoxCode1;
+ var bol = String.CompareOrdinal(maxBoxCode1, maxBoxCode2);
+ if (bol<0)
+ {
+ maxBoxCode = maxBoxCode2;
+ }
var boxNoNew = maxBoxCode.Substring(0, maxBoxCode.Length - 6) + (int.Parse(maxBoxCode.Substring(maxBoxCode.Length - 6, 6)) + 1).ToString().PadLeft(6, '0');
// 娣诲姞鏂扮鐮佷俊鎭�
@@ -1296,6 +1298,121 @@
throw new Exception(e.Message);
}
}
+
+
+ public string GetReceiptSoNoByPallet(string palletNo)
+ {
+ try
+ {
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo).GroupBy(m=>m.SONo).Select(m=>m.SONo).ToList();
+ if (stockDetail.Count == 0)
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒版墭鐩樺簱瀛樹俊鎭�");
+ }
+ if (stockDetail.Count != 1)
+ {
+ throw new Exception("搴撳瓨鎵樼洏涓嶆槸鍞竴鍑哄簱鍗�");
+ }
+ var detail = stockDetail.First();
+ if (string.IsNullOrWhiteSpace(detail))
+ {
+ throw new Exception("鎵樼洏娌℃湁鍑哄簱鍗曚俊鎭�");
+ }
+ var task = Db.Queryable<LogTask>().First(m => m.PalletNo == palletNo && m.IsDel == "0" && m.Status == "5");
+ if (task == null)
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒版墭鐩樹换鍔′俊鎭�");
+ }
+ if (task.Status != "5")
+ {
+ throw new Exception("浠诲姟鐘舵�佷笉鏄瓑寰呯‘璁�");
+ }
+ return detail;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+
+ /// <summary>
+ /// 浜哄伐纭鏀惰揣
+ /// </summary>
+ /// <param name="palletNo"></param>
+ /// <param name="userId"></param>
+ public void ConfirmReceipt(string palletNo, int userId)
+ {
+ try
+ {
+ Db.BeginTran();
+ var task = Db.Queryable<LogTask>().First(m => m.PalletNo == palletNo && m.IsDel == "0" && m.Status == "5");
+ if (task == null)
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒版墭鐩樹换鍔′俊鎭�");
+ }
+ if (task.Status != "5")
+ {
+ throw new Exception("浠诲姟鐘舵�佷笉鏄瓑寰呯‘璁�");
+ }
+ //浠诲姟鐘舵�佸彉鏇翠负鎵ц瀹屾垚
+ task.Status = "2";
+ Db.Updateable(task).ExecuteCommand();
+ var locatList = Db.Queryable<SysStorageLocat>().Where(m=>m.WareHouseNo == "W04" && (m.AreaNo == "B06" || m.AreaNo == "B07") && m.IsDel == "0").ToList();
+ var locat = locatList.FirstOrDefault(m => m.LocatNo == task.EndLocat);
+ //鍒ゆ柇鎵樼洏鍌ㄤ綅鏄惁鍦ㄨ溅闂�
+ if (locat == null)
+ {
+ throw new Exception("鍌ㄤ綅淇℃伅娌℃湁鍦ㄨ溅闂村伐浣嶄笂");
+ }
+ locat.Status = "0";
+ Db.Updateable(locat).ExecuteCommand();
+ //鍒ゆ柇鎵樼洏淇℃伅
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList();
+ foreach (var item in stockDetail)
+ {
+ if (item.UDF5 != "1" || string.IsNullOrWhiteSpace(item.SONo))
+ {
+ continue;
+ }
+
+ //item.WareHouseNo = "";
+ //item.RoadwayNo = "";
+ //item.AreaNo = "";
+ item.LocatNo = "";
+ item.PalletNo = "";
+ item.LockQty = 0; // 閿佸畾鏁伴噺鏇翠负0
+ item.Status = "0"; // 鐘舵�佸彉涓哄緟鍒嗛厤
+ var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.StockDetailId == item.Id).ToList();
+ foreach (var item2 in boxInfo)
+ {
+ item2.Status = "2"; //鐘舵�佸彉涓哄凡鍏ュ簱
+ }
+
+ Db.Updateable(boxInfo).ExecuteCommand();
+ }
+ Db.Updateable(stockDetail).ExecuteCommand();
+ //鎵樼洏鍙樻洿鐘舵��
+ var pallet = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
+ if (pallet == null)
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒版墭鐩樹俊鎭�");
+ }
+ pallet.Status = "0";
+ Db.Updateable(pallet).ExecuteCommand();
+ //娣诲姞鎿嶄綔鏃ュ織
+ new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "鎿嶄綔鏃ュ織", palletNo, "缂栬緫", $"杞﹂棿鏀惰揣锛歿palletNo}鎵樼洏鏀惰揣", userId);
+ Db.CommitTran();
+ }
+ catch (Exception e)
+ {
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+ }
+
+
+
#endregion
}
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 5a9d722..512b2d9 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -118,20 +118,20 @@
#region 鎷兼墭淇℃伅
var sdId = 0;
bool isNew = false;
- var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew);
+
+ var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo);
+
if (pinStockDetail != null)
{
if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐�
{
- if (pinStockDetail.SONo != notice.SONo)
+ var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id!= pinStockDetail.Id).ToList();
+ if (pinStockDetails.Count(m=>m.SONo != notice.SONo) > 0)
{
throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
}
- if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo)
- {
- isNew = true;
- }
}
+
sdId = pinStockDetail.Id;
}
else
@@ -147,6 +147,7 @@
newPalletInfo.Status = "1";
await Db.Updateable(newPalletInfo).ExecuteCommandAsync();
}
+
var sd = new DataStockDetail();
if (isNew)
{
@@ -189,7 +190,7 @@
sd.IsDel = "0";
sd.CreateUser = userId;
sd.CreateTime = nowDate;
-
+ sd.UDF5 = "1";
//鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅
sdId = await Db.Insertable(sd).ExecuteReturnIdentityAsync();
}
@@ -269,6 +270,7 @@
if (palletNo != palletNoNew)
{
+ var locateStr = stockDetail.LocatNo;
//鍒犻櫎鍘熸墭鐩樺簱瀛樻槑缁�
await Db.Deleteable(stockDetail).ExecuteCommandAsync();
@@ -280,10 +282,19 @@
}
pallet.Status = "0";
await Db.Updateable(pallet).ExecuteCommandAsync();
+
+ //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣�
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == locateStr);
+ if (locate != null)
+ {
+ locate.Status = "0";
+ Db.Updateable(locate).ExecuteCommand();
+ }
}
else
{
stockDetail.SONo = soNo;
+ stockDetail.UDF5 = "1";
await Db.Updateable(stockDetail).ExecuteCommandAsync();
}
@@ -301,14 +312,13 @@
}
else
{
- var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐с��2锛氭暟閲忔嫞璐�
List<DataBoxInfo> boxInfos;
var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo);
if (await boxInfo.CountAsync() == 0)
{
throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佺殑淇℃伅");
}
-
+ boxInfos = boxInfo.ToList();
var comDetailList = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToListAsync();
//鏁寸鎷h揣
@@ -322,7 +332,7 @@
{
throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺");
}
- boxInfos = await boxInfo.ToListAsync();
+
foreach (var item in boxInfos)
{
if (comDetailList.Any(m => m.BoxNo == item.BoxNo))
@@ -360,9 +370,13 @@
comList.Add(completeDetail);
//淇敼搴撳瓨绠辩爜鏄庣粏
- item.StockDetailId = sdId;
- item.BindNo = null;//鎵樼洏缁戝畾鍙�
- item.PalletNo = palletNoNew;
+ if (palletNo != palletNoNew)
+ {
+ item.StockDetailId = sdId;
+ item.BindNo = null;//鎵樼洏缁戝畾鍙�
+ item.PalletNo = palletNoNew;
+ }
+
item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣
await Db.Updateable(item).ExecuteCommandAsync();
@@ -382,6 +396,7 @@
stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
stockDetail.Qty -= pickQty;
stockDetail.LockQty -= pickQty;
+ stockDetail.UDF5 = "1";
if (stockDetail.Qty == stockDetail.LockQty)
{
stockDetail.Status = "2";
@@ -397,15 +412,9 @@
if (stockDetail.Qty <= 0)
{
+ var locateStr = stockDetail.LocatNo;
await Db.Deleteable(stockDetail).ExecuteCommandAsync();
- }
- else
- {
- await Db.Updateable(stockDetail).ExecuteCommandAsync();
- }
- var num2 = await Db.Queryable<DataStockDetail>().CountAsync(m => m.IsDel == "0" && m.PalletNo == palletNo);
- if (num2 <= 0)
- {
+
//鏀瑰彉鎵樼洏鐘舵��
var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0");
if (pallet == null)
@@ -414,7 +423,20 @@
}
pallet.Status = "0";
await Db.Updateable(pallet).ExecuteCommandAsync();
+
+ //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣�
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == locateStr);
+ if (locate != null)
+ {
+ locate.Status = "0";
+ Db.Updateable(locate).ExecuteCommand();
+ }
}
+ else
+ {
+ await Db.Updateable(stockDetail).ExecuteCommandAsync();
+ }
+
//淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
noticeDetail.CompleteQty += pickQty;
await Db.Updateable(noticeDetail).ExecuteCommandAsync();
@@ -542,18 +564,15 @@
#region 鎷兼墭淇℃伅
bool isNew = false;
- var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew);
+ var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo== stockDetail.SkuNo && m.LotNo == stockDetail.LotNo);
if (pinStockDetail != null)
{
if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐�
{
- if (pinStockDetail.SONo != notice.SONo)
+ var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList();
+ if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
{
throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
- }
- if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo)
- {
- isNew = true;
}
}
}
@@ -617,6 +636,7 @@
sd.IsDel = "0";
sd.CreateUser = userId;
sd.CreateTime = nowDate;
+ sd.UDF5 = "1";
//鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅
await Db.Insertable(sd).ExecuteReturnIdentityAsync();
@@ -628,11 +648,13 @@
//淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏
pinStockDetail.Qty += int.Parse(PickQty);
pinStockDetail.LockQty += int.Parse(PickQty);
+ pinStockDetail.UDF5 = "1";
await Db.Updateable(pinStockDetail).ExecuteCommandAsync();
}
else
{
pinStockDetail.SONo = soNo;
+ pinStockDetail.UDF5 = "1";
await Db.Updateable(pinStockDetail).ExecuteCommandAsync();
}
}
@@ -697,7 +719,7 @@
await Db.Updateable(allot).ExecuteCommandAsync();
int isDel = 0;
-
+ var locateStr = stockDetail.LocatNo;
if (palletNo != palletNoNew)
{
//鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
@@ -742,6 +764,15 @@
pallet.Status = "0";
await Db.Updateable(pallet).ExecuteCommandAsync();
+
+ //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣�
+ var locate = Db.Queryable<SysStorageLocat>().First(m=>m.IsDel == "0" && m.LocatNo == locateStr);
+ if (locate!=null)
+ {
+ locate.Status = "0";
+ Db.Updateable(locate).ExecuteCommand();
+ }
+
}
//淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲�
@@ -803,10 +834,10 @@
throw Oops.Bah("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜");
}
var palletInfo = await Db.Queryable<DataStockDetail>().FirstAsync(w => w.IsDel == "0" && w.PalletNo == palletNo);
- if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
- {
- throw Oops.Bah("璇ユ墭鐩樿繕鏈嚭搴�");
- }
+ //if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1")
+ //{
+ // throw Oops.Bah("璇ユ墭鐩樿繕鏈嚭搴�");
+ //}
if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁
{
var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync();
diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index e0f4851..398927b 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -29,6 +29,7 @@
using System.Diagnostics;
using System.Drawing.Drawing2D;
using Model.ModelDto.LogDto;
+using AutoMapper.Internal;
namespace WMS.BLL.BllSoServer
{
@@ -1016,7 +1017,7 @@
var stockRst = new StockServer();
var stockDetailRst = new StockDetailServer();
Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>()
- .And(it => it.WareHouseNo == house)
+ .And(it => it.WareHouseNo == house || string.IsNullOrWhiteSpace(it.LocatNo))
.AndIF(!string.IsNullOrWhiteSpace(inspectStatus), it => inspectStatus.Contains(it.InspectStatus))
.And(m => skuStrList.Contains(m.SkuNo))
.AndIF(type == "6", m => m.OwnerNo == ownerNo)//浠e偍鍑哄簱闇�瑕佸叧鑱旇揣涓�
@@ -1249,7 +1250,7 @@
IsWave = "0",
WaveNo = "",
IsDespatch = "0",
-
+ WareHouseNo = model.WareHouseNo,
CreateUser = userId,
};
@@ -3025,9 +3026,40 @@
try
{
List<LogTask> logTaskList = new List<LogTask>();//姝ゆ鍑哄簱浠诲姟闆嗗悎锛屼负搴斿鍚屾墭鐩樹笉鍚岀墿鏂欏嚭搴�
+ var i = 0;
+ var outLocatelist1 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.AreaNo == "B02" && m.Flag == "0").ToList();
+ var outLocatelist2 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.AreaNo == "B05" && m.Flag == "0").ToList();
//寰幆鍒嗛厤鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
foreach (var item in list)
{
+ var outModeLocate = "";
+ if (outMode == "1")
+ {
+ if (i < outLocatelist1.Count)
+ {
+ outModeLocate = outLocatelist1[i].LocatNo;
+ }
+ else
+ {
+ var j = i % outLocatelist1.Count;
+
+ outModeLocate = outLocatelist1[j].LocatNo;
+ }
+ }
+ else if(outMode == "2")
+ {
+ if (i < outLocatelist1.Count)
+ {
+ outModeLocate = outLocatelist2[i].LocatNo;
+ }
+ else
+ {
+ var j = i % outLocatelist1.Count;
+
+ outModeLocate = outLocatelist2[j].LocatNo;
+ }
+ }
+
var taskNoStr = "";
// 鍌ㄤ綅鍙�
@@ -3050,7 +3082,7 @@
{
//濡傛灉涓嶅湪浠撳簱鍐咃紝褰撳墠鍒嗛厤淇℃伅鐩存帴鏇存柊鍑哄簱瀹屾垚
item.Status = "2";//鐘舵��
- item.OutMode = outMode;//鍑哄簱鍙�
+ item.OutMode = outModeLocate;//鍑哄簱鍙�
Db.Updateable(item).ExecuteCommand();
var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.SODetailNo);
if (noticeDetail != null) //鏇存柊鍑哄簱鍗曟嵁鐨勪笅鍙戞暟閲�
@@ -3072,6 +3104,7 @@
}
flagList.Add(0);
continue;
+
}
var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo && m.IsDel == "0");//褰撳墠鍑哄簱鐨勫偍浣嶄俊鎭�
@@ -3102,7 +3135,7 @@
IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
StartLocat = locate.LocatNo,//璧峰浣嶇疆
- EndLocat = outMode,//鐩爣浣嶇疆
+ EndLocat = outModeLocate,//鐩爣浣嶇疆
PalletNo = item.PalletNo,//鎵樼洏鐮�
IsSend = 1,//鏄惁鍙啀娆′笅鍙�
IsCancel = 1,//鏄惁鍙彇娑�
@@ -3110,7 +3143,7 @@
Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
- Msg = "浠�" + locate.LocatNo + "鍒�" + outMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
+ Msg = "浠�" + locate.LocatNo + "鍒�" + outModeLocate + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
};
Db.Insertable(exTask).ExecuteCommand();
logTaskList.Add(exTask);
@@ -3120,10 +3153,10 @@
PalletNo = item.PalletNo,//鎵樼洏鍙�
StartLocate = locate.LocatNo, // 璧峰浣嶇疆
StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
- EndLocate = outMode, // 鐩爣浣嶇疆
+ EndLocate = outModeLocate, // 鐩爣浣嶇疆
TaskNo = exTask.TaskNo, // 浠诲姟鍙�
TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉�
- OutMode = outMode, //鍑哄簱鍙�
+ OutMode = outModeLocate, //鍑哄簱鍙�
Order = 1,
//UnstackingMode = "unstackingMode2",//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑� 1 浜哄伐鎷h揣鍑�
@@ -3157,17 +3190,21 @@
}
locate.Status = "3"; //瑕佸嚭搴撶殑鍌ㄤ綅鏀瑰彉鐘舵�� 姝e湪鍑哄簱
Db.Updateable(locate).ExecuteCommand();
+ var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//褰撳墠鍑哄簱鐨勭洰鏍囧偍浣嶄俊鎭�
+ locate2.Status = "4";
+ Db.Updateable(locate2).ExecuteCommand();
item.TaskNo = taskNoStr; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛�
//item.UnstackingMode = unstackingMode2;//鎷嗗灈鏂瑰紡
- item.OutMode = outMode;//鍑哄簱鍙�
+ item.OutMode = outModeLocate;//鍑哄簱鍙�
//item.LoadingAddre = unstackingMode2 == "0" ? loadingAddre : "";//瑁呰溅鍙�
Db.Updateable(item).ExecuteCommand();
#endregion
flagList.Add(0);
+ i++;
}
else if (locate.Status == "3") //鍑哄簱涓�
{
@@ -4100,7 +4137,6 @@
return bl;
}
-
private class addreClass
{
public string slotCode { get; set; }
@@ -4113,6 +4149,289 @@
public string AisleOne { get; set; }
}
+
+ /// <summary>
+ /// wcs杩斿洖鐨勬垚鍔熶俊鍙凤紙鍑哄簱鎴愬姛锛�
+ /// </summary>
+ /// <param name="taskNo"></param>
+ /// <param name="userId"></param>
+ /// <exception cref="Exception"></exception>
+ public void ExportSuccess(string taskNo, int userId)
+ {
+ try
+ {
+ //褰撳墠浠诲姟淇℃伅
+ var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
+ if (task == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
+ }
+ if (task.Status == "2")
+ {
+ throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
+ }
+ Db.BeginTran();
+ //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
+ var locateNo = stockDetail.Select(m => m.LocatNo).Distinct().FirstOrDefault();
+ //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo);
+ try
+ {
+ task.Status = "2";//浠诲姟鐘舵��
+ task.IsSend = 0;
+ task.IsCancel = 0;
+ task.IsFinish = 0;
+ task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+ Db.Updateable(task).ExecuteCommand();
+ if (locate != null)
+ {
+ locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
+ Db.Updateable(locate).ExecuteCommand();
+ }
+ foreach (var item in stockDetail)
+ {
+ if (item.SkuNo == "100099")//鍒ゆ柇鏄惁鏄┖鎵樺嚭搴�
+ {
+ //鍒ゆ柇鎬诲簱瀛樻槸鍚︿负0锛屽鏋滀负0鍒犻櫎 鍚﹀垯鍑忓幓鏁伴噺
+ var stock = Db.Queryable<DataStock>().First(m => m.SkuNo == "100099");
+
+ if (stock != null)
+ {
+ if (item.LockQty != null)
+ {
+ stock.Qty -= item.LockQty.Value;
+ stock.LockQty -= item.LockQty.Value;
+ Db.Updateable(stock).ExecuteCommand();
+ }
+
+ if (stock.Qty == 0)
+ {
+ Db.Deleteable(stock).ExecuteCommand();
+ }
+ }
+
+ //鎵樼洏鐘舵�佹敼涓烘湭浣跨敤
+ var sCode = Db.Queryable<SysPallets>().First(m => m.PalletNo == item.PalletNo);
+ if (sCode != null)
+ {
+ sCode.Status = "0";
+ Db.Updateable(sCode).ExecuteCommand();
+ }
+ Db.Deleteable(item).ExecuteCommand();
+
+ continue;
+ }
+ item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
+ item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
+ item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
+ item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
+
+ }
+ //鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級
+ var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == "1" && m.PalletNo == task.PalletNo))).ToList();
+ var PalletType = "0"; //0锛氱墿鏂欐墭 1锛氱┖鎵樼洏鎵�
+
+ foreach (var item in allot)
+ {
+ if (item.SkuNo == "100099")
+ {
+ item.Status = "5";
+ item.CompleteQty += stockDetail[0].Qty;
+ PalletType = "1";
+ }
+ else
+ {
+ item.Status = "2";
+ }
+
+ }
+
+ var endLocateList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && (m.AreaNo == "B02" || m.AreaNo == "B05")).Select(m=>m.LocatNo).ToList();
+ //鍒ゆ柇鏄惁鏄師杈呮枡鍑哄簱浠诲姟 璐ф灦鍌ㄤ綅=銆嬪钩搴撳偍浣�
+ if ( endLocateList.Contains(task.EndLocat) && PalletType == "0")
+ {
+ //淇敼鐩爣鍦板潃鐘舵��
+ var endLocat = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == task.EndLocat);
+ endLocat.Status = "1";
+ Db.Updateable(endLocat).ExecuteCommand();
+ foreach (var item in stockDetail)
+ {
+ item.LocatNo = endLocat.LocatNo;//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
+ item.WareHouseNo = endLocat.WareHouseNo;//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
+ item.RoadwayNo = endLocat.RoadwayNo;//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
+ item.AreaNo = endLocat.AreaNo;//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
+ }
+ }
+ Db.Updateable(stockDetail).ExecuteCommand();
+ Db.Updateable(allot).ExecuteCommand();
+
+ if (userId != 0)
+ {
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
+ }
+
+ Db.CommitTran();
+ }
+ catch (Exception ex)
+ {
+ Db.RollbackTran();
+ throw new Exception(ex.Message);
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
+ }
+ }
+
+ /// <summary>
+ /// wcs杩斿洖鐨勬垚鍔熶俊鍙凤紙绉诲簱鎴愬姛锛�
+ /// </summary>
+ /// <param name="taskNo">浠诲姟鍙�</param>
+ /// <param name="userId">鎿嶄綔浜�</param>
+ /// <exception cref="Exception"></exception>
+ public void RelocationSuccess(string taskNo, int userId)
+ {
+ try
+ {
+ //褰撳墠浠诲姟淇℃伅
+ var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
+ if (task == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
+ }
+ if (task.Status == "2")
+ {
+ throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
+ }
+ Db.BeginTran();
+ //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
+ //褰撳墠浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅
+ //褰撳墠浠诲姟涓殑鍘熷偍浣�
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
+ if (locate == null)
+ {
+ throw new Exception($"WMS绯荤粺涓病鏈夎{task.StartLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
+ }
+ var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
+ if (locate2 == null)
+ {
+ throw new Exception($"WMS绯荤粺涓病鏈夎{task.EndLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
+ }
+ //骞冲簱涓偍浣嶉泦鍚�
+ var pingKuLocate = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == "W04" && m.IsDel == "0").ToList();
+ var pingKuList = pingKuLocate.Select(m => m.LocatNo).ToList();
+ try
+ {
+
+ task.Status = "5";//浠诲姟鐘舵��
+ //鍒ゆ柇璧峰鐩爣浣嶇疆閮芥槸骞冲簱
+ if (pingKuList.Contains(task.StartLocat) && pingKuList.Contains(task.EndLocat))
+ {
+ task.Status = "2";
+ }
+
+ task.IsSend = 0;
+ task.IsCancel = 0;
+ task.IsFinish = 0;
+ task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
+ Db.Updateable(task).ExecuteCommand();
+
+ #region 淇敼鍌ㄤ綅鐘舵��
+
+ if (!pingKuList.Contains(task.StartLocat))
+ {
+ //鍘熷偍浣嶆敼涓虹┖鍌ㄤ綅 0
+ locate.Status = "0";
+ Db.Updateable(locate).ExecuteCommand();
+ }
+
+
+ //鐩爣鍌ㄤ綅鏀逛负鏈夎揣鐗� 1
+ locate2.Status = "1";
+ Db.Updateable(locate2).ExecuteCommand();
+ //鍒ゆ柇璧峰鐩爣浣嶇疆閮芥槸骞冲簱
+ if ( pingKuList.Contains(task.EndLocat))
+ {
+ foreach (var item in stockDetail)
+ {
+ item.WareHouseNo = locate2.WareHouseNo;
+ item.AreaNo = locate2.AreaNo;
+ item.RoadwayNo = locate2.RoadwayNo;
+ item.LocatNo = locate2.LocatNo;
+ }
+ Db.Updateable(stockDetail).ExecuteCommand();
+ }
+
+
+ #endregion
+
+ Db.CommitTran();
+ }
+ catch (Exception ex)
+ {
+ Db.RollbackTran();
+ throw new Exception(ex.Message);
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
+ }
+ }
+
+ /// <summary>
+ /// AGV浠诲姟鍙栬揣瀹屾垚鍙嶉
+ /// </summary>
+ /// <param name="taskNo"></param>
+ public void AGVQuHuoSuccess(string taskNo)
+ {
+ try
+ {
+ Db.BeginTran();
+ var task = Db.Queryable<LogTask>().First(m=>m.IsDel =="0" && m.TaskNo == taskNo);
+ if (task == null)
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒颁换鍔′俊鎭�");
+ }
+ if (task.Status!="1")
+ {
+ throw new Exception("浠诲姟鐘舵�佷笉鏄鍦ㄦ墽琛岋紝璇锋牳瀹�");
+ }
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat && m.IsDel == "0");
+ if (locate == null)
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒拌捣濮嬪偍浣嶄俊鎭�");
+ }
+ if (locate.WareHouseNo!="W04")
+ {
+ throw new Exception("璧峰鍌ㄤ綅涓嶆槸骞冲簱鍌ㄤ綅锛岃鏍稿疄");
+ }
+ locate.Status = "0"; //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣�
+ Db.Updateable(locate).ExecuteCommand();
+ //鏌ヨ鍑烘墭鐩樹俊鎭� 鏇存敼搴撳瓨鍌ㄤ綅淇℃伅
+ var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == task.PalletNo).ToList();
+ foreach (var item in stockDetail)
+ {
+ item.WareHouseNo = "";
+ item.AreaNo = "";
+ item.RoadwayNo = "";
+ item.LocatNo = "";
+ }
+ Db.Updateable(stockDetail).ExecuteCommand();
+ Db.CommitTran();
+ }
+ catch (Exception e)
+ {
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+ }
+
+
#endregion
#endregion
@@ -5599,338 +5918,6 @@
}
}
- //wcs杩斿洖鐨勬垚鍔熶俊鍙凤紙鍑哄簱鎴愬姛锛�
- public void ExportSuccess(string taskNo, int userId)
- {
- try
- {
- //褰撳墠浠诲姟淇℃伅
- var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
- if (task == null)
- {
- throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
- }
- if (task.Status == "2")
- {
- throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
- }
- Db.BeginTran();
- //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
- var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
- var locateNo = stockDetail.Select(m => m.LocatNo).Distinct().FirstOrDefault();
- //褰撳墠浠诲姟涓殑鍌ㄤ綅淇℃伅
- var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locateNo);
- try
- {
- task.Status = "2";//浠诲姟鐘舵��
- task.IsSend = 0;
- task.IsCancel = 0;
- task.IsFinish = 0;
- task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
- Db.Updateable(task).ExecuteCommand();
- if (locate != null)
- {
- locate.Status = "0"; // 鏇存敼褰撳墠浠诲姟涓殑鍌ㄤ綅鐘舵�侊紙鏀逛负0绌哄偍浣嶏級
- Db.Updateable(locate).ExecuteCommand();
- }
- foreach (var item in stockDetail)
- {
- if (item.SkuNo == "100099")//鍒ゆ柇鏄惁鏄┖鎵樺嚭搴�
- {
- //鍒ゆ柇鎬诲簱瀛樻槸鍚︿负0锛屽鏋滀负0鍒犻櫎 鍚﹀垯鍑忓幓鏁伴噺
- var stock = Db.Queryable<DataStock>().First(m => m.SkuNo == "100099");
-
- if (stock != null)
- {
- if (item.LockQty != null)
- {
- stock.Qty -= item.LockQty.Value;
- stock.LockQty -= item.LockQty.Value;
- Db.Updateable(stock).ExecuteCommand();
- }
-
- if (stock.Qty == 0)
- {
- Db.Deleteable(stock).ExecuteCommand();
- }
- }
-
- //鎵樼洏鐘舵�佹敼涓烘湭浣跨敤
- var sCode = Db.Queryable<SysPallets>().First(m => m.PalletNo == item.PalletNo);
- if (sCode != null)
- {
- sCode.Status = "0";
- Db.Updateable(sCode).ExecuteCommand();
- }
- Db.Deleteable(item).ExecuteCommand();
-
- #region 鎷h揣淇℃伅
-
- //var pickQty = 0;//鎷h揣鐨勬暟閲�
- //var comList = new List<BllCompleteDetail>();
- // //娣诲姞鎷h揣鏄庣粏
- // var completeDetail = new BllCompleteDetail()
- // {
- // SONo = "",
- // SODetailNo = 0,
- // ExportAllotId = 0,
- // StockId = exportAllot.StockId,
- // BoxNo = item.BoxNo,
- // BoxNo2 = item.BoxNo2,
- // BoxNo3 = item.BoxNo3,
-
- // LotNo = exportAllot.LotNo,
- // LotText = exportAllot.LotText,
- // SupplierLot = exportAllot.SupplierLot,
- // SkuNo = exportAllot.SkuNo,
- // SkuName = exportAllot.SkuName,
- // Standard = exportAllot.Standard,
- // PalletNo = palletNo,
- // CompleteQty = item.Qty,
-
- // CreateUser = userId
- // };
- // comList.Add(completeDetail);
-
- // //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
- // Db.Deleteable(item).ExecuteCommand();
- // pickQty += item.Qty;
-
- // exportAllot.Status = "5"; //寰呭洖搴� : 宸插畬鎴�
- // exportAllot.CompleteQty += item.Qty; //鎷h揣鏁伴噺
- // exportAllot.UpdateUser = userId; //淇敼浜�
- // exportAllot.UpdateTime = serverTime; //淇敼鏃堕棿
-
- // Db.Updateable(exportAllot).ExecuteCommand();
-
- // //楠岃瘉鎷h揣淇℃伅鏄惁涓哄凡瀹屾垚
- // if (exportAllot.Status == "5")
- // {
- // break;
- // }
-
-
- //Db.Insertable(comList).ExecuteCommand();
-
-
- #endregion
-
- continue;
- }
- item.LocatNo = "";//鍌ㄤ綅鏇存敼锛堟敼涓虹┖锛�
- item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
- item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
- item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
- Db.Updateable(item).ExecuteCommand();
- }
- //鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級
- var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.TaskNo == taskNo || (m.Status == "1" && m.PalletNo == task.PalletNo))).ToList();
- var PalletType = "0"; //0锛氱墿鏂欐墭 1锛氱┖鎵樼洏鎵�
- var soNo = "";
- var sku = "";
- foreach (var item in allot)
- {
- if (item.SkuNo == "100099")
- {
- item.Status = "5";
- item.CompleteQty += stockDetail[0].Qty;
- PalletType = "1";
- }
- else
- {
- item.Status = "2";
- soNo = item.SONo;
- sku = item.SkuNo;
- }
-
- }
- //涓嬪彂鍥涙ゼ璋冨害AGV鐨勪换鍔�
- if ((task.EndLocat == "outMode" || task.EndLocat == "outMode") && PalletType == "0")
- {
- foreach (var item in allot)
- {
- var detail = Db.Queryable<DataStockDetail>().First(m => m.Id == item.StockId);
- detail.SONo = item.SONo;
- Db.Updateable(detail).ExecuteCommand();
- }
-
- var locatePing = new AllotLocation().GetPingLocate(soNo, sku);
- if (locatePing == null)
- {
- throw new Exception("骞冲簱鏈煡璇㈠埌绌轰綅缃�");
- }
- var exTask = new LogTask //鍑哄簱浠诲姟
- {
- TaskNo = new Common().GetMaxNo("TK"),
- Sender = "WMS",
- Receiver = "AGV",
- IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
-
- StartLocat = task.EndLocat,//璧峰浣嶇疆
- EndLocat = locatePing.LocatNo,//outMode,//鐩爣浣嶇疆
- PalletNo = task.PalletNo,//鎵樼洏鐮�
- IsSend = 1,//鏄惁鍙啀娆′笅鍙�
- IsCancel = 1,//鏄惁鍙彇娑�
- IsFinish = 1,//鏄惁鍙畬鎴�
- Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
- Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
- OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
- Msg = "浠�" + task.EndLocat + "鍒�" + locatePing.LocatNo + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
- };
- Db.Insertable(exTask).ExecuteCommand();
-
- var outDto = new List<OutCommandDto>
- {
- new OutCommandDto()
- {
- PalletNo = task.PalletNo,//鎵樼洏鍙�
- StartLocate = task.EndLocat, // 璧峰浣嶇疆
- StartRoadway = "",//鍏跺疄宸烽亾
- EndLocate = locatePing.LocatNo,//outMode, // 鐩爣浣嶇疆
- TaskNo = exTask.TaskNo, // 浠诲姟鍙�
- TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)0鍏� 1鍑� 2绉�
- OutMode = "", //鍑哄簱鍙�
- Order = 1,
-
- //UnstackingMode = unstackingMode2,//鎷h揣鏂瑰紡 0鏈哄櫒鎷嗘墭鍑� 1 浜哄伐鎷h揣鍑�
- //CompleteQty = outCount2, //鎷嗙殑浠舵暟
- //BoxexQty = outCount, //鎬讳欢鏁�
- }
- };
- // 姝e紡杩愯绋嬪簭鏀惧紑
- var list2 = outDto.Select(m => m.TaskNo).ToList();
- var jsonData = JsonConvert.SerializeObject(outDto);
- string response = "";
-
- try
- {
- var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
- //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
- var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
-
- //////瑙f瀽杩斿洖鏁版嵁
- //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
- //if (wcsModel.StatusCode == 0)
- //{
- //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
- new TaskServer().EditTaskIssueOk(list2, time1, time2);
- //}
- //if (wcsModel.StatusCode == -1)
- //{
- // new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
- // throw new Exception(wcsModel.Msg);
- //}
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
-
- Db.Updateable(allot).ExecuteCommand();
-
- if (userId != 0)
- {
- //娣诲姞鎿嶄綔鏃ュ織璁板綍
- var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鏃ュ織", taskNo, "瀹屾垚", $"鐐瑰嚮瀹屾垚鎸夐挳銆佸畬鎴愪换鍔″彿涓猴細{taskNo}鐨勪换鍔�", userId);
- }
-
-
-
- Db.CommitTran();
- }
- catch (Exception ex)
- {
- Db.RollbackTran();
- throw new Exception(ex.Message);
- }
- }
- catch (Exception ex)
- {
- throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
- }
- }
-
- /// <summary>
- /// wcs杩斿洖鐨勬垚鍔熶俊鍙凤紙绉诲簱鎴愬姛锛�
- /// </summary>
- /// <param name="taskNo">浠诲姟鍙�</param>
- /// <param name="userId">鎿嶄綔浜�</param>
- /// <exception cref="Exception"></exception>
- public void RelocationSuccess(string taskNo, int userId)
- {
- try
- {
- //褰撳墠浠诲姟淇℃伅
- var task = Db.Queryable<LogTask>().First(m => m.TaskNo == taskNo && m.IsDel == "0");
- if (task == null)
- {
- throw new Exception($"鏈煡璇㈠埌浠诲姟鍙蜂负锛氣�榹taskNo}鈥欑殑浠诲姟淇℃伅");
- }
- if (task.Status == "2")
- {
- throw new Exception("褰撳墠浠诲姟宸插畬鎴�");
- }
- Db.BeginTran();
- //搴撳瓨涓綋鍓嶆墭鐩樼殑淇℃伅
- var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList();
- //褰撳墠浠诲姟涓殑鐩爣鍌ㄤ綅淇℃伅
- //褰撳墠浠诲姟涓殑鍘熷偍浣�
- var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
- if (locate == null)
- {
- throw new Exception($"WMS绯荤粺涓病鏈夎{task.StartLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
- }
- var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
- if (locate2 == null)
- {
- throw new Exception($"WMS绯荤粺涓病鏈夎{task.EndLocat}鍌ㄤ綅瀵瑰簲鐨勪俊鎭�");
- }
-
- try
- {
- task.Status = "2";//浠诲姟鐘舵��
- task.IsSend = 0;
- task.IsCancel = 0;
- task.IsFinish = 0;
- task.FinishDate = DateTime.Now;//瀹屾垚鏃堕棿
- Db.Updateable(task).ExecuteCommand();
-
- #region 淇敼鍌ㄤ綅鐘舵��
-
- //鍘熷偍浣嶆敼涓虹┖鍌ㄤ綅 0
- locate.Status = "0";
- Db.Updateable(locate).ExecuteCommand();
-
- //鐩爣鍌ㄤ綅鏀逛负鏈夎揣鐗� 1
- locate2.Status = "1";
- Db.Updateable(locate2).ExecuteCommand();
- foreach (var item in stockDetail)
- {
- item.WareHouseNo = locate2.WareHouseNo;
- item.AreaNo = locate2.AreaNo;
- item.RoadwayNo = locate2.RoadwayNo;
- item.LocatNo = locate2.LocatNo;
- }
- Db.Updateable(stockDetail).ExecuteCommand();
-
- #endregion
-
- Db.CommitTran();
- }
- catch (Exception ex)
- {
- Db.RollbackTran();
- throw new Exception(ex.Message);
- }
- }
- catch (Exception ex)
- {
- throw new Exception("瀹屾垚鍙嶉澶辫触锛�" + ex.Message);
- }
- }
-
-
//閲嶆柊涓嬪彂鍑哄簱浠诲姟
public OutCommandDto AgainSendSoTask(string taskNo, int userId, string url)
{
diff --git a/Wms/WMS.Entity/DataEntity/DataBoxInfo.cs b/Wms/WMS.Entity/DataEntity/DataBoxInfo.cs
index da64106..0d2e776 100644
--- a/Wms/WMS.Entity/DataEntity/DataBoxInfo.cs
+++ b/Wms/WMS.Entity/DataEntity/DataBoxInfo.cs
@@ -79,10 +79,10 @@
/// Default:
/// Nullable:True
/// </summary>
- public decimal? FullQty {get;set;}
+ public decimal? FullQty {get;set; }
/// <summary>
- /// Desc:鐘舵��
+ /// Desc:鐘舵�� 0 鏈粍鎵� 1宸茬粍鎵� 2 宸插叆搴� 3 宸插嚭搴� 4 宸插垎閰� 5 宸叉嫞璐�
/// Default:
/// Nullable:True
/// </summary>
diff --git a/Wms/WMS.Entity/DataEntity/DataStockDetail.cs b/Wms/WMS.Entity/DataEntity/DataStockDetail.cs
index 49e77d1..74efbbb 100644
--- a/Wms/WMS.Entity/DataEntity/DataStockDetail.cs
+++ b/Wms/WMS.Entity/DataEntity/DataStockDetail.cs
@@ -269,6 +269,12 @@
/// Nullable:True
/// </summary>
public string Demo { get; set; }
+ /// <summary>
+ /// Desc:鏄惁闇�瑕佹敹璐ф墭鐩� 1 杞﹂棿鏀惰揣 2 浠撳簱鏀惰揣
+ /// Default:
+ /// Nullable:True
+ /// </summary>
+ public string UDF5 { get; set; }
}
}
diff --git a/Wms/WMS.Entity/LogEntity/LogTask.cs b/Wms/WMS.Entity/LogEntity/LogTask.cs
index 6856df2..35bcb33 100644
--- a/Wms/WMS.Entity/LogEntity/LogTask.cs
+++ b/Wms/WMS.Entity/LogEntity/LogTask.cs
@@ -136,7 +136,7 @@
/// <summary>
/// Desc:鐘舵��
- /// Default:0 绛夊緟鎵ц 1 姝e湪鎵ц 2 鎵ц瀹屾垚 3 寮傚父缁撴潫 4 宸插彇娑�
+ /// Default:0 绛夊緟鎵ц 1 姝e湪鎵ц 2 鎵ц瀹屾垚 3 寮傚父缁撴潫 4 宸插彇娑� 5绛夊緟纭
/// Nullable:True
/// </summary>
public string Status {get;set;}
diff --git a/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs b/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
index fddfb06..80b504d 100644
--- a/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
+++ b/Wms/WMS.IBLL/IBllSoServer/IExportNoticeServer.cs
@@ -195,8 +195,6 @@
/// <returns>涓嬪彂鐨勬寚浠ら泦鍚�</returns>
List<OutCommandDto> IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre, int userId,string url,out string str);
-
-
/// <summary>
/// wcs杩斿洖鐨勬垚鍔熶俊鍙锋垨鎵嬪姩瀹屾垚锛堝嚭搴撴垚鍔燂級
/// </summary>
@@ -213,6 +211,13 @@
void RelocationSuccess(string taskNo, int userId);
/// <summary>
+ /// AGV浠诲姟鍙栬揣瀹屾垚鍙嶉
+ /// </summary>
+ /// <param name="taskNo"></param>
+ void AGVQuHuoSuccess(string taskNo);
+
+
+ /// <summary>
/// 閲嶆柊涓嬪彂鍑哄簱浠诲姟
/// </summary>
/// <param name="taskNo">浠诲姟鍙�</param>
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
index 9c0210f..aaa18a1 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaCrServer.cs
@@ -156,6 +156,21 @@
#region 绠辩爜鎷嗙璐存爣
//绠辩爜鎷嗙娣诲姞鏍囩淇℃伅
void AddLableByDevanning(string boxNo,decimal devanQty, int userId);
+
+
+ /// <summary>
+ /// 鏍规嵁鏀惰揣鎵樼洏鑾峰彇鍑哄簱鍗曚俊鎭�
+ /// </summary>
+ /// <param name="palletNo"></param>
+ string GetReceiptSoNoByPallet(string palletNo);
+
+ /// <summary>
+ /// 杞﹂棿鏀惰揣
+ /// </summary>
+ /// <param name="palletNo"></param>
+ /// <param name="userId"></param>
+ void ConfirmReceipt(string palletNo, int userId);
+
#endregion
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index bf8ff98..210aeea 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -504,7 +504,7 @@
}
break;
case "2"://鐩樺簱瀹屾垚浠诲姟
- if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 3锛氱Щ搴�
+ if (model.TaskType == "1")//0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
{
_crCheckSvc.CheckSuccess(model.TaskNo, 0);
return Ok(new WcsModel { StatusCode = 0, Msg = "鐩樼偣鍑哄簱瀹屾垚" });
@@ -516,7 +516,7 @@
}
break;
case "3"://绉诲簱瀹屾垚浠诲姟銆佷紭鍖栧偍浣�
- if (model.TaskType == "3") //0锛氬叆搴� 1锛氬嚭搴� 3锛氱Щ搴�
+ if (model.TaskType == "3") //0锛氬叆搴� 1锛氬嚭搴� 2锛氱Щ搴�
{
//濉啓绉诲簱瀹屾垚浠g爜
}
@@ -534,6 +534,31 @@
/// <summary>
+ /// WCS鍙嶉AGV浠诲姟鍙栬揣瀹屾垚
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult AGVQuHuoSuccess(ReceiveWcsSignal model)
+ {
+ var logStr = $@".\log\WCS\AGV鍙栬揣瀹屾垚鍙嶉" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ try
+ {
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚鍙嶉锛�( {jsonData} ),", logStr);
+
+ _exNoticeSvc.AGVQuHuoSuccess(model.TaskNo);
+ var data = new HttpReturnModel { Success = "0", Message = "鎴愬姛" };
+ LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚鍙嶉锛�({JsonConvert.SerializeObject(data)}),", logStr);
+ return Ok(data);
+ }
+ catch (Exception e)
+ {
+ LogFile.SaveLogToFile($"AGV鍙栬揣瀹屾垚鍙嶉锛�( {e.Message} ),", logStr);
+ return Ok(new HttpReturnModel { Success = "-1", Message = e.Message });
+ }
+ }
+
+ /// <summary>
/// 绌哄彇寮傚父
/// </summary>
/// <returns></returns>
diff --git a/Wms/Wms/Controllers/PdaCrController.cs b/Wms/Wms/Controllers/PdaCrController.cs
index 9dea8fb..9a2d0d9 100644
--- a/Wms/Wms/Controllers/PdaCrController.cs
+++ b/Wms/Wms/Controllers/PdaCrController.cs
@@ -323,5 +323,50 @@
}
#endregion
+ #region 纭鏀惰揣
+
+ /// <summary>
+ /// 鏍规嵁鏀惰揣鎵樼洏鑾峰彇鍑哄簱鍗曚俊鎭�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult GetReceiptSoNoByPallet(PdaReceiptVm model)
+ {
+ try
+ {
+
+ var soNo = _pdaCrSvc.GetReceiptSoNoByPallet(model.PalletNo);
+
+ return Ok(new { data = soNo, code = 0, msg = "鎴愬姛" });
+ }
+ catch (Exception e)
+ {
+ return Ok(new { data = "", code = 1, msg = $"寮傚父锛歿e.Message}" });
+ }
+ }
+
+ /// <summary>
+ /// 纭鏀惰揣
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult ConfirmReceipt(PdaReceiptVm model)
+ {
+ try
+ {
+ _pdaCrSvc.ConfirmReceipt(model.PalletNo, _userManager.UserId);
+
+ return Ok(new { data = "", code = 0, msg = "鎴愬姛" });
+ }
+ catch (Exception e)
+ {
+ return Ok(new { data = "", code = 1, msg = $"寮傚父锛歿e.Message}" });
+ }
+ }
+
+ #endregion
+
}
}
--
Gitblit v1.8.0