From 8215c02870e511e6dccfe5cdd0a0c6a564721a84 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 02 一月 2024 14:31:05 +0800
Subject: [PATCH] #人工命令更新库位状态
---
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 2
src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java | 5 +
src/main/java/com/zy/asrs/controller/CrnController.java | 88 +++++++++++++++++++++++++++++
src/main/webapp/views/deviceOperate/crnOperate.html | 60 +++++++++++++++----
4 files changed, 139 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index c2d5639..6483654 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -1,6 +1,7 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
@@ -15,12 +16,15 @@
import com.zy.asrs.domain.vo.CrnStateTableVo;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasCrnErrorMapper;
+import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.asrs.utils.CommandUtils;
+import com.zy.asrs.utils.Utils;
import com.zy.asrs.utils.VersionUtils;
+import com.zy.common.utils.HttpHandler;
import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
@@ -35,6 +39,7 @@
import com.zy.core.properties.SlaveProperties;
import com.zy.core.properties.SystemProperties;
import lombok.extern.slf4j.Slf4j;
+import org.hibernate.validator.internal.engine.messageinterpolation.parser.ELState;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
@@ -59,7 +64,8 @@
private String movePath;
-
+ @Autowired
+ private ApiLogService apiLogService;
@Autowired
private SlaveProperties slaveProperties;
@Autowired
@@ -392,6 +398,12 @@
command.setDestinationPosX(param.getBay()); // 鐩爣搴撲綅鍒�
command.setDestinationPosY(param.getLev()); // 鐩爣搴撲綅灞�
command.setCommand((short)1);
+ String locNo =String.format("%2d",param.getRow()) + String.format("%3d",param.getBay()) + String.format("%2d",param.getLev());
+ String startlocNo =String.format("%2d",param.getSourceRow()) + String.format("%3d",param.getSourceBay()) + String.format("%2d",param.getSourceLev());
+ boolean wmsLocStatus = toWmsLocStatus(1, startlocNo, locNo, param.getBarcode(), param.getBarcodeType(), param.getEmptyContainer());
+ if (!wmsLocStatus){
+ return R.error("搴撲綅鏇存柊澶辫触");
+ }
return crnControl(command)?R.ok():R.error();
}
@@ -413,6 +425,12 @@
command.setDestinationPosZ(param.getRow()); // 鐩爣搴撲綅鎺�
command.setDestinationPosX(param.getBay()); // 鐩爣搴撲綅鍒�
command.setDestinationPosY(param.getLev()); // 鐩爣搴撲綅灞�
+ String locNo =String.format("%2d",param.getRow()) + String.format("%3d",param.getBay()) + String.format("%2d",param.getLev());
+ String startlocNo =String.format("%2d",param.getSourceRow()) + String.format("%3d",param.getSourceBay()) + String.format("%2d",param.getSourceLev());
+ boolean wmsLocStatus = toWmsLocStatus(2, startlocNo, locNo, param.getBarcode(), param.getBarcodeType(), param.getEmptyContainer());
+ if (!wmsLocStatus){
+ return R.error("搴撲綅鏇存柊澶辫触");
+ }
return crnControl(command)?R.ok():R.error();
}
@@ -440,6 +458,12 @@
LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getDestinationPosX())
.eq("bay1", command.getDestinationPosY()).eq("lev1", command.getDestinationPosZ()));
VersionUtils.locMoveCheckLocType(sourceLoc, loc);
+ String locNo =String.format("%2d",param.getRow()) + String.format("%3d",param.getBay()) + String.format("%2d",param.getLev());
+ String startlocNo =String.format("%2d",param.getSourceRow()) + String.format("%3d",param.getSourceBay()) + String.format("%2d",param.getSourceLev());
+ boolean wmsLocStatus = toWmsLocStatus(3, startlocNo, locNo, param.getBarcode(), param.getBarcodeType(), param.getEmptyContainer());
+ if (!wmsLocStatus){
+ return R.error("搴撲綅鏇存柊澶辫触");
+ }
return crnControl(command)?R.ok():R.error();
}
@@ -864,5 +888,67 @@
return R.ok().add(list);
}
+ public boolean toWmsLocStatus(Integer type,String startlocNo,String locNo,String barcode,String barcodeType,String emptyContainer){
+ Map<String, Object> map = new HashMap<>();
+ map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
+ WmsLocStatus param = new WmsLocStatus();
+ param.setWarehouseId("1688469798893297665");
+ param.setLocationCode(Utils.getWmsLocNo(locNo));
+ if (emptyContainer.equals("1")){
+ param.setEmptyContainer("Y");
+ }else {
+ param.setEmptyContainer("N");
+ }
+ param.setStatus("QY");
+ param.setContainerCode(barcode);
+ param.setContainerTypeCode(barcodeType);
+
+ String response = null;
+ try {
+ response = new HttpHandler.Builder()
+ .setHeaders(map)
+ .setUri(wmsUrl)
+ .setPath("wcsManager/wcsInterface/locationUpdate")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ }catch (Exception e){
+ log.error("搴撲綅鏇存柊澶辫触");
+ }
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)){
+ LocMast originLoc = locMastService.selectByLocNo(startlocNo);
+ LocMast locMast = locMastService.selectByLocNo(locNo);
+ if (type == 1){
+ locMast.setBarcode(barcode);
+ locMast.setLocSts("F");
+ locMastService.updateById(locMast);
+ }else if (type == 2){
+ locMast.setBarcode("");
+ locMast.setLocSts("O");
+ locMastService.updateById(locMast);
+ }else if (type == 3){
+ originLoc.setLocSts("O");
+ originLoc.setBarcode("");
+ locMast.setBarcode(barcode);
+ locMast.setLocSts("F");
+ locMastService.updateById(originLoc);
+ locMastService.updateById(locMast);
+ }
+
+ apiLogService.save("Wms鍙樻洿璐т綅鐘舵��"
+ ,wmsUrl+"wcsManager/wcsInterface/inboundTaskApply"
+ ,null
+ ,"127.0.0.1"
+ ,JSON.toJSONString(param)
+ ,response
+ ,true
+ );
+ return true;
+ }
+ return false;
+
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java b/src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java
index f85698e..244d7d8 100644
--- a/src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java
+++ b/src/main/java/com/zy/asrs/domain/param/CrnOperatorParam.java
@@ -34,5 +34,10 @@
// 鐩爣搴撲綅-灞�
private Short lev;
+ //鏉$爜
+ private String barcode;
+ //鏉$爜绫诲瀷
+ private String barcodeType;
+ private String emptyContainer;
}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index 6265873..556150a 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -111,7 +111,7 @@
.build()
.doPost();
}catch (Exception e){
- log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
+ log.error("搴撲綅鏇存柊澶辫触");
}
JSONObject jsonObject = JSON.parseObject(response);
diff --git a/src/main/webapp/views/deviceOperate/crnOperate.html b/src/main/webapp/views/deviceOperate/crnOperate.html
index c4e0bd6..d09d214 100644
--- a/src/main/webapp/views/deviceOperate/crnOperate.html
+++ b/src/main/webapp/views/deviceOperate/crnOperate.html
@@ -37,32 +37,51 @@
</div>
<div>
<el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline">
- <el-form-item label="婧愮珯/婧愬簱浣�">
- <el-input v-model="formParam.sourceStaNo" placeholder="婧愮珯/婧愬簱浣�"></el-input>
- </el-form-item>
- <el-form-item label="鎺�">
+<!-- <el-form-item label="婧愮珯/婧愬簱浣�">-->
+<!-- <el-input v-model="formParam.sourceStaNo" placeholder="婧愮珯/婧愬簱浣�"></el-input>-->
+<!-- </el-form-item>-->
+ <el-form-item label="婧愭帓">
<el-input v-model="formParam.sourceRow" placeholder="鎺�"></el-input>
</el-form-item>
- <el-form-item label="鍒�">
+ <el-form-item label="婧愬垪">
<el-input v-model="formParam.sourceBay" placeholder="鍒�"></el-input>
</el-form-item>
- <el-form-item label="灞�">
+ <el-form-item label="婧愬眰">
<el-input v-model="formParam.sourceLev" placeholder="灞�"></el-input>
</el-form-item>
</el-form>
<el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline">
- <el-form-item label="鐩爣绔�/鐩爣搴撲綅">
- <el-input v-model="formParam.staNo" placeholder="鐩爣绔�/鐩爣搴撲綅"></el-input>
- </el-form-item>
- <el-form-item label="鎺�">
+<!-- <el-form-item label="鐩爣绔�/鐩爣搴撲綅">-->
+<!-- <el-input v-model="formParam.staNo" placeholder="鐩爣绔�/鐩爣搴撲綅"></el-input>-->
+<!-- </el-form-item>-->
+ <el-form-item label="鐩爣鎺�">
<el-input v-model="formParam.row" placeholder="鎺�"></el-input>
</el-form-item>
- <el-form-item label="鍒�">
+ <el-form-item label="鐩爣鍒�">
<el-input v-model="formParam.bay" placeholder="鍒�"></el-input>
</el-form-item>
- <el-form-item label="灞�">
+ <el-form-item label="鐩爣灞�">
<el-input v-model="formParam.lev" placeholder="灞�"></el-input>
</el-form-item>
+ </el-form>
+ <el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline">
+ <el-form-item label="鎵樼洏鐮�">
+ <el-input v-model="formParam.barcode" placeholder="鏉$爜"></el-input>
+ </el-form-item>
+ <el-form-item label="鎵樼洏绫诲瀷">
+ <el-input v-model="formParam.barcodeType" placeholder="绫诲瀷"></el-input>
+ </el-form-item>
+ <el-form-item label="绌烘墭鐩�">
+ <el-select v-model="formParam.emptyContainer" placeholder="鏄惁涓虹┖鎵樼洏">
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+
</el-form>
<el-form label-position="top" :inline="true" class="demo-form-inline">
<el-form-item label="">
@@ -188,10 +207,23 @@
staNo: null,
row: 1,
bay: 0,
- lev: 1
+ lev: 1,
+ barcode:null,
+ barcodeType:null,
+ emptyContainer:null
},
enableIn: false,
- enableOut: false
+ enableOut: false,
+ options:[
+ {
+ value:'1',
+ label:'鏄�'
+ },
+ {
+ value:'0',
+ label:'鍚�'
+ }
+ ]
},
created() {
this.init()
--
Gitblit v1.9.1