From 35e3dae48db445e66c9614ee55dba062659e33d7 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期二, 16 十二月 2025 08:27:23 +0800
Subject: [PATCH] 程序修改
---
Wms/WMS.BLL/BllTransServer/RcsServer.cs | 125 ++++
Wms/Wms/Tools/ApiUrlConfig.cs | 5
HTML/.vscode/settings.json | 2
HTML/views/WareHouseSetting/PalletsPrintFrom.html | 19
Wms/Wms/Controllers/BllCheckController.cs | 2
HTML/views/WareHouseSetting/FlatLibraryLegend.html | 259 +++-------
Wms/WMS.IBLL/IDataServer/IStockDetailServer.cs | 2
Wms/Wms/appsettings.json | 12
Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs | 4
Wms/Wms/Controllers/BllQualityController.cs | 19
Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs | 9
Wms/Wms/Controllers/StatisticalController.cs | 4
HTML/views/WareHouseSetting/Pallets.html | 4
Wms/WMS.BLL/SysServer/PalletsServer.cs | 67 +
Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs | 9
HTML/views/QualityControl/QualityInformationFrom.html | 44 -
Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs | 40 +
Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs | 363 ++++++++++++-
HTML/views/HouseWithinSetting/HopperTransport.html | 111 +++
HTML/views/StatisticalReport/BoxInfor.html | 137 ++--
Wms/Utility/Tools/RcsHelper.cs | 12
HTML/views/WareHouseSetting/Locate.html | 4
Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs | 6
Wms/WMS.BLL/DataServer/StockDetailServer.cs | 17
HTML/views/QualityControl/QualityInformation.html | 2
Wms/Model/InterFaceModel/HttpModel.cs | 65 --
Wms/Model/InterFaceModel/HopperTransportModel.cs | 7
Wms/Wms/Controllers/DownApiController.cs | 99 +++
28 files changed, 983 insertions(+), 466 deletions(-)
diff --git a/HTML/.vscode/settings.json b/HTML/.vscode/settings.json
index a0de46f..85245c9 100644
--- a/HTML/.vscode/settings.json
+++ b/HTML/.vscode/settings.json
@@ -1,3 +1,3 @@
{
- "liveServer.settings.port": 5504
+ "liveServer.settings.port": 5505
}
\ No newline at end of file
diff --git a/HTML/views/HouseWithinSetting/HopperTransport.html b/HTML/views/HouseWithinSetting/HopperTransport.html
index 8d51500..982ff02 100644
--- a/HTML/views/HouseWithinSetting/HopperTransport.html
+++ b/HTML/views/HouseWithinSetting/HopperTransport.html
@@ -53,7 +53,7 @@
<ul class="layui-tab-title" id="tab">
<li class="layui-this">鍙枡</li>
<li>鍙溅</li>
- <!-- <li>杞﹂棿鍒拌溅闂�</li> -->
+ <li>鐐瑰埌鐐逛换鍔�</li>
</ul>
<div class="layui-tab-content">
@@ -291,7 +291,7 @@
<div class="layui-tab-item">
<div class="flesDiv">
<form class="layui-form" action="" style="width: 40%">
- <div class="layui-form-item">
+ <!-- <div class="layui-form-item">
<label class="layui-form-label" style="width: 80px"
>璧峰鍖哄煙</label
>
@@ -303,22 +303,23 @@
<option value=""></option>
</select>
</div>
- </div>
+ </div> -->
<div class="layui-form-item">
<label class="layui-form-label" style="width: 80px"
>璧峰浣嶇疆</label
>
<div class="layui-input-block">
- <select
+ <input
+ type="text"
id="LocateSelect3"
name="LocateSelect3"
- lay-filter="LocateSelect3">
- <option value=""></option>
- </select>
+ placeholder=""
+ autocomplete="off"
+ class="layui-input"/>
</div>
</div>
- <div class="layui-form-item">
+ <!-- <div class="layui-form-item">
<label class="layui-form-label" style="width: 80px"
>鐩爣鍖哄煙</label
>
@@ -330,22 +331,22 @@
<option value=""></option>
</select>
</div>
- </div>
-
+ </div> -->
<div class="layui-form-item">
<label class="layui-form-label" style="width: 80px"
>鐩爣浣嶇疆</label
>
<div class="layui-input-block">
- <select
+ <input
+ type="text"
id="LocateSelect4"
name="LocateSelect4"
- lay-filter="LocateSelect4">
- <option value=""></option>
- </select>
+ placeholder=""
+ autocomplete="off"
+ class="layui-input"/>
</div>
</div>
- <div class="layui-form-item">
+ <!-- <div class="layui-form-item">
<label class="layui-form-label" style="width: 80px"
>妗剁被鍨�</label
>
@@ -360,8 +361,8 @@
<option value="3">鑴忔《</option>
</select>
</div>
- </div>
- <div class="layui-form-item" id="SkuSelectDiv2">
+ </div> -->
+ <!-- <div class="layui-form-item" id="SkuSelectDiv2">
<label class="layui-form-label" style="width: 80px"
>鐗╂枡</label
>
@@ -373,8 +374,8 @@
<option value=""></option>
</select>
</div>
- </div>
- <div class="layui-form-item" id="LotNoSelectDiv2">
+ </div> -->
+ <!-- <div class="layui-form-item" id="LotNoSelectDiv2">
<label class="layui-form-label" style="width: 80px"
>鎵规</label
>
@@ -387,8 +388,8 @@
autocomplete="off"
class="layui-input" />
</div>
- </div>
- <div class="layui-form-item" id="WeightSelectDiv2">
+ </div> -->
+ <!-- <div class="layui-form-item" id="WeightSelectDiv2">
<label class="layui-form-label" style="width: 80px"
>閲嶉噺</label
>
@@ -401,7 +402,7 @@
autocomplete="off"
class="layui-input" />
</div>
- </div>
+ </div> -->
<div class="layui-form-item">
<div class="layui-input-block">
<button
@@ -433,6 +434,9 @@
<script src="../../js/jquery.cookie.js"></script>
<script type="text/javascript"></script>
<script>
+ var id = localStorage.getItem('keyUserName');
+ console.log("id:"+id);
+
layui
.config({
base: "../../layuiadmin/", //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
@@ -482,7 +486,7 @@
Standard: field.Standard,
SkuNo: field.SkuSelect,
LotNo: field.LotNoSelect,
- };
+ };
sendData(
IP + "/DownApi/jiaoLiaoHopper",
param,
@@ -563,6 +567,67 @@
return false; // 闃绘榛樿 form 璺宠浆
});
+
+ // 鐐瑰鐐逛换鍔℃彁浜や簨浠�
+ form.on("submit(demo3)", function (data) {
+ var field = data.field; // 鑾峰彇琛ㄥ崟瀛楁鍊�
+
+ console.log("璧峰浣嶇疆锛�"+field.LocateSelect3+",鐩爣浣嶇疆锛�"+field.LocateSelect4+",鐢ㄦ埛ID:"+id);
+ var begin = field.LocateSelect3
+ var end = field.LocateSelect4
+ if (begin.length = 0) {
+ layer.msg("璇峰厛杈撳叆璧峰鍌ㄤ綅!", {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
+ if (end.length = 0) {
+ layer.msg("璇峰厛杈撳叆鐩爣鍌ㄤ綅!", {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ });
+ return;
+ }
+ var param = {
+ BeginPoint: begin,
+ EndPoint: end,
+ ID:id
+ };
+ console.log(param);
+
+ sendData(
+ IP + "/DownApi/PointToPointRequest",
+ param,
+ "post",
+ function (res) {
+ if (res.code == 0) {
+ //鎴愬姛
+ layer.msg(
+ res.message,
+ {
+ icon: 1,
+ time: 1000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ },
+ function () {}
+ );
+ } else {
+ //涓嶆垚鍔�
+ layer.msg(
+ res.message,
+ {
+ icon: 2,
+ time: 2000, //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ },
+ function () {}
+ );
+ }
+ }
+ );
+ return false; // 闃绘榛樿 form 璺宠浆
+ });
+
+
GetArea();
form.on("select(AreaSelect)", function (data) {
diff --git a/HTML/views/QualityControl/QualityInformation.html b/HTML/views/QualityControl/QualityInformation.html
index 1646cfa..56e26da 100644
--- a/HTML/views/QualityControl/QualityInformation.html
+++ b/HTML/views/QualityControl/QualityInformation.html
@@ -363,7 +363,7 @@
InspectNo: field.InspectNo,
//ASNNo: field.ASNNo,
LotNo: field.LotNo,
- //SkuNo: field.SkuNo,
+ SkuNo: field.SkuNo,
IsQualified: field.IsQualified,
};
if(doing)
diff --git a/HTML/views/QualityControl/QualityInformationFrom.html b/HTML/views/QualityControl/QualityInformationFrom.html
index 2a29a4d..e96a3be 100644
--- a/HTML/views/QualityControl/QualityInformationFrom.html
+++ b/HTML/views/QualityControl/QualityInformationFrom.html
@@ -16,32 +16,20 @@
<input type="text" name="InspectNo" placeholder="璇疯緭鍏ユ楠屽彿" lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
- <!-- <div class="layui-form-item">
- <label class="layui-form-label">鍏ュ簱鍗曞彿</label>
- <div class="layui-input-block" style="width: 70%;">
- <input type="text" name="ASNNo" placeholder="璇疯緭鍏ュ叆搴撳崟鍙�" autocomplete="off" class="layui-input">
- </div>
- </div> -->
- <!-- <div class="layui-form-item">
- <label class="layui-form-label">鎵规鍙�</label>
- <div class="layui-input-block" style="width: 70%;">
- <input type="text" name="LotNo" placeholder="璇疯緭鍏ユ壒娆″彿" lay-verify="required" autocomplete="off" class="layui-input">
- </div>
- </div> -->
<div class="layui-form-item">
- <label class="layui-form-label">鎵规鍙�</label>
+ <label class="layui-form-label">鐗╂枡缂栫爜</label>
<div class="layui-input-block" style="width: 70%;">
- <select name="LotNo" id="LotNo" lay-filter="LotNo" lay-verify="">
+ <select name="SkuNo" id="SkuNo" lay-filter="SkuNo" lay-verify="">
<option value=""></option>
</select>
</div>
</div>
- <!-- <div class="layui-form-item">
- <label class="layui-form-label">鐗╂枡鍙�</label>
+ <div class="layui-form-item">
+ <label class="layui-form-label">鎵规鍙�</label>
<div class="layui-input-block" style="width: 70%;">
- <input type="text" name="SkuNo" placeholder="璇疯緭鍏ョ墿鏂欏彿" lay-verify="required" autocomplete="off" class="layui-input">
+ <input type="text" name="LotNo" placeholder="璇疯緭鍏ユ壒娆″彿" lay-verify="required" class="layui-input">
</div>
- </div> -->
+ </div>
<div class="layui-form-item">
<label class="layui-form-label">瀹℃牳鐘舵��</label>
<div class="layui-input-block" style="width: 70%;">
@@ -70,7 +58,6 @@
var $ = layui.$,
form = layui.form,
layer = layui.layer;
-
});
//鑾峰彇娴忚鍣ㄥ弬鏁�
@@ -80,15 +67,20 @@
if (r != null) return unescape(r[2]);
return null;
}
-
+ getsku();
+ function getsku(res){
//鑾峰彇鎵规涓嬫媺妗嗕俊鎭�
- sendData(IP + "/BllQuality/GetLotNoList", {}, 'get', function(res) {
+ var param = {
+ SkuNo: $("#SkuNo").val(),
+ };
+
+ sendData(IP + "/BllQuality/GetLotNoList", param,"post", function(res) {
if (res.code == 0) { //鎴愬姛
+
+
for (var i = 0; i < res.data.length; i++) {
- $("#LotNo").append('<option value =' + res.data[i].LotNo + '>' + res.data[i].LotNo + '</option>');
- }
-
- form.render('select');
+ $("#SkuNo").append('<option value =' + res.data[i].SkuNo + '>' + res.data[i].SkuNo + '</option>');
+ };
} else { //涓嶆垚鍔�
layer.msg(res.msg, {
icon: 2,
@@ -96,7 +88,7 @@
}, function() {});
}
});
-
+ }
</script>
</body>
</html>
diff --git a/HTML/views/StatisticalReport/BoxInfor.html b/HTML/views/StatisticalReport/BoxInfor.html
index 4a15210..2a38654 100644
--- a/HTML/views/StatisticalReport/BoxInfor.html
+++ b/HTML/views/StatisticalReport/BoxInfor.html
@@ -92,6 +92,18 @@
<input type="text" id="LotNo" name="LotNo" placeholder="鎵规鍙�" autocomplete="off" class="layui-input">
</div>
</div>
+ <div class="layui-inline zhijian">
+ <label class="layui-form-label" style="width: 60px;">妗剁姸鎬�</label>
+ <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
+ <select name="PalletStatus" id="PalletStatus" lay-filter="PalletStatus"
+ lay-search> =
+ <option value=""></option>
+ <option value="0">鍑�妗�</option>
+ <option value="2">婊℃《</option>
+ <option value="3">鑴忔《</option>
+ </select>
+ </div>
+ </div>
<!-- 绠辩爜 绠辨敮鐘舵�� 妫�楠屾爣璁� 闆剁鏍囪 璐ㄩ噺鐘舵�� -->
@@ -113,17 +125,7 @@
</select>
</div>
</div> -->
- <!-- <div class="layui-inline zhijian">
- <label class="layui-form-label" style="width: 60px;">鎶芥鏍囪</label>
- <div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
- <select name="InspectMark" id="InspectMark" lay-filter="InspectMark"
- lay-search>
- <option value=""></option>
- <option value="0">鍚�</option>
- <option value="1">鏄�</option>
- </select>
- </div>
- </div>
+ <!--
<div class="layui-inline zhijian">
<label class="layui-form-label" style="width: 60px;">闆舵墭鏍囪</label>
<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
@@ -198,6 +200,18 @@
</div>
<!-- #endregion -->
</div>
+
+ <script type="text/html" id="buttonTpl">
+ {{# function GetBtn1(d){
+ var html = '';
+ html =`<a class="layui-btn layui-btn-xs" lay-event="del"><i
+ class="layui-icon layui-icon-ok"></i>鍒犻櫎</a>`;
+
+ return html;
+ }
+ }}
+ {{ GetBtn1(d) }}
+ </script>
<script type="text/html" id="InspectMarkStatus">
{{# if(d.InspectMark=='0'){ }}
@@ -352,14 +366,22 @@
{field: 'LockQty', title: '閿佸畾鏁伴噺', align: 'center',},
{field: 'FrozenQty', title: '鍐荤粨鏁伴噺', align: 'center'},
{field: 'InspectStatus', title: '璐ㄦ鐘舵��', align: 'center', templet: '#InspectStatus1'},
- {field: 'UDF1', title: '鎵�灞炶澶囩紪鐮�', align: 'center'},
+ {field: 'UDF1', title: '鎵�灞炶澶囩紪鐮�', align: 'center'}
+ , {
+ field: 'caozuo',
+ title: '鎿嶄綔',
+ fixed: 'right',
+ align: 'center',
+ width: 205,
+ toolbar: '#buttonTpl'
+ }
//{field: 'InspectMark', title: '鎶芥鏍囪', align: 'center', templet: '#InspectMarkStatus'},
//{field: 'BitPalletMark', title: '闆舵墭鏍囪', align: 'center', templet: '#BitPalletMarkStatus'},
]];
var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
//#endregion
//鑾峰彇鎵樼洏鏄庣粏
- function refreshTable(WareHouseName,AreaName,LocatNo,PalletNo,LotNo) {
+ function refreshTable(WareHouseName,AreaName,LocatNo,PalletNo,LotNo,PalletStatus) {
//#region 鑷畾涔夎〃澶�
var colsJson
var param1={
@@ -399,7 +421,7 @@
locatNo:LocatNo,
palletNo:PalletNo, //鎵樼洏鍙�
LotNo:LotNo, //鎵规鍙�
-
+ PalletStatus:PalletStatus,
};
sendData(IP + "/Statistical/GetBindList", param, 'get', function(res) {
console.log(res)
@@ -424,64 +446,40 @@
//#endregion
}
- //澶村伐鍏锋爮浜嬩欢
- table.on('toolbar(LAY-app-content-list)', function (obj) {
- var checkStatus = table.checkStatus(obj.config.id);
- if (obj.event == "add") {
- layer.open({
- type: 2,
- title: '娣诲姞鎵樼洏搴撳瓨鏄庣粏',
- content: 'PalletAddFrom.html',
- maxmin: true,
- area: ['530px', '530px'],
- btn: ['纭畾', '鍙栨秷'],
- yes: function(index, layero) {
- var iframeWindow = window['layui-layer-iframe' + index],
- submitID = 'layuiadmin-app-form-submit',
- submit = layero.find('iframe').contents().find('#' + submitID);
- //鐩戝惉鎻愪氦
- iframeWindow.layui.form.on('submit(' + submitID + ')', function(data) {
- var field = data.field; //鑾峰彇鎻愪氦鐨勫瓧娈�
- //鎻愪氦 Ajax 鎴愬姛鍚庯紝闈欐�佹洿鏂拌〃鏍间腑鐨勬暟鎹�
- var param = {
- PalletNo:field.PalletNo,//鎵樼洏鐮�
- WareHouseNo: field.WareHouseNo, //鎵�灞炰粨搴�
- AreaNo: field.AreaNo, //鎵�灞炲尯鍩�
- LocatNo:field.LocatNo,//鎵�灞炲偍浣�
- PalletStatus: field.PalletStatus, //鎵樼洏绫诲埆
- SkuNo:field.SkuNo,
- SkuName:field.SkuName,
- LotNo:field.LotNo
- };
- if(doing){
- doing = false;
- sendData(IP + "/Statistical/InsertStockDetail", param, 'post',function(res) {
- console.log(res);
- if (res.code == 0) { //鎴愬姛
- layer.msg(res.msg, {
- icon: 1,
- time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
- }, function() {
- layer.close(index); //鍏抽棴寮瑰眰
- refreshTable("","","","","","","","","","","","","","");
- doing = true;
- });
- }
- else
- { //涓嶆垚鍔�
- layer.msg(res.msg, {
- icon: 2,
- time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
- }, function() {doing = true;});
+ table.on('tool(LAY-app-content-list)', function (obj) {
+
+ var data = obj.data;
+ console.log(data)
+ if (obj.event === 'del') {
+ layer.confirm('纭畾鍒犻櫎褰撳墠鎵樼洏搴撳瓨锛�', function (index) {
+ var param = {
+ id: uid,
+ StockId:data.Id
+ };
+ var postUrl='/DownApi/DelStockWms'
+ sendData(IP + postUrl, param, 'post', function (res) {
+ console.log(res);
+ if (res.code == 0) { //鎴愬姛
+ layer.msg(res.msg, {
+ icon: 1,
+ time: 1000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ tableIns.reload({
+ page: {
+ curr: 1
}
});
- }
- });
- submit.trigger('click');
- }
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () { });
+ }
+ });
});
}
- });
+ })
//鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function(res) {
if (res.code == 0) { //鎴愬姛
@@ -534,8 +532,9 @@
var LocatNo = $("#LocatNo").val();
var PalletNo = $("#PalletNo").val();
var LotNo = $("#LotNo").val();
+ var PalletStatus = $("#PalletStatus").val();
- refreshTable(WareHouseName,AreaName,LocatNo,PalletNo,LotNo);
+ refreshTable(WareHouseName,AreaName,LocatNo,PalletNo,LotNo,PalletStatus);
});
diff --git a/HTML/views/WareHouseSetting/FlatLibraryLegend.html b/HTML/views/WareHouseSetting/FlatLibraryLegend.html
index 7e5e2df..f07467f 100644
--- a/HTML/views/WareHouseSetting/FlatLibraryLegend.html
+++ b/HTML/views/WareHouseSetting/FlatLibraryLegend.html
@@ -283,7 +283,6 @@
<table class="">
<tr>
<td><button id="C1200101" value="C1200101" class="btnShow " ></button></td>
- <td><button id="C1200102" value="C1200102" class="btnShow " ></button></td>
</tr>
<tr>
<td><button id="C1200201" value="C1200201" class="btnShow " ></button></td>
@@ -304,7 +303,6 @@
<table class="">
<tr>
<td><button id="C1400101" value="C1400101" class="btnShow " ></button></td>
-
</tr>
<tr>
<td><button id="C1400201" value="C1400201" class="btnShow " ></button></td>
@@ -339,108 +337,66 @@
<div class="solidDiv" style="width: 59%; height: 100%;">
<p>涓棿绔�</p>
<div id="C01" style="display: flex; height: 85%;" >
- <div class="flesDiv" style="width: 35%;height: 100%;">
+ <div class="flesDiv" style="width: 65%;height: 100%;">
<table class="">
<tr>
- <td><button id="C0100101" value="C0100101" class="btnShow " ></button></td>
- <td><button id="C0100102" value="C0100102" class="btnShow " ></button></td>
- <td><button id="C0100103" value="C0100103" class="btnShow " ></button></td>
+ <td><button id="C0100115" value="C0100115" class="btnShow " ></button></td>
+ <td style="width: 30px;"></td>
+ <td><button id="C0100116" value="C0100116" class="btnShow " ></button></td>
+ <td style="width: 30px;"></td>
+ <td><button id="C0100117" value="C0100117" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100118" value="C0100118" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100119" value="C0100119" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100120" value="C0100120" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100121" value="C0100121" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100122" value="C0100122" class="btnShow " ></button></td>
</tr>
<tr>
- <td><button id="C0100201" value="C0100201" class="btnShow " ></button></td>
- <td><button id="C0100202" value="C0100202" class="btnShow " ></button></td>
- <td><button id="C0100203" value="C0100203" class="btnShow " ></button></td>
+ <td style="height: 60px;"></td>
</tr>
<tr>
- <td><button id="C0100301" value="C0100301" class="btnShow " ></button></td>
- <td><button id="C0100302" value="C0100302" class="btnShow " ></button></td>
- <td><button id="C0100303" value="C0100303" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td style="height: 20px;"></td>
+ <td><button id="C0100114" value="C0100114" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100113" value="C0100113" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100112" value="C0100112" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100111" value="C0100111" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100110" value="C0100110" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100109" value="C0100109" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100108" value="C0100108" class="btnShow " ></button></td>
+ <td style="width: 20px;"></td>
+ <td><button id="C0100107" value="C0100107" class="btnShow " ></button></td>
</tr>
- <tr>
- <td><button id="C0100401" value="C0100401" class="btnShow " ></button></td>
- <td><button id="C0100402" value="C0100402" class="btnShow " ></button></td>
- <td><button id="C0100403" value="C0100403" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td><button id="C0100501" value="C0100501" class="btnShow " ></button></td>
- <td><button id="C0100502" value="C0100502" class="btnShow " ></button></td>
- <td><button id="C0100503" value="C0100503" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td><button id="C0100601" value="C0100601" class="btnShow " ></button></td>
- <td><button id="C0100602" value="C0100602" class="btnShow " ></button></td>
- <td><button id="C0100603" value="C0100603" class="btnShow " ></button></td>
- </tr>
</table>
- </div>
- <div class="flesDiv" style="width: 30%;height: 100%;">
- <table class="" >
- <tr>
- <td><button id="C0100701" value="C0100701" class="btnShow " ></button></td>
- <td><button id="C0100702" value="C0100702" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td><button id="C0100801" value="C0100801" class="btnShow " ></button></td>
- <td><button id="C0100802" value="C0100802" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td><button id="C0100901" value="C0100901" class="btnShow " ></button></td>
- <td><button id="C0100902" value="C0100902" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td style="height: 20px;"></td>
- </tr>
- <tr>
- <td><button id="C0101001" value="C0101001" class="btnShow " ></button></td>
- <td><button id="C0101002" value="C0101002" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td><button id="C0101101" value="C0101101" class="btnShow " ></button></td>
- <td><button id="C0101102" value="C0101102" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td><button id="C0101201" value="C0101201" class="btnShow " ></button></td>
- <td><button id="C0101202" value="C0101202" class="btnShow " ></button></td>
- </tr>
- </table>
</div>
<div class="flesDiv" style="width: 35%;height: 100%;">
<table>
<tr>
- <td><button id="C0101301" value="C0101301" class="btnShow " ></button></td>
- <td><button id="C0101302" value="C0101302" class="btnShow " ></button></td>
- <td><button id="C0101303" value="C0101303" class="btnShow " ></button></td>
+ <td><button id="C0100101" value="C0100101" class="btnShow " ></button></td>
</tr>
<tr>
- <td><button id="C0101401" value="C0101401" class="btnShow " ></button></td>
- <td><button id="C0101402" value="C0101402" class="btnShow " ></button></td>
- <td><button id="C0101403" value="C0101403" class="btnShow " ></button></td>
+ <td><button id="C0100102" value="C0100102" class="btnShow " ></button></td>
</tr>
<tr>
- <td><button id="C0101501" value="C0101501" class="btnShow " ></button></td>
- <td><button id="C0101502" value="C0101502" class="btnShow " ></button></td>
- <td><button id="C0101503" value="C0101503" class="btnShow " ></button></td>
+ <td><button id="C0100103" value="C0100103" class="btnShow " ></button></td>
</tr>
<tr>
- <td style="height: 20px;"></td>
+ <td><button id="C0100104" value="C0100104" class="btnShow " ></button></td>
</tr>
<tr>
- <td><button id="C0101601" value="C0101601" class="btnShow " ></button></td>
- <td><button id="C0101602" value="C0101602" class="btnShow " ></button></td>
- <td><button id="C0101603" value="C0101603" class="btnShow " ></button></td>
+ <td><button id="C0100105" value="C0100105" class="btnShow " ></button></td>
</tr>
<tr>
- <td><button id="C0101701" value="C0101701" class="btnShow " ></button></td>
- <td><button id="C0101702" value="C0101702" class="btnShow " ></button></td>
- <td><button id="C0101703" value="C0101703" class="btnShow " ></button></td>
- </tr>
- <tr>
- <td><button id="C0101801" value="C0101801" class="btnShow " ></button></td>
- <td><button id="C0101802" value="C0101802" class="btnShow " ></button></td>
- <td><button id="C0101803" value="C0101803" class="btnShow " ></button></td>
+ <td><button id="C0100106" value="C0100106" class="btnShow " ></button></td>
</tr>
</table>
</div>
@@ -459,17 +415,11 @@
<tr>
<td><button id="C1800201" value="C1800201" class="btnShow " ></button></td>
</tr>
- <tr>
- <td><button id="C1800301" value="C1800301" class="btnShow " ></button></td>
- </tr>
</table>
</div>
<div class="flesDiv" style="width: 50%;height: 100%;">
<table class="" >
-
- <tr>
- <td><button id="C1800501" value="C1800501" class="btnShow " ></button></td>
- </tr>
+
<tr>
<td><button id="C1800601" value="C1800601" class="btnShow " ></button></td>
</tr>
@@ -485,11 +435,6 @@
<tr>
<td><button id="C2000101" value="C2000101" class="btnShow " ></button></td>
<td><button id="C2000102" value="C2000102" class="btnShow " ></button></td>
-
- </tr>
- <tr>
- <td><button id="C2000201" value="C2000201" class="btnShow " ></button></td>
- <td><button id="C2000202" value="C2000202" class="btnShow " ></button></td>
</tr>
@@ -519,6 +464,8 @@
<p>骞叉硶鍒剁矑</p>
<div id="C17" class="flesDiv" style="height:85%; justify-content: space-around;">
<button id="C1700101" value="C1700101" class="btnShow " ></button>
+
+ <button id="C1700201" value="C1700201" class="btnShow " ></button>
</div>
</div>
@@ -527,8 +474,9 @@
<div class="solidDiv" style="width: 19%; height: 100%;">
<p>婀挎硶鍒剁矑3</p>
<div id="C16" class="flesDiv" style="height:85%; justify-content: space-around;">
- <button id="C1600101" value="C1700101" class="btnShow " ></button>
- <button id="C1600201" value="C1700201" class="btnShow " ></button>
+ <button id="C1600101" value="C1600101" class="btnShow " ></button>
+ <button id="C1600201" value="C1600201" class="btnShow " ></button>
+ <button id="C1600301" value="C1600301" class="btnShow " ></button>
</div>
</div>
</div>
@@ -552,6 +500,7 @@
<div id="C28" style="height:75%; display: flex; justify-content: space-around;">
<div class="flesDiv">
<button id="C2800301" value="C2800301" class="btnShow" ></button>
+ <button id="C2800302" value="C2800302" class="btnShow" ></button>
</div>
<div class="flesDiv">
<table class="">
@@ -572,6 +521,7 @@
<div id="C29" style="height:75%; display: flex; justify-content: space-around;">
<div class="flesDiv">
<button id="C2900301" value="C2900301" class="btnShow" ></button>
+ <button id="C2900302" value="C2900302" class="btnShow" ></button>
</div>
<div class="flesDiv">
<table class="">
@@ -592,6 +542,7 @@
<div id="C30" style="height:75%; display: flex; justify-content: space-around;">
<div class="flesDiv">
<button id="C3000301" value="C3000301" class="btnShow" ></button>
+ <button id="C3000302" value="C3000302" class="btnShow" ></button>
</div>
<div class="flesDiv">
<table class="">
@@ -612,6 +563,7 @@
<div id="C34" style="height:75%; display: flex; justify-content: space-around;">
<div class="flesDiv">
<button id="C3400301" value="C3400301" class="btnShow" ></button>
+ <button id="C3400302" value="C3400302" class="btnShow" ></button>
</div>
<div class="flesDiv">
<table class="">
@@ -632,6 +584,7 @@
<div id="C35" style="height:75%; display: flex; justify-content: space-around;">
<div class="flesDiv">
<button id="C3500301" value="C3500301" class="btnShow" ></button>
+ <button id="C3500302" value="C3500302" class="btnShow" ></button>
</div>
<div class="flesDiv">
<table class="">
@@ -652,6 +605,7 @@
<div id="C36" style="height:75%; display: flex; justify-content: space-around;">
<div class="flesDiv">
<button id="C3600301" value="C3600301" class="btnShow" ></button>
+ <button id="C3600302" value="C3600302" class="btnShow" ></button>
</div>
<div class="flesDiv">
<table class="">
@@ -672,6 +626,7 @@
<div id="C37" style="height:75%; display: flex; justify-content: space-around;">
<div class="flesDiv">
<button id="C3700301" value="C3700301" class="btnShow" ></button>
+ <button id="C3700302" value="C3700302" class="btnShow" ></button>
</div>
<div class="flesDiv">
<table class="">
@@ -697,13 +652,12 @@
<div id="C43" class="flesDiv" style="height:85%; justify-content: space-around;">
<table class="">
<tr>
- <td class="btnShow"></td>
+ <td><button id="C4300201" value="C4300201" class="btnShow " ></button></td>
<td><button id="C4300202" value="C4300202" class="btnShow " ></button></td>
- <!-- <td><button id="C4300302" value="C4300302" class="btnShow " ></button></td> -->
</tr>
<tr>
<td><button id="C4300101" value="C4300101" class="btnShow " ></button></td>
- <td><button id="C4300201" value="C4300201" class="btnShow " ></button></td>
+ <td><button id="C4300102" value="C4300102" class="btnShow " ></button></td>
<!-- <td><button id="C4300301" value="C4300301" class="btnShow " ></button></td> -->
</tr>
@@ -796,11 +750,11 @@
<p>鎶曟枡鍖�6</p>
<div id="C48" class="flesDiv" style="height:85%; justify-content: space-around;">
<table class="">
- <tr>
+ <!-- <tr>
<td><button id="C4800102" value="C4800102" class="btnShow " ></button></td>
<td><button id="C4800202" value="C4800202" class="btnShow " ></button></td>
- <!-- <td><button id="C4800302" value="C4800302" class="btnShow " ></button></td> -->
- </tr>
+ <td><button id="C4800302" value="C4800302" class="btnShow " ></button></td>
+ </tr> -->
<tr>
<td><button id="C4800101" value="C4800101" class="btnShow " ></button></td>
<td><button id="C4800201" value="C4800201" class="btnShow " ></button></td>
@@ -815,11 +769,11 @@
<p>鎶曟枡鍖�7</p>
<div id="C49" class="flesDiv" style="height:85%; justify-content: space-around;">
<table class="">
- <tr>
+ <!-- <tr>
<td><button id="C4900102" value="C4900102" class="btnShow " ></button></td>
<td><button id="C4900202" value="C4900202" class="btnShow " ></button></td>
- <!-- <td><button id="C4900302" value="C4900302" class="btnShow " ></button></td> -->
- </tr>
+ <td><button id="C4900302" value="C4900302" class="btnShow " ></button></td>
+ </tr> -->
<tr>
<td><button id="C4900101" value="C4900101" class="btnShow " ></button></td>
<td><button id="C4900201" value="C4900201" class="btnShow " ></button></td>
@@ -834,11 +788,11 @@
<p>鎶曟枡鍖�8</p>
<div id="C50" class="flesDiv" style="height:85%; justify-content: space-around;">
<table class="">
- <tr>
+ <!-- <tr>
<td><button id="C5000102" value="C5000102" class="btnShow " ></button></td>
<td><button id="C5000202" value="C5000202" class="btnShow " ></button></td>
- <!-- <td><button id="C5000302" value="C5000302" class="btnShow " ></button></td> -->
- </tr>
+ <td><button id="C5000302" value="C5000302" class="btnShow " ></button></td>
+ </tr> -->
<tr>
<td><button id="C5000101" value="C5000101" class="btnShow " ></button></td>
<td><button id="C5000201" value="C5000201" class="btnShow " ></button></td>
@@ -1015,39 +969,15 @@
<div style="width: 80%; height: 100%;">
<div class="flesDiv" style="width: 100%; height: 25%;">
<table>
- <!-- <tr>
- <td><button id="C2400104" value="C2400104" class="btnShow1 " ></button></td>
- <td><button id="C2400204" value="C2400204" class="btnShow1 " ></button></td>
- <td><button id="C2400304" value="C2400304" class="btnShow1 " ></button></td>
- <td><button id="C2400404" value="C2400404" class="btnShow1 " ></button></td>
- <td><button id="C2400504" value="C2400504" class="btnShow1 " ></button></td>
- <td class="btnShow1"></td>
- <td><button id="C2400704" value="C2400704" class="btnShow1 " ></button></td>
- <td><button id="C2400804" value="C2400804" class="btnShow1 " ></button></td>
- <td><button id="C2400904" value="C2400904" class="btnShow1 " ></button></td>
- <td class="btnShow1"></td>
- <td><button id="C2401104" value="C2401104" class="btnShow1 " ></button></td>
- <td><button id="C2401204" value="C2401204" class="btnShow1 " ></button></td>
- <td><button id="C2401304" value="C2401304" class="btnShow1 " ></button></td>
- <td class="btnShow1"></td>
- <td><button id="C2401504" value="C2401504" class="btnShow1 " ></button></td>
- <td><button id="C2401604" value="C2401604" class="btnShow1 " ></button></td>
- <td><button id="C2401704" value="C2401704" class="btnShow1 " ></button></td>
- <td><button id="C2401804" value="C2401804" class="btnShow1 " ></button></td>
- <td><button id="C2401904" value="C2401904" class="btnShow1 " ></button></td>
-
- </tr> -->
<tr>
<td><button id="C2400103" value="C2400103" class="btnShow1 " ></button></td>
<td><button id="C2400203" value="C2400203" class="btnShow1 " ></button></td>
<td><button id="C2400303" value="C2400303" class="btnShow1 " ></button></td>
<td><button id="C2400403" value="C2400403" class="btnShow1 " ></button></td>
- <td><button id="C2400503" value="C2400503" class="btnShow1 " ></button></td>
<td class="btnShow1"></td>
- <td><button id="C2400703" value="C2400703" class="btnShow1 " ></button></td>
<td><button id="C2400803" value="C2400803" class="btnShow1 " ></button></td>
<td><button id="C2400903" value="C2400903" class="btnShow1 " ></button></td>
- <td><button id="C2401002" value="C2401002" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2401103" value="C2401103" class="btnShow1 " ></button></td>
<td><button id="C2401203" value="C2401203" class="btnShow1 " ></button></td>
<td><button id="C2401303" value="C2401303" class="btnShow1 " ></button></td>
@@ -1063,16 +993,14 @@
<td><button id="C2400202" value="C2400202" class="btnShow1 " ></button></td>
<td><button id="C2400302" value="C2400302" class="btnShow1 " ></button></td>
<td><button id="C2400402" value="C2400402" class="btnShow1 " ></button></td>
- <td><button id="C2400502" value="C2400502" class="btnShow1 " ></button></td>
- <td><button id="C2400602" value="C2400602" class="btnShow1 " ></button></td>
- <td><button id="C2400702" value="C2400702" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2400802" value="C2400802" class="btnShow1 " ></button></td>
<td><button id="C2400902" value="C2400902" class="btnShow1 " ></button></td>
- <td><button id="C2401001" value="C2401001" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2401102" value="C2401102" class="btnShow1 " ></button></td>
<td><button id="C2401202" value="C2401202" class="btnShow1 " ></button></td>
<td><button id="C2401302" value="C2401302" class="btnShow1 " ></button></td>
- <td><button id="C2401402" value="C2401402" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2401502" value="C2401502" class="btnShow1 " ></button></td>
<td><button id="C2401602" value="C2401602" class="btnShow1 " ></button></td>
<td><button id="C2401702" value="C2401702" class="btnShow1 " ></button></td>
@@ -1084,16 +1012,14 @@
<td><button id="C2400201" value="C2400201" class="btnShow1 " ></button></td>
<td><button id="C2400301" value="C2400301" class="btnShow1 " ></button></td>
<td><button id="C2400401" value="C2400401" class="btnShow1 " ></button></td>
- <td><button id="C2400501" value="C2400501" class="btnShow1 " ></button></td>
- <td><button id="C2400601" value="C2400601" class="btnShow1 " ></button></td>
- <td><button id="C2400701" value="C2400701" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2400801" value="C2400801" class="btnShow1 " ></button></td>
<td><button id="C2400901" value="C2400901" class="btnShow1 " ></button></td>
- <td class="btnShow1"></td>
+ <td class="btnShow1"></td>
<td><button id="C2401101" value="C2401101" class="btnShow1 " ></button></td>
<td><button id="C2401201" value="C2401201" class="btnShow1 " ></button></td>
<td><button id="C2401301" value="C2401301" class="btnShow1 " ></button></td>
- <td><button id="C2401401" value="C2401401" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2401501" value="C2401501" class="btnShow1 " ></button></td>
<td><button id="C2401601" value="C2401601" class="btnShow1 " ></button></td>
<td><button id="C2401701" value="C2401701" class="btnShow1 " ></button></td>
@@ -1152,7 +1078,7 @@
<td><button id="C2402201" value="C2402201" class="btnShow1 " ></button></td>
<td><button id="C2402301" value="C2402301" class="btnShow1 " ></button></td>
<td><button id="C2402401" value="C2402401" class="btnShow1 " ></button></td>
- <td><button id="C2402501" value="C2402501" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2402601" value="C2402601" class="btnShow1 " ></button></td>
<td><button id="C2402701" value="C2402701" class="btnShow1 " ></button></td>
<td><button id="C2402801" value="C2402801" class="btnShow1 " ></button></td>
@@ -1171,27 +1097,7 @@
</div>
<div class="flesDiv" style="width: 100%; height: 25%;">
<table>
- <!-- <tr>
- <td><button id="C2403904" value="C2403904" class="btnShow1 " ></button></td>
- <td><button id="C2404004" value="C2404004" class="btnShow1 " ></button></td>
- <td><button id="C2404104" value="C2404104" class="btnShow1 " ></button></td>
- <td><button id="C2404204" value="C2404204" class="btnShow1 " ></button></td>
- <td class="btnShow1"></td>
- <td><button id="C2404401" value="C2404401" class="btnShow1 " ></button></td>
- <td><button id="C2404604" value="C2404604" class="btnShow1 " ></button></td>
- <td><button id="C2404704" value="C2404704" class="btnShow1 " ></button></td>
- <td><button id="C2404804" value="C2404804" class="btnShow1 " ></button></td>
- <td><button id="C2404904" value="C2404904" class="btnShow1 " ></button></td>
- <td><button id="C2405004" value="C2405004" class="btnShow1 " ></button></td>
- <td><button id="C2405104" value="C2405104" class="btnShow1 " ></button></td>
- <td><button id="C2405203" value="C2405203" class="btnShow1 " ></button></td>
- <td class="btnShow1"></td>
- <td><button id="C2405404" value="C2405404" class="btnShow1 " ></button></td>
- <td><button id="C2405504" value="C2405504" class="btnShow1 " ></button></td>
- <td><button id="C2405604" value="C2405604" class="btnShow1 " ></button></td>
- <td><button id="C2405704" value="C2405704" class="btnShow1 " ></button></td>
- <td><button id="C2405804" value="C2405804" class="btnShow1 " ></button></td>
- </tr> -->
+
<tr>
<td><button id="C2403903" value="C2403903" class="btnShow1 " ></button></td>
<td><button id="C2404003" value="C2404003" class="btnShow1 " ></button></td>
@@ -1219,16 +1125,15 @@
<td><button id="C2404102" value="C2404102" class="btnShow1 " ></button></td>
<td><button id="C2404202" value="C2404202" class="btnShow1 " ></button></td>
<td><button id="C2404302" value="C2404302" class="btnShow1 " ></button></td>
-
- <td><button id="C2404502" value="C2404502" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2404602" value="C2404602" class="btnShow1 " ></button></td>
<td><button id="C2404702" value="C2404702" class="btnShow1 " ></button></td>
<td><button id="C2404802" value="C2404802" class="btnShow1 " ></button></td>
<td><button id="C2404902" value="C2404902" class="btnShow1 " ></button></td>
<td><button id="C2405002" value="C2405002" class="btnShow1 " ></button></td>
<td><button id="C2405102" value="C2405102" class="btnShow1 " ></button></td>
- <td><button id="C2405201" value="C2405201" class="btnShow1 " ></button></td>
- <td><button id="C2405302" value="C2405302" class="btnShow1 " ></button></td>
+ <td><button id="C2405201" value="C2405201" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2405402" value="C2405402" class="btnShow1 " ></button></td>
<td><button id="C2405502" value="C2405502" class="btnShow1 " ></button></td>
<td><button id="C2405602" value="C2405602" class="btnShow1 " ></button></td>
@@ -1241,8 +1146,7 @@
<td><button id="C2404101" value="C2404101" class="btnShow1 " ></button></td>
<td><button id="C2404201" value="C2404201" class="btnShow1 " ></button></td>
<td><button id="C2404301" value="C2404301" class="btnShow1 " ></button></td>
-
- <td><button id="C2404501" value="C2404501" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2404601" value="C2404601" class="btnShow1 " ></button></td>
<td><button id="C2404701" value="C2404701" class="btnShow1 " ></button></td>
<td><button id="C2404801" value="C2404801" class="btnShow1 " ></button></td>
@@ -1250,7 +1154,7 @@
<td><button id="C2405001" value="C2405001" class="btnShow1 " ></button></td>
<td><button id="C2405101" value="C2405101" class="btnShow1 " ></button></td>
<td class="btnShow1"></td>
- <td><button id="C2405301" value="C2405301" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2405401" value="C2405401" class="btnShow1 " ></button></td>
<td><button id="C2405501" value="C2405501" class="btnShow1 " ></button></td>
<td><button id="C2405601" value="C2405601" class="btnShow1 " ></button></td>
@@ -1280,14 +1184,13 @@
<td><button id="C2407403" value="C2407403" class="btnShow1 " ></button></td>
<td><button id="C2407503" value="C2407503" class="btnShow1 " ></button></td>
<td><button id="C2407603" value="C2407603" class="btnShow1 " ></button></td>
- <td><button id="C2407703" value="C2407703" class="btnShow1 " ></button></td>
</tr>
<tr>
<td><button id="C2405902" value="C2405902" class="btnShow1 " ></button></td>
<td><button id="C2406002" value="C2406002" class="btnShow1 " ></button></td>
<td><button id="C2406102" value="C2406102" class="btnShow1 " ></button></td>
<td><button id="C2406202" value="C2406202" class="btnShow1 " ></button></td>
- <td><button id="C2406302" value="C2406302" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td class="btnShow1"></td>
<td><button id="C2406502" value="C2406502" class="btnShow1 " ></button></td>
<td><button id="C2406602" value="C2406602" class="btnShow1 " ></button></td>
@@ -1301,15 +1204,14 @@
<td><button id="C2407402" value="C2407402" class="btnShow1 " ></button></td>
<td><button id="C2407502" value="C2407502" class="btnShow1 " ></button></td>
<td><button id="C2407602" value="C2407602" class="btnShow1 " ></button></td>
- <td><button id="C2407702" value="C2407702" class="btnShow1 " ></button></td>
</tr>
<tr>
<td><button id="C2405901" value="C2405901" class="btnShow1 " ></button></td>
<td><button id="C2406001" value="C2406001" class="btnShow1 " ></button></td>
<td><button id="C2406101" value="C2406101" class="btnShow1 " ></button></td>
<td><button id="C2406201" value="C2406201" class="btnShow1 " ></button></td>
- <td><button id="C2406301" value="C2406301" class="btnShow1 " ></button></td>
- <td><button id="C2406401" value="C2406401" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
+ <td class="btnShow1"></td>
<td><button id="C2406501" value="C2406501" class="btnShow1 " ></button></td>
<td><button id="C2406601" value="C2406601" class="btnShow1 " ></button></td>
<td><button id="C2406701" value="C2406701" class="btnShow1 " ></button></td>
@@ -1317,12 +1219,11 @@
<td><button id="C2406901" value="C2406901" class="btnShow1 " ></button></td>
<td><button id="C2407001" value="C2407001" class="btnShow1 " ></button></td>
<td><button id="C2407101" value="C2407101" class="btnShow1 " ></button></td>
- <td><button id="C2407201" value="C2407201" class="btnShow1 " ></button></td>
+ <td class="btnShow1"></td>
<td><button id="C2407301" value="C2407301" class="btnShow1 " ></button></td>
<td><button id="C2407401" value="C2407401" class="btnShow1 " ></button></td>
<td><button id="C2407501" value="C2407501" class="btnShow1 " ></button></td>
<td><button id="C2407601" value="C2407601" class="btnShow1 " ></button></td>
- <td><button id="C2407701" value="C2407701" class="btnShow1 " ></button></td>
</tr>
</table>
</div>
diff --git a/HTML/views/WareHouseSetting/Locate.html b/HTML/views/WareHouseSetting/Locate.html
index 0213ea4..2e2711c 100644
--- a/HTML/views/WareHouseSetting/Locate.html
+++ b/HTML/views/WareHouseSetting/Locate.html
@@ -109,12 +109,12 @@
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储
</button>
</div>
- <div class="layui-inline">
+ <!-- <div class="layui-inline">
<button style="margin-right: 10px;" class="layui-btn layui-btn-normal layui-btn-sm layuiadmin-btn-list editClass"
data-type="editList" id="approvalBtn">
<i class="layui-icon layui-icon-edit layuiadmin-button-btn"> </i>鎵归噺缂栬緫
</button>
- </div>
+ </div> -->
</div>
</div>
<div id="center"></div>
diff --git a/HTML/views/WareHouseSetting/Pallets.html b/HTML/views/WareHouseSetting/Pallets.html
index 827a75d..5e50472 100644
--- a/HTML/views/WareHouseSetting/Pallets.html
+++ b/HTML/views/WareHouseSetting/Pallets.html
@@ -164,7 +164,7 @@
default:
return "";
}
- }
+ }
}, {
field: 'CreateUserName',
title: '鍒涘缓浜�',
@@ -251,7 +251,7 @@
var param = {
PalletNo:field.StockCode,
LocatNo:field.LocatNo,
- DeviceCode:field.DeviceCode
+ DeviceCode:field.Status
};
synData(IP + "/Sys/AddPallets", param, 'post', function(res) {
console.log(res);
diff --git a/HTML/views/WareHouseSetting/PalletsPrintFrom.html b/HTML/views/WareHouseSetting/PalletsPrintFrom.html
index a0c4fce..187b972 100644
--- a/HTML/views/WareHouseSetting/PalletsPrintFrom.html
+++ b/HTML/views/WareHouseSetting/PalletsPrintFrom.html
@@ -13,23 +13,28 @@
<div class="layui-form" lay-filter="layuiadmin-app-form-list" id="layuiadmin-app-form-list" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label">妗跺彿</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="width: 70%;">
<input type="text" name="StockCode" placeholder="璇疯緭鍏ユ《鍙�" lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">鍌ㄤ綅鍦板潃</label>
- <div class="layui-input-block">
+ <div class="layui-input-block" style="width: 70%;">
<input type="text" name="LocatNo" placeholder="璇疯緭鍏ュ偍浣嶅湴鍧�" lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
- <label class="layui-form-label">妗惰鏍�(L)</label>
- <div class="layui-input-block">
- <input type="text" name="DeviceCode" placeholder="璇疯緭鍏ユ《瑙勬牸" lay-verify="required" autocomplete="off" class="layui-input">
- </div>
- </div>
+ <label class="layui-form-label">妗剁被鍨�</label>
+ <div class="layui-input-block" style="width: 70%;">
+ <select name="Status" id="Status" lay-verify="">
+ <option value=""></option>
+ <option value="0">鍑�妗�</option>
+ <option value="3">鑴忔《</option>
+ </select>
+ </div>
+ </div>
<div class="layui-form-item layui-hide">
+
<input type="button" lay-submit lay-filter="layuiadmin-app-form-submit" id="layuiadmin-app-form-submit" value="纭娣诲姞">
<input type="button" lay-submit lay-filter="layuiadmin-app-form-edit" id="layuiadmin-app-form-edit" value="纭缂栬緫">
</div>
diff --git a/Wms/Model/InterFaceModel/HopperTransportModel.cs b/Wms/Model/InterFaceModel/HopperTransportModel.cs
index 5b73558..34b163a 100644
--- a/Wms/Model/InterFaceModel/HopperTransportModel.cs
+++ b/Wms/Model/InterFaceModel/HopperTransportModel.cs
@@ -22,6 +22,13 @@
public decimal Weight { get; set; }
}
+ public class PointTask
+ {
+ public string ID { get; set; }
+ public string BeginPoint { get; set; }
+ public string EndPoint { get; set; }
+
+ }
}
diff --git a/Wms/Model/InterFaceModel/HttpModel.cs b/Wms/Model/InterFaceModel/HttpModel.cs
index cd50900..7b14e5a 100644
--- a/Wms/Model/InterFaceModel/HttpModel.cs
+++ b/Wms/Model/InterFaceModel/HttpModel.cs
@@ -1,5 +1,6 @@
锘縰sing System;
using System.Collections.Generic;
+using System.Data;
using System.Text;
namespace Model.InterFaceModel
@@ -592,64 +593,6 @@
}
/// <summary>
- /// 鍙栨秷浠诲姟
- /// </summary>
- public class AgvCancelTask
- {
- /// <summary>
- /// 璇锋眰缂栧彿锛屾瘡涓姹傞兘瑕佷竴涓敮涓�缂栧彿锛� 鍚屼竴涓姹傞噸澶嶆彁浜わ紝 浣跨敤鍚屼竴缂栧彿銆�
- /// 鏄惁蹇呭~锛氭槸
- /// </summary>
- public string ReqCode { get; set; }
-
- /// <summary>
- /// 璇锋眰鏃堕棿鎴�
- /// 鏍煎紡: 鈥測yyy-MM-dd HH:mm:ss鈥濄��
- /// 鏄惁蹇呭~锛氬惁
- /// </summary>
- public string ReqTime { get; set; }
-
- /// <summary>
- /// 瀹㈡埛绔紪鍙凤紝濡� PDA锛孒CWMS 绛夈��
- /// 鏄惁蹇呭~锛氬惁
- /// </summary>
- public string ClientCode { get; set; }
-
- /// <summary>
- /// 浠ょ墝鍙�, 鐢辫皟搴︾郴缁熼鍙戙�� 鐢盧CS-2000 鍛婄煡涓婂眰绯荤粺
- /// 鏄惁蹇呭~锛氬惁
- /// </summary>
- public string TokenCode { get; set; }
-
- /// <summary>
- /// 鍙栨秷绫诲瀷
- /// 0 琛ㄧず锛氬彇娑堝悗璐ф灦鐩存帴鏀惧湴涓�
- /// 1 琛ㄧず锛欰GV 浠嶇劧鑳岀潃璐ф灦锛� 鏍规嵁鍥炲簱鍖哄煙鎵ц鍥炲簱鎸囦护锛� 鍙湁娼滀紡杞﹀拰 CTU 杞︽敮鎸併��
- /// 鑻ヤ笉浼犲�硷紝榛樿鐨勫彇娑堟ā寮忎负 0
- /// 鏄惁蹇呭~锛氬惁
- /// </summary>
- public string ForceCancel { get; set; }
-
- /// <summary>
- /// forcecancel=1 鏃舵湁鎰忎箟锛屽洖搴撳尯鍩熺紪鍙凤紝濡傛灉涓虹┖锛岄噰鐢ㄨ揣鏋堕厤缃殑搴撳尯銆�
- /// 鏄惁蹇呭~锛氬惁
- /// </summary>
- public string MatterArea { get; set; }
-
- /// <summary>
- /// 鍙栨秷璇� AGV 姝e湪鎵ц鐨勪换鍔″崟
- /// 鏄惁蹇呭~锛氬惁
- /// </summary>
- public string AgvCode { get; set; }
-
- /// <summary>
- /// 浠诲姟鍗曠紪鍙�, 鍙栨秷璇ヤ换鍔″崟
- /// 鏄惁蹇呭~锛氬惁
- /// </summary>
- public string TaskCode { get; set; }
- }
-
- /// <summary>
/// 浠诲姟瀹屾垚閫氱煡鍙傛暟
/// </summary>
public class AgvTaskDto
@@ -683,6 +626,12 @@
public ExtraModelView values { get; set; }
}
+ public class AgvCancelTask
+ {
+ public string robotTaskCode { get; set; }
+ public string cancelType { get; set; }
+
+ }
/// <summary>
diff --git a/Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs b/Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs
index a37925e..c602f48 100644
--- a/Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs
+++ b/Wms/Model/ModelVm/DataVm/DataStockInfoVM.cs
@@ -193,4 +193,13 @@
/// </summary>
public int? UpdateUser { get; set; }
}
+ public class DelStockInfo
+ {
+ /// <summary>
+ /// Desc:搴撳瓨鏄庣粏ID
+ /// Default:
+ /// Nullable:False
+ /// </summary>
+ public int StockId { get; set; }
+ }
}
diff --git a/Wms/Utility/Tools/RcsHelper.cs b/Wms/Utility/Tools/RcsHelper.cs
index 88d44ab..2c7164e 100644
--- a/Wms/Utility/Tools/RcsHelper.cs
+++ b/Wms/Utility/Tools/RcsHelper.cs
@@ -29,7 +29,7 @@
switch (taskDetial.Crtype)
{
case "1": //鍙《
- tasktype = "F12";
+ tasktype = "F16";
break;
case "2": //鍙溅
tasktype = "F12";
@@ -43,13 +43,11 @@
default:
break;
}
-
- //璺ㄦゼ灞備换鍔asktype鍊艰祴鍊尖�︹��
- if (taskDetial.Endport.Substring(0,3) == "C01")
+ //鍙栧噣妗惰法妤煎眰浠诲姟tasktype鍊艰祴鍊�
+ if (taskDetial.Endport.Substring(0,3) == "C01" && taskDetial.Startport.Substring(0,1) == "1")
{
tasktype = "F23";
}
-
List<targetRoute> pahtList = new List<targetRoute>();
//璧峰浣嶇疆
@@ -165,10 +163,10 @@
// 姝e紡杩愯绋嬪簭鏀惧紑
var jsonData = JsonConvert.SerializeObject(carrierInfo);
- string response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV缁戝畾杞藉叿鍛戒护", "AGV", key);
+ string response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV瑙i櫎缁戝畾杞藉叿鍛戒护", "AGV", key);
//瑙f瀽杩斿洖鏁版嵁
var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);
- if (agvModel.Code == "0")
+ if (agvModel.Code == "SUCCESS")
{
result = true;//缁欎笅杞︿笅鍙戜换鍔℃垚鍔�
diff --git a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
index 959b073..f7ce021 100644
--- a/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
+++ b/Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
@@ -96,6 +96,11 @@
throw new Exception("璐ㄦ鍙蜂笉鍙负绌猴紝璇锋牳鏌ワ紒");
}
//楠岃瘉鎵规鍙锋槸鍚︿负绌�
+ if (string.IsNullOrEmpty(model.SkuNo))
+ {
+ throw new Exception("鐗╂枡缂栫爜涓嶅彲涓虹┖锛岃鏍告煡锛�");
+ }
+ //楠岃瘉鎵规鍙锋槸鍚︿负绌�
if (string.IsNullOrEmpty(model.LotNo))
{
throw new Exception("鎵规鍙蜂笉鍙负绌猴紝璇锋牳鏌ワ紒");
@@ -103,14 +108,17 @@
model.Origin = "WMS"; //鏉ユ簮
model.CreateTime = Db.GetDate(); //鍒涘缓鏃ユ湡
- model.SkuNo = ""; //鐗╂枡鍙�
model.SkuName = ""; //鐗╂枡鍚嶇О
model.PassQty = 0; //鍚堟牸鏁伴噺
model.FailQty = 0; //涓嶅悎鏍兼暟閲�
model.Standard = ""; //瑙勬牸
//鏌ユ壘搴撳瓨鏄庣粏淇℃伅
- List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.LotNo == model.LotNo).ToList();
+ List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo).ToList();
+ if (detail.Count == 0)
+ {
+ throw new Exception("鏈壘鍒板綋鍓嶇墿鏂欏綋鍓嶆壒娆$殑搴撳瓨");
+ }
foreach (var item in detail)
{
//鍒ゆ柇鍚堟牸鐘舵�佹槸鍚﹀悎鏍�
@@ -151,6 +159,34 @@
throw new Exception(ex.Message);
}
}
+
+ /// <summary>
+ /// 鑾峰彇搴撳瓨鎵规鍙烽泦鍚�
+ /// </summary>
+ /// <returns></returns>
+ /// <exception cref="Exception"></exception>
+ public List<DataStockDetail> GetLotNoList(string skuNo)
+ {
+ try
+ {
+ string str = "select skuNo from DataStockDetail where isDel = '0'";
+ if (!string.IsNullOrEmpty(skuNo))
+ {
+ str += " and skuNo = @skuNo";
+ }
+
+ str += " group by skuNo";
+ List<DataStockDetail> skulist = Db.Ado.SqlQuery<DataStockDetail>(str, new
+ {
+ SkuNo = "%" + skuNo + "%", //鐗╂枡鍙�
+ });
+ return skulist;
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ }
#endregion
}
diff --git a/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs b/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
index 29fb576..821fbdf 100644
--- a/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/HopperTransportServer.cs
@@ -240,6 +240,7 @@
{
throw new Exception("婊℃《璇烽�夋嫨鐗╂枡涓庢壒娆�");
}
+
//鍒ゆ柇鐩爣鍙枡鍌ㄤ綅鐘舵��
var endLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == endLocate && m.AreaNo == areaNo);
if (endLocateInfo == null)
@@ -274,7 +275,12 @@
{
if (house.WareHouseNo == "M01")
{
- stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.Status == "0" && m.PalletStatus == "0" && m.Standard == standard && !string.IsNullOrWhiteSpace(m.LocatNo)).OrderBy(m => m.LocatNo).ToList();
+ stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.Status == "0" && m.PalletStatus == "0" && m.WareHouseNo == "M01" && m.Standard == standard && !string.IsNullOrWhiteSpace(m.LocatNo)).OrderBy(m => m.LocatNo).ToList();
+ if (stockDetail.Count() == 0)
+ {
+ stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.Status == "0" && m.PalletStatus == "0" && m.Standard == standard && !string.IsNullOrWhiteSpace(m.LocatNo)).OrderBy(m => m.LocatNo).ToList();
+ }
+
}
else
{
@@ -285,7 +291,8 @@
//婊℃《
else if (plnStatus == "2")
{
- stockDetail = stockDetail.Where(m => m.PalletStatus == "2" && m.SkuNo == skuNo && m.LotNo == lotNo).OrderBy(m => m.LocatNo).ToList();
+ stockDetail = stockDetail.Where(m => m.PalletStatus == "2" && m.SkuNo == skuNo && m.LotNo == lotNo && m.InspectStatus == "1").OrderBy(m => m.LocatNo).ToList();
+
}
else
{
@@ -305,25 +312,45 @@
//鐩爣浠撳簱鎵�鏈夊偍浣�
var locatList = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Flag=="0" && w.WareHouseNo == house.WareHouseNo).OrderBy(w=>w.Column).ToList();
//鐩爣浠撳簱鎵�鏈夋渶澶栦晶鐨勫偍浣�
- var locatListWai = locatList.Where(w => string.IsNullOrEmpty(w.AisleOne)).Select(s => s.LocatNo);
-
- //鍏堟壘涓嶉渶瑕佺Щ搴撶殑妗�
- var palletModel = stockDetail.Where(w => locatListWai.Contains(w.LocatNo) && w.Status == "0").OrderByDescending(w => w.UpdateTime).FirstOrDefault();
- if (palletModel == null)
+ var locatListWai = locatList.Where(w => string.IsNullOrEmpty(w.AisleOne) && w.Flag == "0").Select(s => s.LocatNo);
+ var locatListNei = locatList.Where(w => !string.IsNullOrEmpty(w.AisleOne) && w.Flag == "0").Select(s => s.LocatNo);
+ var palletModel = new DataStockDetail();
+ if (plnStatus == "0") //鍑�妗惰幏鍙栧簱浣�
{
- //鎵鹃渶瑕佺Щ搴撶殑妗�
- palletModel= stockDetail.Where(w => !locatListWai.Contains(w.LocatNo)).OrderByDescending(w => w.UpdateTime).FirstOrDefault();
+ //鍏堟壘涓嶉渶瑕佺Щ搴撶殑妗�
+ palletModel = stockDetail.Where(w => locatListWai.Contains(w.LocatNo) && w.Status == "0" && w.Standard == standard).OrderByDescending(w => w.UpdateTime).FirstOrDefault();
if (palletModel == null)
{
- throw new Exception("鏈壘鍒板搴旀《淇℃伅");
+ //鎵鹃渶瑕佺Щ搴撶殑妗�
+ palletModel = stockDetail.Where(w => locatListNei.Contains(w.LocatNo) && w.Standard == standard).OrderByDescending(w => w.UpdateTime).FirstOrDefault();
+ if (palletModel == null)
+ {
+ throw new Exception("鏈壘鍒板搴旀《淇℃伅");
+ }
+ resultYi = YikuTask(palletModel.PalletNo, taskNo, url, bindUrl);
}
- resultYi = YikuTask(palletModel.PalletNo, taskNo, url,bindUrl);
}
+ else //婊℃《鑾峰彇搴撲綅
+ {
+ //鍏堟壘涓嶉渶瑕佺Щ搴撶殑妗�
+ palletModel = stockDetail.Where(w => locatListWai.Contains(w.LocatNo) && w.Status == "0").OrderByDescending(w => w.UpdateTime).FirstOrDefault();
+ if (palletModel == null)
+ {
+ //鎵鹃渶瑕佺Щ搴撶殑妗�
+ palletModel = stockDetail.Where(w => locatListNei.Contains(w.LocatNo)).OrderByDescending(w => w.UpdateTime).FirstOrDefault();
+ if (palletModel == null)
+ {
+ throw new Exception("鏈壘鍒板搴旀《淇℃伅");
+ }
+ resultYi = YikuTask(palletModel.PalletNo, taskNo, url, bindUrl);
+ }
+ }
+
palletModel.Status = "2";
Db.Updateable(palletModel).ExecuteCommand();
#endregion
//璧峰鍌ㄤ綅鍦板潃淇℃伅
- var startLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.Status == "1" && w.LocatNo == palletModel.LocatNo);
+ var startLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletModel.LocatNo);
if (startLoction == null)
{
throw new Exception($"璧峰鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦紝妗跺彿锛歿palletModel.LocatNo}");
@@ -332,6 +359,12 @@
if (resultYi)
{
taskNo = taskNo + "-1";
+ }
+ //妫�楠屽綋鍓嶆墭鐩樻槸鍚︽湁浠诲姟鏈畬鎴�
+ var checkTask = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && (w.Status == "1" || w.Status == "0") && w.PalletNo == palletModel.PalletNo);
+ if (checkTask != null)
+ {
+ throw new Exception("褰撳墠鎵樼洏鏈夋鍦ㄦ墽琛岀殑浠诲姟锛�");
}
//娣诲姞浠诲姟
var logTaskEntry = new LogTask
@@ -430,8 +463,8 @@
{
try
{
+ string type = "1";//鍙枡妯℃澘
#region 鍒ゆ柇
-
if (string.IsNullOrWhiteSpace(areaNo) || string.IsNullOrWhiteSpace(StartLocate) || string.IsNullOrWhiteSpace(plnStatus))
{
throw new Exception("鍖哄煙/璧峰浣�/妗剁被鍨嬩笉鑳戒负绌�");
@@ -480,6 +513,10 @@
//鐩爣妤煎眰
var layer = startLoction.Layer;
var houseStr = layer == 3 ? "3妤间腑闂寸珯" : layer == 4 ? "4妤间腑闂寸珯" : "";
+ if (layer == 3 && plnStatus == "2")
+ {
+ type = "2";
+ }
//閫氳繃浠撳簱鍚嶇О鏌ヨ浠撳簱淇℃伅
var house = Db.Queryable<SysWareHouse>().First(m => m.IsDel == "0" && m.WareHouseName == houseStr);
if (house == null)
@@ -516,7 +553,7 @@
Status = "2",
InspectMark = "0",
BitPalletMark = "0",
- InspectStatus = "1",
+ InspectStatus = "0",
};
Db.Updateable(stockDetailNew).ExecuteCommand();
}
@@ -538,7 +575,12 @@
{
throw new Exception("娌℃湁鎵惧埌鍚堥�傜殑鐩爣鍌ㄤ綅");
}
-
+ //妫�楠屽綋鍓嶆墭鐩樻槸鍚︽湁浠诲姟鏈畬鎴�
+ var checkTask = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && (w.Status == "1" || w.Status == "0") && w.PalletNo == plnNo);
+ if (checkTask != null)
+ {
+ throw new Exception("褰撳墠鎵樼洏鏈夋鍦ㄦ墽琛岀殑浠诲姟锛�");
+ }
var taskNo = new Common().GetMaxNo("TK");
//娣诲姞浠诲姟
var logTaskEntry = new LogTask
@@ -569,7 +611,7 @@
Startport = StartLocate,//璧峰浣嶇疆
Endport = endLocatInfo.LocatNo,//鐩爣浣嶇疆
Pallno = plnNo,//妗跺彿
- Crtype = "1",//鍙《
+ Crtype = type,//鍙溅妯℃澘
};
//璋冪敤AGV鎺ュ彛涓嬪彂浠诲姟
string agvMsg = string.Empty;
@@ -678,19 +720,37 @@
{
throw new Exception($"璧峰鍌ㄤ綅淇℃伅涓嶅瓨鍦�");
}
- startLocatInfo.Status = "0";//绌哄偍浣�
- //淇敼璧峰鍌ㄤ綅鐘舵��
- Db.Updateable(startLocatInfo).ExecuteCommand();
+ //startLocatInfo.Status = "0";//绌哄偍浣�
+ ////淇敼璧峰鍌ㄤ綅鐘舵��
+ //Db.Updateable(startLocatInfo).ExecuteCommand();
- //鐩爣鍌ㄤ綅淇℃伅
+ //浠诲姟琛ㄤ腑鐩爣鍌ㄤ綅淇℃伅
var endLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == taskInfo.EndLocat && w.IsDel == "0");
if (endLocatInfo == null)
{
throw new Exception($"鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�");
}
+ //AGV灏忚溅杩斿洖瀹為檯瀛樻斁鐩爣鍌ㄤ綅
+ var trueLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == locateNo && w.IsDel == "0");
+ if (trueLocatInfo == null)
+ {
+ throw new Exception($"灏忚溅鏀捐揣鍌ㄤ綅淇℃伅涓嶅瓨鍦�");
+ }
+ if (endLocatInfo.LocatNo != trueLocatInfo.LocatNo)
+ {
+ //涓嶄竴鑷存椂浠ュ皬杞︽斁璐у偍浣嶄负鍑�
+ endLocatInfo = trueLocatInfo;
+ //var tasklocat = Db.Queryable<LogTask>().First(w => w.EndLocat == trueLocatInfo.LocatNo && (w.Status == "0" || w.Status == "1") && w.IsDel == "0");
+ //if (tasklocat == null)
+ //{
+ // trueLocatInfo.Status = "0";
+ // Db.Updateable(trueLocatInfo).ExecuteCommand();
+ //}
+
+ }
+ //淇敼鐩爣鍌ㄤ綅鐘舵��
endLocatInfo.Status = "1";//鏈夌墿鍝�
endLocatInfo.UpdateTime = DateTime.Now;//鏇存柊鏃堕棿
- //淇敼鐩爣鍌ㄤ綅鐘舵��
Db.Updateable(endLocatInfo).ExecuteCommand();
//鐩爣鍌ㄤ綅鎵�灞炲尯鍩�
@@ -817,6 +877,7 @@
var startLoction = new SysStorageLocat();//璧峰鍌ㄤ綅淇℃伅
var endLoction = new SysStorageLocat();//鐩爣鍌ㄤ綅淇℃伅
var palletModel = new DataStockDetail();//鍒嗛厤妗朵俊鎭�
+ string locatno = "";
string type = "";//鍙枡绫诲瀷
//寮�鍚簨鍔�
@@ -847,22 +908,26 @@
{
//鏈夎剰妗剁殑璇濓紝灏嗘洿鏀规妗剁姸鎬�(浠h〃姝ゆ《姝e湪娓呮礂涓�)
var qxStock = Db.Queryable<DataStockDetail>().Where(w => w.LocatNo == endLoction.LocatNo).First();
+ if (qxStock == null)
+ {
+ throw new Exception("鍙枡浣嶇疆鐘舵�侀敊璇�");
+ }
qxStock.Status = "2";
- qxStock.UpdateTime = DateTime.Now;//娓呮礂鏃堕棿
+ //qxStock.UpdateTime = DateTime.Now;//娓呮礂鏃堕棿
Db.Updateable(qxStock).ExecuteCommand();
//鏇存敼璁惧鍌ㄤ綅鐘舵�佷负绌哄偍浣�
endLoction.Status = "0";
Db.Updateable(endLoction).ExecuteCommand();
}
//浼樺厛鏌ユ壘鑴忔《缂撳瓨杞﹂棿
- palletModel = stockDetail.Where(w => w.AreaNo == "C54").FirstOrDefault();
+ palletModel = stockDetail.Where(w => w.AreaNo == "C54").OrderByDescending(w => w.UpdateTime).FirstOrDefault();
if (palletModel == null)//鑴忔《缂撳瓨杞﹂棿娌℃湁鑴忔《锛屽啀浠庝笁妤间腑闂寸珯鑴忔《鍖烘煡鎵�
{
- palletModel = stockDetail.Where(w => w.WareHouseNo == "M16" && w.AreaNo == "C26").FirstOrDefault();
+ palletModel = stockDetail.Where(w => w.WareHouseNo == "M16" && w.AreaNo == "C26").OrderByDescending(w => w.UpdateTime).FirstOrDefault();
}
if (palletModel == null)//涓夋ゼ涓棿绔欒剰妗跺尯娌℃湁鑴忔《锛屽啀浠庡洓妤间腑闂寸珯鑴忔《鍖烘煡鎵�
{
- palletModel = stockDetail.Where(w => w.WareHouseNo == "M01" && w.AreaNo == "C03").FirstOrDefault();
+ palletModel = stockDetail.Where(w => w.WareHouseNo == "M01" && w.AreaNo == "C03").OrderByDescending(w => w.UpdateTime).FirstOrDefault();
}
if (palletModel == null)
{
@@ -875,7 +940,7 @@
throw new Exception($"璧峰鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦紝妗跺彿锛歿palletModel.LocatNo}");
}
//璧峰妗朵俊鎭�
- var startDataDetil = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.Status == "0" && w.PalletStatus == "3");
+ var startDataDetil = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.Status == "0" && w.PalletStatus == "3" && w.PalletNo == palletModel.PalletNo);
if (startDataDetil == null)
{
throw new Exception($"娓呮礂鏈烘墍鍙殑妗剁姸鎬侀敊璇紝妗跺彿锛歿palletModel.LocatNo}");
@@ -898,7 +963,7 @@
startLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo);
//鑾峰彇娓呮礂鏈轰笂绗竴娆″彨鐨勮剰妗�
string locate = deviceID == "1002"?"1001":"1003";
- palletModel = Db.Queryable<DataStockDetail>().Where(w => w.LocatNo == locate && (w.Status == "2" || w.Status == "0")).OrderBy(o => o.CreateTime).First();
+ palletModel = Db.Queryable<DataStockDetail>().Where(w => w.LocatNo == locate).OrderBy(o => o.UpdateTime).First();
if (palletModel == null)
{
throw new Exception("鏈壘鍒板簱瀛樹腑姝e湪娓呮礂鐨勮剰妗�");
@@ -918,20 +983,55 @@
{
throw new Exception("娌℃湁绌轰綑鐨勫噣妗跺偍浣�");
}
- //浼樺厛鍒嗛厤鍥涙ゼ涓棿绔欏噣妗跺尯
- endLoction = jtLocate.Where(w => w.WareHouseNo == "M01" && w.AreaNo == "C01")
- .OrderBy(w => w.Row).OrderByDescending(w => w.Column).FirstOrDefault();
- if (endLoction == null)//鍥涙ゼ涓棿绔欏噣妗跺尯娌℃湁绌哄偍浣嶏紝鍐嶄粠涓夋ゼ涓棿绔欏噣妗跺尯鏌ユ壘
+ //棣栧厛鏌ユ壘鏄惁宸叉湁鍚岃鏍煎悓宸烽亾鐨勭┖浣�
+ var pallnoStorage = Db.Queryable<DataStockDetail>().Where(w => w.Standard == palletModel.Standard && w.PalletStatus == "0" && w.Status == "0").OrderBy(o => o.UpdateTime).ToList();
+ if (pallnoStorage.Count()>0)
{
- endLoction = jtLocate.Where(w => w.WareHouseNo == "M16" && w.AreaNo == "C24")
- .OrderBy(w => w.Row).OrderByDescending(w => w.Column).FirstOrDefault();
+ foreach (var item in pallnoStorage)
+ {
+ //鑾峰彇宸烽亾鍒楋紝鏌ユ壘鍒椾腑绌哄偍浣�
+ var pallnoRow = Db.Queryable<SysStorageLocat>().Where(w => w.LocatNo == item.LocatNo).First();
+ endLoction = jtLocate.Where(w => w.AreaNo == pallnoRow.AreaNo && w.Row == pallnoRow.Row && w.Status == "0" && w.Flag == "0" && w.Column<pallnoRow.Column).FirstOrDefault();
+ if (endLoction == null)
+ {
+ continue;
+ }
+ else
+ {
+ locatno = endLoction.LocatNo;
+ break;
+ }
+ }
}
- if (endLoction == null)//涓夋ゼ涓棿绔欏噣妗跺尯娌℃湁绌哄偍浣嶏紝鍐嶄粠涓夋ゼ娓呮礂闂寸紦瀛樺尯鏌ユ壘 PS锛氬皬杞︾幇鍦ㄨ繕涓嶆敮鎸佹竻娲楁満鐩存帴閫佸線4妤煎噣妗跺尯
+ if (palletModel.Standard != "400L" && string.IsNullOrEmpty(locatno))
+ {
+ //浼樺厛鍒嗛厤鍥涙ゼ涓棿绔欏噣妗跺尯
+ endLoction = jtLocate.Where(w => w.WareHouseNo == "M01" && w.AreaNo == "C01")
+ .OrderBy(w => w.Row).OrderByDescending(w => w.Column).FirstOrDefault();
+ if (endLoction != null)
+ {
+ locatno = endLoction.LocatNo;
+ }
+ }
+ if (string.IsNullOrEmpty(locatno))
+ {
+ endLoction = jtLocate.Where(w => w.WareHouseNo == "M16" && w.AreaNo == "C24")
+ .OrderBy(w => w.Row).OrderByDescending(w => w.Column).FirstOrDefault();
+ if (endLoction != null)
+ {
+ locatno = endLoction.LocatNo;
+ }
+ }
+ if (string.IsNullOrEmpty(locatno))//涓夋ゼ涓棿绔欏噣妗跺尯娌℃湁绌哄偍浣嶏紝鍐嶄粠涓夋ゼ娓呮礂闂寸紦瀛樺尯鏌ユ壘
{
endLoction = jtLocate.Where(w => w.WareHouseNo == "M44" && w.AreaNo == "C55")
.OrderBy(w => w.Row).OrderByDescending(w => w.Column).FirstOrDefault();
+ if (endLoction != null)
+ {
+ locatno = endLoction.LocatNo;
+ }
}
- if (endLoction == null)
+ if (string.IsNullOrEmpty(locatno))
{
throw new Exception("鏈煡璇㈠埌鍚堥�傚偍浣�");
}
@@ -952,7 +1052,12 @@
throw new Exception("鍙枡鐐逛綅寮傚父");
}
-
+ //妫�楠屽綋鍓嶆墭鐩樻槸鍚︽湁浠诲姟鏈畬鎴�
+ var checkTask = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && (w.Status == "1" || w.Status == "0") && w.PalletNo == palletModel.PalletNo);
+ if (checkTask != null)
+ {
+ throw new Exception("褰撳墠鎵樼洏鏈夋鍦ㄦ墽琛岀殑浠诲姟锛�");
+ }
var taskNo = new Common().GetMaxNo("TK");
//娣诲姞浠诲姟
var logTaskEntry = new LogTask
@@ -1009,6 +1114,25 @@
endLoction.Status = "2";//鍏ュ簱涓�
Db.Updateable(endLoction).ExecuteCommand();
+
+ //鍑�妗剁敵璇锋垚鍔熷悗鍒ゆ柇褰撳墠娓呮礂鏈轰笂鏄惁杩樻湁妗讹紝娌℃湁妗跺垯娓呯┖娓呮礂鏈哄叆鍙e伐浣嶇姸鎬�
+ if (deviceStation == "output")
+ {
+ var rlocat = palletModel.LocatNo == "1002" ? "1001" : "1003";
+ //鍒ゆ柇鏈夋病鏈夋鍦ㄦ墽琛岀殑鍒版竻娲楁満鍏ュ彛鐨勪换鍔�
+ var tasklist = Db.Queryable<LogTask>().First(w => w.EndLocat == rlocat && (w.Status == "0" && w.Status == "1"));
+ if (tasklist == null)
+ {
+ var stocklist = Db.Queryable<DataStockDetail>().First(w => w.LocatNo == rlocat);
+ if (stocklist == null)
+ {
+ var rdecive = Db.Queryable<SysStorageLocat>().First(w => w.LocatNo == rlocat);
+ rdecive.Status = "0";
+ Db.Updateable(rdecive).ExecuteCommand();
+ }
+ }
+ }
+
}
else//澶辫触
{
@@ -1075,6 +1199,18 @@
{
throw new Exception("瑕佺Щ搴撶殑妗舵湁姝e湪鎵ц鐨勪换鍔★紝璇风◢鍚庡啀璇�");
}
+ //鍒ゆ柇瑕佺Щ搴撶殑妗跺渚ф槸鍚︽湁妗�
+ var locatInfoYi = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletInfoYi.LocatNo);
+ if (locatInfo == null)
+ {
+ throw new Exception("鏈煡璇㈠埌瑕佺Щ搴撶殑妗舵墍鍦ㄧ殑鍌ㄤ綅淇℃伅");
+ }
+ var palletInfoYi2 = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == locatInfoYi.AisleOne);
+ if (palletInfoYi2 != null)
+ {
+ throw new Exception("鎵�瑕佸彨鏂欑殑妗舵棤娉曡繘琛岀Щ搴擄紝璇疯仈绯荤鐞嗗憳杩涜鎵嬪姩绉绘《");
+ }
+
#region#缁欒绉诲簱鐨勬《鍏堢Щ鍒颁腑杞偍浣�
//鎵惧埌涓浆鍌ㄤ綅鎵�鍦ㄥ尯鍩�
var transfeArea = Db.Queryable<SysStorageArea>().First(w => w.IsDel == "0" && w.WareHouseNo == WareHouseNo && w.AreaName.Contains("杞繍鍖�"));
@@ -1112,6 +1248,7 @@
Msg = $"灏嗘《{palletInfoYi.PalletNo}浠巤palletInfoYi.LocatNo}绉诲埌{transferLocat.LocatNo}", //鍏抽敭淇℃伅
LotNo = ""//鎵规鍙�
};
+ Db.Insertable(logTaskEntry).ExecuteCommand();
//缁勭粐涓嬪彂灏忚溅浠诲姟淇℃伅
var task = new TaskDetial
@@ -1467,10 +1604,16 @@
{
endLocatInfo = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Flag == "0" && w.Row == rowItem.Row && w.AreaNo == rowItem.AreaNo && (w.WareHouseNo == "M01"||w.WareHouseNo == "M16"))
.OrderByDescending(o => o.Column).First();
- if (endLocatInfo.LocatNo != null)
+ if (endLocatInfo != null)
{
break;
}
+ }
+ if (endLocatInfo == null)
+ {
+ endLocatInfo = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Flag == "0"
+ && (w.AreaNo == "C02" || w.AreaNo == "C25"))
+ .OrderBy(o => o.Layer).OrderByDescending(o => o.Column).OrderBy(o => o.Row).First();
}
//娌℃湁鎵惧埌鐩稿悓鐗╂枡鍚岀粍鐨勭┖鍌ㄤ綅
if (endLocatInfo.LocatNo == null)
@@ -1483,11 +1626,12 @@
}
else {//鍏朵粬鍖哄煙
+ areaNo = houseNo == "M01" ? "C02" : "C25";
//鏌ュ埌鍒版弧妗跺尯鍩熺紪鍙�
areaNo = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.Type == "1").Select(s => s.AreaNo).First();
//鍒嗛厤鍌ㄤ綅
//鍏堟煡鍒板悓鐗╂枡鐨勭粍
- string sql = $@"select Row,AreaNo from SysStorageLocat where WareHouseNo='{houseNo}' and AreaNo='{areaNo}' and Status = '0' and LocatNo in(
+ string sql = $@"select Row,AreaNo from SysStorageLocat where WareHouseNo='{houseNo}' and AreaNo='{areaNo}' and Status = '1' and LocatNo in(
select LocatNo from DataStockDetail where SkuNo='{skuNo}' and LotNo = '{lotNo}' and Standard='{standard}' and WareHouseNo='{houseNo}' and AreaNo='{areaNo}'
) group by Row,AreaNo";
@@ -1498,13 +1642,19 @@
&& w.WareHouseNo == houseNo && w.AreaNo == areaNo && w.Row == rowItem.Row && w.AreaNo == rowItem.AreaNo && (w.WareHouseNo == "M01" || w.WareHouseNo == "M16"))
.OrderByDescending(o => o.Column).First();
- if (endLocatInfo.LocatNo != null)
+ if (endLocatInfo != null)
{
break;
}
}
+ if (endLocatInfo == null)
+ {
+ endLocatInfo = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Flag == "0"
+ && w.WareHouseNo == houseNo && w.AreaNo == areaNo)
+ .OrderByDescending(o => o.Column).OrderBy(o => o.Row).First();
+ }
//娌℃湁鎵惧埌鐩稿悓鐗╂枡鍚岀粍鐨勭┖鍌ㄤ綅
- if (endLocatInfo.LocatNo == null)
+ if (endLocatInfo.LocatNo == null )
{
endLocatInfo = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Status == "0" && w.Flag == "0"
@@ -1544,5 +1694,138 @@
throw new Exception(ex.Message);
}
}
+
+ /// <summary>
+ /// 鐐瑰鐐逛换鍔′笅鍙�
+ /// </summary>
+ /// <param name="beginLocate">璧峰浣�</param>
+ /// <param name="endLocate">缁堢偣浣�</param>
+ /// <exception cref="Exception"></exception>
+ public void PointToPointRequest(string id,string beginPoint, string endPoint, string url, string bindUrl)
+ {
+ try
+ {
+ //鏉冮檺鏍¢獙
+ var user = Db.Queryable<SysUserInfor>().First(m => m.IsDel == "0" && m.UserName == id);
+ if (user == null)
+ {
+ throw new Exception("娌℃湁鏌ヨ鍒扮敤鎴蜂俊鎭�");
+ }
+ if (user.RoleNo != "01")
+ {
+ throw new Exception("褰撳墠鐢ㄦ埛娌℃湁鏉冮檺浣跨敤姝ゅ姛鑳�");
+ }
+ //璧峰鍌ㄤ綅淇℃伅
+ var startLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == beginPoint);
+ if (startLoction == null)
+ {
+ throw new Exception("鏈壘鍒拌緭鍏ョ殑璧峰鍌ㄤ綅");
+ }
+ if (startLoction.Status != "1")
+ {
+ throw new Exception("璧峰鍌ㄤ綅锛�"+beginPoint+"鐨勫偍浣嶇姸鎬侀敊璇紝鍌ㄤ綅鐘舵�佸簲涓猴細鈥樻湁鐗╁搧鈥�");
+ }
+ //鐩爣鍌ㄤ綅淇℃伅
+ var endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == endPoint);
+ if (endLoction == null)
+ {
+ throw new Exception("鏈壘鍒拌緭鍏ョ殑鐩爣鍌ㄤ綅");
+ }
+ if (endLoction.Status != "0")
+ {
+ throw new Exception("鐩爣鍌ㄤ綅锛�" + endPoint + "鐨勫偍浣嶇姸鎬侀敊璇紝鍌ㄤ綅鐘舵�佸簲涓猴細'绌哄偍浣�'");
+ }
+ //鎵樼洏淇℃伅
+ var palletModel = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == beginPoint);
+ if (palletModel == null)
+ {
+ throw new Exception("鏈壘鍒板偍浣嶅搴旀墭鐩樹俊鎭紒");
+ }
+ //妫�楠屽綋鍓嶆墭鐩樻槸鍚︽湁浠诲姟鏈畬鎴�
+ var checkTask = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && (w.Status == "1" || w.Status == "0") && w.PalletNo == palletModel.PalletNo);
+ if (checkTask != null)
+ {
+ throw new Exception("褰撳墠鎵樼洏鏈夋鍦ㄦ墽琛岀殑浠诲姟锛�");
+ }
+
+ Db.BeginTran();
+ var taskNo = new Common().GetMaxNo("TK");
+ //娣诲姞浠诲姟
+ var logTaskEntry = new LogTask
+ {
+ TaskNo = taskNo,
+ Sender = "WMS",
+ Receiver = "RCS",
+ IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
+
+ StartLocat = beginPoint,//璧峰浣嶇疆
+ EndLocat = endPoint,//鐩爣浣嶇疆
+ PalletNo = palletModel.PalletNo,//鎵樼洏鐮�
+ IsSend = 1,//鏄惁鍙啀娆′笅鍙�
+ IsCancel = 1,//鏄惁鍙彇娑�
+ IsFinish = 1,//鏄惁鍙畬鎴�
+ Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟
+ Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
+ OrderType = "3",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗�
+
+ CreateTime = DateTime.Now
+ };
+ Db.Insertable(logTaskEntry).ExecuteCommand();
+
+ //缁勭粐涓嬪彂灏忚溅浠诲姟淇℃伅
+ var task = new TaskDetial
+ {
+ Taskno = taskNo,//浠诲姟鍙�
+ Startport = beginPoint,//璧峰浣嶇疆
+ Endport = endPoint,//鐩爣浣嶇疆
+ Pallno = palletModel.PalletNo,//妗跺彿
+ Crtype = "1",//鍙《
+ };
+
+ string agvMsg = string.Empty;
+ //缁欎笅杞︿笅鍙戜换鍔�
+ logTaskEntry.SendDate = DateTime.Now;//鍙戦�佹椂闂�
+ //涓嬪彂杞藉叿涓庤揣浣嶇粦瀹�
+ var bind = RcsHelper.BindPalletAndSite(palletModel.PalletNo, beginPoint, bindUrl, out string agvBindMsg);
+ if (bind)
+ {
+ var agvResult = RcsHelper.CreateTaskForAgv(task, url, out agvMsg);
+ if (agvResult)//鎴愬姛
+ {
+ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬�
+ logTaskEntry.IsSuccess = 1;
+ logTaskEntry.IsSend = 0;
+ //logTaskEntry.IsCancel = 0;
+ logTaskEntry.BackDate = DateTime.Now;
+ logTaskEntry.Status = "1";//姝e湪鎵ц
+ Db.Updateable(logTaskEntry).ExecuteCommand();
+
+ startLoction.Status = "3";//鍑哄簱涓�
+ Db.Updateable(startLoction).ExecuteCommand();
+
+ endLoction.Status = "2";//鍏ュ簱涓�
+ Db.Updateable(endLoction).ExecuteCommand();
+ }
+ else//澶辫触
+ {
+ throw new Exception("妗跺彿锛�" + task.Pallno + ",璋冨害灏忚溅澶辫触");
+ }
+ }
+ else
+ {
+ throw new Exception("妗跺彿锛�" + task.Pallno + ",缁戝畾璐т綅澶辫触");
+ }
+
+ //鎻愪氦浜嬪姟
+ Db.CommitTran();
+ }
+ catch (Exception e)
+ {
+ //鍥炴粴浜嬪姟
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+ }
+
}
}
diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
index 26b58f2..3744350 100644
--- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs
+++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs
@@ -1052,7 +1052,7 @@
/// <param name="taskNo"></param>
/// <param name="userId"></param>
/// <exception cref="Exception"></exception>
- public void CancelTask(string taskNo, int userId)
+ public void CancelTask(string taskNo, string url, int userId)
{
try
{
@@ -1063,6 +1063,20 @@
if (task == null)
{
throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅");
+ }
+ //鏍¢獙璧风偣鏄惁宸茬粡鐢熸垚浠诲姟
+ var taskHave = Db.Queryable<LogTask>().First(m => m.EndLocat == task.StartLocat && m.IsDel == "0" && (m.Status == "0"|| m.Status == "1"));
+ if (taskHave == null)
+ {
+ var locateHave = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat);
+ if (locateHave.Status != "3")
+ {
+ throw new Exception("璧峰鍌ㄤ綅宸叉湁鍏朵粬鏂欐枟瀛樺湪锛屾棤娉曞彇娑堝綋鍓嶄换鍔★紒");
+ }
+ }
+ else
+ {
+ throw new Exception("璧峰鍌ㄤ綅宸叉湁浠诲姟鐢熸垚锛屾棤娉曞彇娑堝綋鍓嶄换鍔★紒");
}
//if (task.Status != "0")
//{
@@ -1103,10 +1117,19 @@
}
stockDetail.Status = "0";//寰呭垎閰�
Db.Updateable(stockDetail).ExecuteCommand();
-
- //娣诲姞鎿嶄綔鏃ュ織璁板綍
- var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "鍙栨秷", $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", userId);
- Db.CommitTran();
+
+ string agvMsg = "";
+ bool t = CancleTaskForAgv(taskNo, url, out agvMsg);
+ if (t)
+ {
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationCrServer().AddLogOperationCr("搴撳唴浣滀笟", "搴撳唴鏃ュ織", taskNo, "鍙栨秷", $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", userId);
+ Db.CommitTran();
+ }
+ else
+ {
+ throw new Exception("涓嬪彂鍙栨秷灏忚溅浠诲姟澶辫触");
+ }
}
catch (Exception e)
{
@@ -1327,6 +1350,43 @@
}
/// <summary>
+ /// 涓嬪彂鍙栨秷浠诲姟缁橝GV
+ /// </summary>
+ /// <param name="req"></param>
+ /// <returns></returns>
+ public bool CancleTaskForAgv(string taskno, string url, out string agvMsg, string priority = null)
+ {
+ bool result = false;
+ #region 鍛煎彨灏忚溅浠g爜
+ AgvCancelTask cancelTask = new AgvCancelTask();
+ cancelTask.robotTaskCode = taskno;
+ cancelTask.cancelType = "DROP";
+
+ // 姝e紡杩愯绋嬪簭鏀惧紑
+ //AGV浠诲姟涓嬪彂鏃跺鍔爃earder:X-LR-REQUEST-ID,鍊间负闅忔満鏁�
+ long ran = DateTime.Now.Ticks;
+ Dictionary<string, string> key = new Dictionary<string, string>();
+ key.Add("X-LR-REQUEST-ID", ran.ToString());
+ var jsonData = JsonConvert.SerializeObject(cancelTask);
+ string response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橝GV杞繍鍛戒护", "AGV", key);
+ //瑙f瀽杩斿洖鏁版嵁
+ var agvModel = JsonConvert.DeserializeObject<OutCommanAgvDto>(response);
+ if (agvModel.Code == "SUCCESS")
+ {
+ result = true;//缁欎笅杞︿笅鍙戜换鍔℃垚鍔�
+ agvMsg = "";
+ }
+ else
+ {
+ var logStr = $@".\log\AGV\AGV鍙栨秷浠诲姟" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ LogFile.SaveLogToFile($"AGV鍙栨秷浠诲姟寮傚父锛�( {agvModel.Message} ),", logStr);
+ agvMsg = agvModel.Message;
+ }
+ return result;
+ #endregion
+ }
+
+ /// <summary>
/// 鍒嗛厤妗跺悗鍒ゆ柇璇ユ《澶栦晶鍌ㄤ綅鏄惁闇�瑕佺Щ搴�
/// </summary>
/// <param name="palletNo"></param>
@@ -1484,5 +1544,60 @@
throw new Exception(e.Message);
}
}
+
+ public bool DelStockWms(int stockId,string url,int userId,out string errMsg)
+ {
+ try
+ {
+ errMsg = "";
+ //鑾峰彇褰撳墠搴撳瓨淇℃伅
+ var stock = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.Id == stockId);
+ if (stock == null)
+ {
+ throw new Exception("鏈湪搴撳瓨涓壘鍒板綋鍓嶆枡妗�");
+ }
+ //鑾峰彇褰撳墠鏂欐枟浠诲姟淇℃伅
+ var taskInfo = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.PalletNo == stock.PalletNo && (w.Status == "0" || w.Status == "1"));
+ if (taskInfo != null)
+ {
+ throw new Exception("褰撳墠鏂欐《鏈夌瓑寰呮墽琛屾垨姝e湪鎵ц鐨勪换鍔�");
+ }
+ //鑾峰彇褰撳墠鏂欐枟鍌ㄤ綅鐘舵��
+ var locatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == stock.LocatNo && w.Status == "1");
+ if (locatInfo == null)
+ {
+ throw new Exception("褰撳墠鏂欐《鍌ㄤ綅鐘舵�侀敊璇�");
+ }
+ var pallnoInfo = Db.Queryable<SysPallets>().First(w => w.IsDel == "0" && w.PalletNo == stock.PalletNo);
+ if (pallnoInfo == null)
+ {
+ throw new Exception("鏈壘鍒板綋鍓嶆枡妗舵潯鐮�");
+ }
+ Db.BeginTran();
+ //涓嬪彂缁橝GV瑙g粦淇℃伅
+ bool t = RcsHelper.UnBindPalletAndSite(stock.PalletNo, stock.LocatNo, url,out errMsg);
+ if (t)
+ {
+ //鍒犻櫎搴撳瓨
+ Db.Deleteable(stock).ExecuteCommand();
+ Db.Deleteable(pallnoInfo).ExecuteCommand();
+ locatInfo.Status = "0";
+ Db.Updateable(locatInfo).ExecuteCommand();
+
+
+ //娣诲姞鎿嶄綔鏃ュ織璁板綍
+ var k = new OperationCrServer().AddLogOperationCr("缁熻鎶ヨ〃", "妗舵槑缁�", "", "鍒犻櫎", $"鐐瑰嚮鍒犻櫎鎸夐挳銆佸垹闄や簡妗跺彿锛歿stock.PalletNo}", userId);
+ }
+ Db.CommitTran();
+ return t;
+ }
+ catch (Exception e)
+ {
+
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+
+ }
}
}
diff --git a/Wms/WMS.BLL/DataServer/StockDetailServer.cs b/Wms/WMS.BLL/DataServer/StockDetailServer.cs
index f2f2563..09e77ee 100644
--- a/Wms/WMS.BLL/DataServer/StockDetailServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockDetailServer.cs
@@ -38,7 +38,7 @@
/// <param name="bitBoxMark">闆剁鏍囪</param>
/// <param name="inspectStatus">璐ㄩ噺鐘舵��</param>
/// <returns></returns>
- public List<StockDetailDto> GetBindList(string wareHouseName, string areaName, string locatNo, string palletNo, string lotNo)
+ public List<StockDetailDto> GetBindList(string wareHouseName, string areaName, string locatNo, string palletNo, string lotNo,string palletStatus)
{
string str = $@"select
detail.*,
@@ -76,9 +76,24 @@
{
str += $" and detail.LotNo like '%{lotNo}%'";
}
+ if (!string.IsNullOrEmpty(palletStatus))
+ {
+ str += $" and detail.PalletStatus like '%{palletStatus}%'";
+ }
//鎺掑簭
str += " order by PalletNo";
List<StockDetailDto> boxInforList = Db.Ado.SqlQuery<StockDetailDto>(str).ToList();
+ foreach (var item in boxInforList)
+ {
+ if (item.LocatNo == "1004" || item.LocatNo == "1002")
+ {
+ item.PalletStatus = "0";
+ }
+ if (item.LocatNo == "1001" || item.LocatNo == "1003")
+ {
+ item.PalletStatus = "3";
+ }
+ }
return boxInforList;
}
diff --git a/Wms/WMS.BLL/SysServer/PalletsServer.cs b/Wms/WMS.BLL/SysServer/PalletsServer.cs
index f4e202a..223b7ab 100644
--- a/Wms/WMS.BLL/SysServer/PalletsServer.cs
+++ b/Wms/WMS.BLL/SysServer/PalletsServer.cs
@@ -123,7 +123,7 @@
/// <param name="locatNo"></param>
/// <param name="userId"></param>
/// <exception cref="Exception"></exception>
- public void AddPallets(string palletNo,string locatNo, string deviceCode, string url, int userId)
+ public void AddPallets(string palletNo,string locatNo, string status, string url, int userId)
{
var db = DataContext.Db;
try
@@ -146,6 +146,18 @@
{
throw new Exception("鍌ㄤ綅鍦板潃涓嶅瓨鍦�");
}
+ if (locatModel.Flag == "1")
+ {
+ throw new Exception("璇ュ偍浣嶅凡灞忚斀");
+ }
+ var nlocat = db.Queryable<SysStorageLocat>().First(w => w.AisleOne == locatModel.LocatNo && w.IsDel == "0");
+ if (nlocat != null)
+ {
+ if (nlocat.Status == "0")
+ {
+ throw new Exception("璇蜂粠鍐呬晶搴撲綅寮�濮嬬粦瀹�");
+ }
+ }
if (locatModel.Status != "0")
{
throw new Exception("璇ュ偍浣嶅湴鍧�闈炵┖闂茬姸鎬�");
@@ -155,14 +167,28 @@
{
throw new Exception("鍌ㄤ綅鍦板潃鎵�灞炲尯鍩熶笉瀛樺湪");
}
- if (!areaModel.AreaName.Contains("鍑�妗�"))
+ switch (status)
{
- throw new Exception("鏂版坊鍔犵殑妗跺彧鑳界粦瀹氬噣妗跺尯");
+ case "0":
+ if (!areaModel.AreaName.Contains("鍑�妗�"))
+ {
+ throw new Exception("璇烽�夋嫨鍑�妗跺尯鍩熻繘琛岀粦瀹�");
+ }
+ break;
+ case "3":
+ if (!areaModel.AreaName.Contains("鑴忔《"))
+ {
+ throw new Exception("璇烽�夋嫨鑴忔《鍖哄煙杩涜缁戝畾");
+ }
+ break;
+ default:
+ throw new Exception("璇烽�夋嫨妗剁被鍨嬶紒");
+ break;
}
-
- if (!string.IsNullOrEmpty(deviceCode))
+ string deviceCode = "";
+ if (!string.IsNullOrEmpty(palletNo))
{
- switch (deviceCode)
+ switch (palletNo.Substring(2,3))
{
case "400":
deviceCode = "400L";
@@ -170,11 +196,11 @@
case "800":
deviceCode = "800L";
break;
- case "1000":
+ case "100":
deviceCode = "1000L";
break;
default:
- throw new Exception("涓嶈兘褰曞叆400锛�800锛�1000浠ュ鐨勫��");
+ throw new Exception("妗跺彿褰曞叆閿欒锛岃鏍稿疄锛�");
}
}
@@ -189,6 +215,7 @@
palletModel.CreateUser = userId;
//娣诲姞妗�
db.Insertable(palletModel).ExecuteCommand();
+
var comTime = DateTime.Now;
var model = new DataStockDetail()
@@ -221,7 +248,7 @@
SkuName = "",
LotNo = "",
- PalletStatus = "0",//鍑�妗�
+ PalletStatus = status,
Standard = deviceCode, //瑙勬牸
@@ -240,17 +267,17 @@
//涓嬪彂AGV缁戝畾杞藉叿鎺ュ彛
//璋冪敤AGV鎺ュ彛涓嬪彂浠诲姟
- //string agvMsg = string.Empty;
- ////缁欎笅杞︿笅鍙戜换鍔�
- //var agvResult = RcsHelper.BindPalletAndSite(palletNo, locatNo,url, out agvMsg);
- //if (agvResult)//鎴愬姛
- //{
- // //澧炲姞鏃ュ織
- //}
- //else//澶辫触
- //{
- // throw new Exception("灏忚溅杞藉叿鍜屽簱浣嶅叧绯荤粦瀹氬け璐ワ紝鍘熷洜锛�"+agvMsg);
- //}
+ string agvMsg = string.Empty;
+ //缁欎笅杞︿笅鍙戜换鍔�
+ var agvResult = RcsHelper.BindPalletAndSite(palletNo, locatNo, url, out agvMsg);
+ if (agvResult)//鎴愬姛
+ {
+ //澧炲姞鏃ュ織
+ }
+ else//澶辫触
+ {
+ throw new Exception("灏忚溅杞藉叿鍜屽簱浣嶅叧绯荤粦瀹氬け璐ワ紝鍘熷洜锛�" + agvMsg);
+ }
//鎻愪氦浜嬪姟
db.CommitTran();
diff --git a/Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs b/Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs
index 98896f6..7636061 100644
--- a/Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs
+++ b/Wms/WMS.IBLL/IBllQualityServer/IQualityInspectServer.cs
@@ -31,6 +31,12 @@
/// </summary>
/// <returns></returns>
public List<DataStockDetail> GetLotNoList();
+
+ /// <summary>
+ /// 鑾峰彇搴撳瓨鎵规鍙烽泦鍚�
+ /// </summary>
+ /// <returns></returns>
+ public List<DataStockDetail> GetLotNoList(string skuNo);
#endregion
}
}
diff --git a/Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs b/Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs
index 1b5c77e..29df1a9 100644
--- a/Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs
+++ b/Wms/WMS.IBLL/IBllTransServer/IHopperTransportServer.cs
@@ -46,5 +46,14 @@
/// <param name="status"></param>
/// <exception cref="Exception"></exception>
void RCSCleanRequest(string deviceID, string deviceStation, string status, string url,string bindUrl);
+
+ /// <summary>
+ /// 鐐瑰鐐逛换鍔′笅鍙�
+ /// </summary>
+ /// <param name="id">鐢ㄦ埛ID</param>
+ /// <param name="beginLocate">璧峰浣�</param>
+ /// <param name="endLocate">缁堢偣浣�</param>
+ /// <exception cref="Exception"></exception>
+ void PointToPointRequest(string id,string beginLocate, string endLocate, string url, string bindUrl);
}
}
diff --git a/Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs b/Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs
index 1557420..df50d97 100644
--- a/Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs
+++ b/Wms/WMS.IBLL/IBllTransServer/IRcsServer.cs
@@ -49,7 +49,7 @@
/// <param name="taskNo"></param>
/// <param name="userId"></param>
/// <exception cref="Exception"></exception>
- void CancelTask(string taskNo, int userId);
+ void CancelTask(string taskNo,string url, int userId);
/// <summary>
/// 鎵嬪姩涓嬪彂浠诲姟
@@ -58,5 +58,7 @@
/// <param name="userId"></param>
/// <exception cref="Exception"></exception>
void DownTask(string taskNo, int userId, string url,string bindurl);
+
+ public bool DelStockWms(int stockid, string url, int userId , out string errMsg);
}
}
diff --git a/Wms/WMS.IBLL/IDataServer/IStockDetailServer.cs b/Wms/WMS.IBLL/IDataServer/IStockDetailServer.cs
index f708f20..261560b 100644
--- a/Wms/WMS.IBLL/IDataServer/IStockDetailServer.cs
+++ b/Wms/WMS.IBLL/IDataServer/IStockDetailServer.cs
@@ -23,7 +23,7 @@
/// <param name="bitBoxMark">闆剁鏍囪</param>
/// <param name="inspectStatus">璐ㄩ噺鐘舵��</param>
/// <returns></returns>
- List<StockDetailDto> GetBindList(string wareHouseName, string areaName, string locatNo, string palletNo, string lotNo);
+ List<StockDetailDto> GetBindList(string wareHouseName, string areaName, string locatNo, string palletNo, string lotNo ,string palletStatus);
/// <summary>
/// 瀵煎嚭鎵樼洏鏄庣粏
diff --git a/Wms/Wms/Controllers/BllCheckController.cs b/Wms/Wms/Controllers/BllCheckController.cs
index 05bce06..438ec59 100644
--- a/Wms/Wms/Controllers/BllCheckController.cs
+++ b/Wms/Wms/Controllers/BllCheckController.cs
@@ -497,7 +497,7 @@
{
return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
}
- _rcsserver.CancelTask(model.taskNo, int.Parse(userId));
+ _rcsserver.CancelTask(model.taskNo, _config.AgvHost + _config.CancelTask, int.Parse(userId));
return Ok(new { code = 0, msg = "鎴愬姛鍙栨秷浠诲姟", data = "" });
}
diff --git a/Wms/Wms/Controllers/BllQualityController.cs b/Wms/Wms/Controllers/BllQualityController.cs
index 258aeec..798c9d1 100644
--- a/Wms/Wms/Controllers/BllQualityController.cs
+++ b/Wms/Wms/Controllers/BllQualityController.cs
@@ -313,5 +313,24 @@
return Ok(new { code = 1, msg = e.Message });
}
}
+
+ /// <summary>
+ /// 鑾峰彇搴撳瓨鎵规鍙烽泦鍚�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult GetLotNoList(string SkuNo)
+ {
+ try
+ {
+ var bolls = _qualityServer.GetLotNoList(SkuNo);
+
+ return Ok(new { code = 0, msg = "鎵规鍙烽泦鍚�", data = bolls });
+ }
+ catch (Exception e)
+ {
+ return Ok(new { code = 1, msg = e.Message });
+ }
+ }
}
}
diff --git a/Wms/Wms/Controllers/DownApiController.cs b/Wms/Wms/Controllers/DownApiController.cs
index 93ec264..c21314f 100644
--- a/Wms/Wms/Controllers/DownApiController.cs
+++ b/Wms/Wms/Controllers/DownApiController.cs
@@ -23,6 +23,7 @@
using Model.ModelVm.BllCheckVm;
using Model.ModelVm.SysVm;
using System.Security.Policy;
+using Model.ModelVm.DataVm;
namespace Wms.Controllers
{
@@ -956,7 +957,7 @@
LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟缁撴潫-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
//鍏蜂綋澶勭悊鏂规硶
- _hopper.RCSFinishTask(model.robotTaskCode, extraValue.values.slotCode, "1", "AGV");
+ _hopper.RCSFinishTask(model.robotTaskCode, extraValue.values.slotName, "1", "AGV");
Data data = new Data();
data.robotTaskCode = model.robotTaskCode;
@@ -991,18 +992,22 @@
AgvResultModel2 resultModel = null;//杩斿洖淇℃伅
try
{
+ var extraValue = new ExtraModel();
+ extraValue = model.extra;
+ if (!(extraValue.values.method == "cancel"))
+ {
+ throw new Exception("灏忚溅璋冪敤鏂规硶閿欒");
+ }
var jsonData = JsonConvert.SerializeObject(model);
- LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍗曞彇娑�-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
-
+ LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍙栨秷-璇锋眰鎶ユ枃锛�( {jsonData} ),", logStr);
//鍏蜂綋澶勭悊鏂规硶
+ //_rcsserver.CancelTask(model.robotTaskCode, _config.AgvHost + _config.CancelTask, 0);
-
-
- resultModel.code = "0";
- resultModel.message = "鎴愬姛";
- resultModel.da.robotTaskCode = model.robotTaskCode;
+ Data data = new Data();
+ //data.robotTaskCode = model.robotTaskCode;
+ resultModel = new AgvResultModel2 { code = "0", message = "鎴愬姛", da = data };
var jsonData2 = JsonConvert.SerializeObject(resultModel);
- LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍗曞彇娑�-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
+ LogFile.SaveLogToFile($"AGV浠诲姟鎵ц閫氱煡-浠诲姟鍙栨秷-杩斿洖鎶ユ枃锛�( {jsonData2} ),", logStr);
return Ok(resultModel);
}
catch (Exception ex)
@@ -1040,6 +1045,9 @@
break;
case "end":
var b = end(model);
+ break;
+ case "cancel":
+ var c = cancel(model);
break;
default:
break;
@@ -1180,7 +1188,7 @@
{
return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
}
- _rcsserver.CancelTask(model.taskNo, int.Parse(userId));
+ _rcsserver.CancelTask(model.taskNo, _config.AgvHost + _config.CancelTask, int.Parse(userId));
return Ok(new { code = 0, msg = "鎴愬姛鍙栨秷浠诲姟", data = "" });
}
@@ -1419,7 +1427,76 @@
}
}
-
+ /// <summary>
+ /// 鐐瑰鐐逛换鍔�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult PointToPointRequest(PointTask model)
+ {
+ var logStr = $@".\log\AGV\鐐瑰鐐逛换鍔′笅鍙�" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
+ AgvResultModel resultModel = null;//杩斿洖淇℃伅
+ try
+ {
+ var jsonData = JsonConvert.SerializeObject(model);
+ LogFile.SaveLogToFile($"浠诲姟涓嬪彂锛�( {jsonData} ),", logStr);
+ //鍏蜂綋澶勭悊鏂规硶
+ _hopper.PointToPointRequest(model.ID, model.BeginPoint, model.EndPoint, _config.AgvHost + _config.GenAgvSchedulingTask, _config.AgvHost + _config.AGVBindPallets);
+
+ resultModel = new AgvResultModel { code = "0", message = "璇锋眰鎴愬姛!" };
+
+ return Ok(resultModel);
+ }
+ catch (Exception e)
+ {
+ LogFile.SaveLogToFile($"涓嬪彂鐐瑰鐐逛换鍔″紓甯革細( {e.Message} ),", logStr);
+ resultModel = new AgvResultModel { code = "1", message = e.Message, data = "", reqCode = "" };
+ return Ok(resultModel);
+ }
+ }
+
+ /// <summary>
+ /// 鍒犻櫎褰撳墠搴撳瓨淇℃伅
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public IActionResult DelStockWms(DelStockInfo model)
+ {
+ try
+ {
+ //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴稩D
+ var claimsIdentity = this.User.Identity as ClaimsIdentity;
+ if (claimsIdentity == null)
+ {
+ return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+ }
+ var userId = claimsIdentity.FindFirst(ClaimTypes.Name)?.Value;
+ if (string.IsNullOrWhiteSpace(userId))
+ {
+ return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
+ }
+ string errMsg = "";
+ bool t = _rcsserver.DelStockWms(model.StockId, _config.AgvHost + _config.AGVUnBindPallets, int.Parse(userId),out errMsg);
+ if (t)
+ {
+ return Ok(new { code = 0, msg = "鍒犻櫎鎴愬姛", data = "" });
+ }
+ else
+ {
+ return Ok(new { code = 1, msg = "鍒犻櫎澶辫触", data = errMsg });
+ }
+
+
+ }
+ catch (Exception e)
+ {
+ return Ok(new { code = 1, msg = e.Message });
+ }
+ }
+
+
#endregion
}
diff --git a/Wms/Wms/Controllers/StatisticalController.cs b/Wms/Wms/Controllers/StatisticalController.cs
index 484963d..a21c84a 100644
--- a/Wms/Wms/Controllers/StatisticalController.cs
+++ b/Wms/Wms/Controllers/StatisticalController.cs
@@ -98,11 +98,11 @@
/// <param name="inspectStatus">璐ㄩ噺鐘舵��</param>
/// <returns></returns>
[HttpGet]
- public IActionResult GetBindList(string wareHouseName,string areaName,string locatNo,string palletNo, string lotNo)
+ public IActionResult GetBindList(string wareHouseName,string areaName,string locatNo,string palletNo, string lotNo,string palletStatus)
{
try
{
- List<StockDetailDto> boxInfoList = _stockDetail.GetBindList(wareHouseName,areaName,locatNo,palletNo, lotNo);
+ List<StockDetailDto> boxInfoList = _stockDetail.GetBindList(wareHouseName,areaName,locatNo,palletNo, lotNo, palletStatus);
return Ok(new { data = boxInfoList, code = 0, msg = "鑾峰彇鎵樼洏鏄庣粏鎴愬姛" });
}
catch (Exception e)
diff --git a/Wms/Wms/Tools/ApiUrlConfig.cs b/Wms/Wms/Tools/ApiUrlConfig.cs
index dcb129a..4d43a8f 100644
--- a/Wms/Wms/Tools/ApiUrlConfig.cs
+++ b/Wms/Wms/Tools/ApiUrlConfig.cs
@@ -97,6 +97,11 @@
/// </summary>
public string AGVUnBindPallets { get; set; }
+ /// <summary>
+ /// 鍙栨秷浠诲姟鎺ュ彛
+ /// </summary>
+ public string CancelTask { get; set; }
+
#endregion
#endregion
diff --git a/Wms/Wms/appsettings.json b/Wms/Wms/appsettings.json
index 3c0d2fc..0fbd9c0 100644
--- a/Wms/Wms/appsettings.json
+++ b/Wms/Wms/appsettings.json
@@ -11,13 +11,10 @@
//"ConnectionString": "Server=47.95.120.93;Database=WMS_JC09;User ID=sa;password=boxline!@#; Integrated Security=True;",
//"ConnectionString": "Server=47.95.120.53;Database=WMS_JC09;User ID=sa;Password=boxline!@#;Integrated Security=False;",
//"ConnectionString": "Server=192.168.62.106;Database=WMS_JC24;User ID=sa;Password=sql2019;Integrated Security=False;",
- "ConnectionString": "Server=192.168.10.201\\WMSSQLSERVER;Database=WMS_JC37;User ID=sa;Password=sa@123456;Integrated Security=False;"
- //"ConnectionString": "Server=.;Database=WMS_JC37;User ID=sa;Password=sa@123456;Integrated Security=False;"
- //"ConnectionString": "Data Source=192.168.10.201\\WMSSQLSERVER;Database=WMS_JC37;User ID=sa;Password=sa@123456;Integrated Security=False;"
+ //"ConnectionString": "Server=192.168.10.201\\WMSSQLSERVER;Database=WMS_JC37;User ID=sa;Password=sa@123456;Integrated Security=False;"
+ "ConnectionString": "Server=DESKTOP-H7CB0Q0\\MSSQLSERVER2019;Database=WMS_JC37;User ID=sa;Password=sql2019;Integrated Security=False;"
+ //"ConnectionString": "Server=192.168.62.200;Database=WMS_JC37;User ID=sa;Password=sql2019;Integrated Security=False;"
//"ConnectionString": "Server=.\\MSSQLSERVER2019;Database=WMS_JC23-2;User Id=sa;Password=admin2023@;" // SqlServer 搴撹繛鎺ュ瓧绗︿覆
- //"ConnectionString": "Server=172.16.105.10;Database=WMS_JC23-2;User ID=sa;Password=sql2019;Integrated Security=False;"
- //"ConnectionString": "Server=172.16.105.2;Database=WMS_JC23-2;User ID=sa;Password=boxline@2024;Integrated Security=False;"
- //"ConnectionString": "Server=.\\SQLSERVER;Database=WMS_JC23-2;User ID=sa;Password=admin2023@;Integrated Security=False;"
},
"JWTConfig": {
"Issuer": "WYY", //Token锟斤拷锟斤拷锟斤拷
@@ -47,6 +44,7 @@
"ContinueTask": "/rcs/rtas/api/robot/controller/task/extend/continue", //缁х画鎵ц浠诲姟鎺ュ彛
"GenPreScheduleTask": "/rcms/services/rest/hikRpcService/genPreScheduleTask", // 棰勮皟搴﹀澶栨帴鍙�
"AGVBindPallets": "/rcs/rtas/api/robot/controller/carrier/bind", //杞藉叿涓庡簱浣嶇粦瀹氭帴鍙�
- "AGVUnBindPallets": "/rcs/rtas/api/robot/controller/carrier/bind" //杞藉叿涓庡簱浣嶈В缁戞帴鍙�
+ "AGVUnBindPallets": "/rcs/rtas/api/robot/controller/carrier/bind", //杞藉叿涓庡簱浣嶈В缁戞帴鍙�
+ "CancelTask": "/rcs/rtas/api/robot/controller/task/cancel"//鍙栨秷浠诲姟鎺ュ彛
}
}
--
Gitblit v1.8.0