From d8e70f219528870dd643b3f5a83b2a8471f4da9b Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期一, 09 十月 2023 10:33:58 +0800
Subject: [PATCH] ERP单据上传接口更改
---
src/main/java/com/zy/asrs/service/impl/DocTypeServiceImpl.java | 10 ++
src/main/java/com/zy/asrs/controller/AgvLocMastController.java | 2
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 14 +++
src/main/java/com/zy/common/web/param/ReplenishmentParam.java | 11 ++
src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java | 3
src/main/webapp/views/home/agvMap.html | 86 ++++++++++----------
src/main/java/com/zy/asrs/controller/AgvOpenController.java | 13 ---
src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java | 73 +++++++++++++----
src/main/java/com/zy/common/web/WcsController.java | 12 +++
src/main/java/com/zy/asrs/controller/OutController.java | 2
src/main/resources/application.yml | 3
11 files changed, 149 insertions(+), 80 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
index 28a5e7b..58b89f5 100644
--- a/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvLocMastController.java
@@ -103,7 +103,7 @@
//娓呯┖鍘熸湁搴撲綅
agvLockMastService.clearLoc();
//鍒濆鍖栦竴妤肩珯鐐�
- agvLockMastService.initLocFloor1();
+ //agvLockMastService.initLocFloor1();
//鍒濆鍖栦笁妤肩珯鐐�
agvLockMastService.initLocFloor3();
diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 85395c6..702185d 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -80,10 +80,6 @@
return R.error("浠诲姟缂栧彿閿欒");
}
-// if(!checkParam(param,agvWrkMast)){
-// return R.error("浠诲姟鍙傛暟涓庡伐浣滄。鍙傛暟涓嶇鍚�");
-// }
-
AgvTask agvTask = AgvTask.valueOf(param.getEventType());
Class<AgvTask> clz = AgvTask.class;
try {
@@ -101,15 +97,6 @@
return R.ok();
}
- private boolean checkParam(AgvTaskCallBackParam param, AgvWrkMast agvWrkMast){
- if(!agvWrkMast.getLocNo().equals(param.getLocationCode())){
- return false;
- }
- if(!agvWrkMast.getSourceLocNo().equals(param.getStationCode())){
- return false;
- }
- return true;
- }
}
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index f851843..41f3c3e 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -132,7 +132,7 @@
agvWorkService.stockOutWrkMast(agvTaskDtos, getUserId());
// 鐢熸垚鍑哄簱浠诲姟
- List<String> excludeLocNos = taskDtos.stream().map(TaskDto::getLocNo).distinct().collect(Collectors.toList());
+ taskDtos.stream().map(TaskDto::getLocNo).distinct().collect(Collectors.toList());
for (TaskDto taskDto : taskDtos) {
BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
workService.stockOut(staNo, taskDto, getUserId());
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java
index 0c93dc9..96abd30 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocMastMapper.java
@@ -9,7 +9,8 @@
@Mapper
public interface AgvLocMastMapper extends BaseMapper<AgvLocMast>{
- @Delete("delete from agv_loc_mast")
+ //@Delete("delete from agv_loc_mast")
+ @Delete("delete from agv_loc_mast where floor = '3'")
public void deleteAll();
@Update("update agv_loc_mast set loc_type2 = ${locType2}" +
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
index 57250ad..c2860f1 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java
@@ -33,20 +33,20 @@
public void initLocFloor3() {
- //3妤� 1-33鎺� 1-14鍒� 8灞�
- this.insertBatch(getLocMastList(1, 33, 1, 14, 1, 8, 3));
+ //3妤� 1-33鎺� 1-14鍒� 8灞� ------> 1-33鎺� 1-17鍒� 8灞�
+ this.insertBatch(getLocMastList(1, 33, 1, 17, 1, 8, 3));
- //3妤� 1-27鎺� 15-34鍒� 8灞�
- this.insertBatch(getLocMastList(1, 27, 15, 34, 1, 8, 3));
+ //3妤� 1-27鎺� 15-34鍒� 8灞� ------> 1-26鎺� 18-25鍒� 8灞�
+ this.insertBatch(getLocMastList(1, 27, 18, 25, 1, 8, 3));
- //3妤� 1-25鎺� 35-46鍒� 8灞�
- this.insertBatch(getLocMastList(1, 25, 35, 46, 1, 8, 3));
+ //3妤� 1-25鎺� 35-46鍒� 8灞� ------> 1-25鎺� 26-35鍒� 8灞�
+ this.insertBatch(getLocMastList(1, 25, 26, 35, 1, 8, 3));
- //3妤� 3-25鎺� 47-60鍒� 8灞�
- this.insertBatch(getLocMastList(3, 25, 47, 60, 1, 8, 3));
+ //3妤� 3-25鎺� 47-60鍒� 8灞� ------> 1-23鎺� 36-70鍒� 8灞�
+ this.insertBatch(getLocMastList(1, 23, 36, 70, 1, 8, 3));
//3妤� 4-25鎺� 61-70鍒� 8灞�
- this.insertBatch(getLocMastList(4, 25, 61, 70, 1, 8, 3));
+ //this.insertBatch(getLocMastList(4, 25, 61, 70, 1, 8, 3));
}
@@ -57,16 +57,21 @@
for(int row=rowIndex; row<=rowMax; row++) {
for (int bay = bayIndex; bay <= bayMax; bay++) {
for (int lev = levIndex; lev <= levMax; lev++) {
- if(row == 8 || row == 9){
- if((bay >=8 && bay <=11)
- || (bay >= 20 && bay <=23)
- || (bay>=37 && bay <=39)
- || (bay>=50 && bay <=52)
- || (bay>=63 && bay <=64)
- || (bay>=79 && bay <=80)){
- continue;
- }
+
+ if(!checkLocExist(row,bay,floor)){
+ continue;
}
+
+// if(floor == 1 && (row == 8 || row == 9)){
+// if((bay >=8 && bay <=11)
+// || (bay >= 20 && bay <=23)
+// || (bay>=37 && bay <=39)
+// || (bay>=50 && bay <=52)
+// || (bay>=63 && bay <=64)
+// || (bay>=79 && bay <=80)){
+// continue;
+// }
+// }
AgvLocMast loc = new AgvLocMast();
String locRow = row < 10 ? "-00" + row : "-0" + row;
@@ -90,6 +95,38 @@
return agvLocMastList;
}
+ private boolean checkLocExist(int row, int bay, int floor){
+ if(floor == 1 && (row == 8 || row == 9)){
+ if((bay >=8 && bay <=11)
+ || (bay >= 20 && bay <=23)
+ || (bay>=37 && bay <=39)
+ || (bay>=50 && bay <=52)
+ || (bay>=63 && bay <=64)
+ || (bay>=79 && bay <=80)){
+ return false;
+ }
+ }
+
+ if(floor == 3){
+ if(row == 1 && bay > 63){
+ return false;
+ }
+ if(row == 2 && bay > 65){
+ return false;
+ }
+ if(row > 23 && bay == 1){
+ return false;
+ }
+
+ if(bay > 35 && bay < 39){
+ if(row == 4 || row == 5 || row == 10 || row == 11 || row == 17 || row == 18){
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
@Override
public List<AgvLocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd) {
return this.baseMapper.queryFreeLocMast2(locType1, rowBeg, rowEnd, bayBeg, bayEnd, levBeg, levEnd);
diff --git a/src/main/java/com/zy/asrs/service/impl/DocTypeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/DocTypeServiceImpl.java
index 6fe345c..5d142eb 100644
--- a/src/main/java/com/zy/asrs/service/impl/DocTypeServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/DocTypeServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.mapper.DocTypeMapper;
@@ -24,8 +25,15 @@
docType = this.selectById(docName);
} catch (Exception ignore) {}
if (docType == null) {
- docType = this.selectOne(new EntityWrapper<DocType>().eq("doc_name", docName));
+ Wrapper<DocType> wrapper = new EntityWrapper<DocType>().eq("doc_name", docName);
+ if(pakin){
+ wrapper.eq("pakin",1);
+ }else {
+ wrapper.eq("pakout",1);
+ }
+ docType = this.selectOne(wrapper);
}
+
if (docType == null) {
long docId = 1L;
DocType last = this.selectOne(new EntityWrapper<DocType>().orderBy("doc_id", false));
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index 0f56ff6..8ff6339 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -201,11 +201,23 @@
public void report(Long orderId, Long userId) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Order order = this.selectById(orderId);
- Map<String, String> param = new HashMap<>();
+ Map<String, Object> param = new HashMap<>();
param.put("id",order.getOrderNo());
param.put("dDate",sdf.format(new Date()));
param.put("cHandler",userId.toString());
+ List<Map<String,Object>> orderDetlsParam = new ArrayList<>();
+ param.put("orderDetails",orderDetlsParam);
+
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(orderId);
+
+ for (OrderDetl orderDetl : orderDetls){
+ Map<String, Object> odMap = new HashMap<>();
+ odMap.put("autoid",orderDetl.getItemNum());
+ odMap.put("iQuantity",orderDetl.getQty());
+ orderDetlsParam.add(odMap);
+ }
+
int code = doHttpRequest(param, "鍗曟嵁瀹℃牳", url, orderReportPath, null, "127.0.0.1");
//int code = doHttpRequest(param, "鍗曟嵁瀹℃牳", "localhost:8080", "/test/report", null, "127.0.0.1");
if(code == 200){
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index c217b53..2d9dd2b 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -11,6 +11,7 @@
import com.zy.common.model.StartupDto;
import com.zy.common.service.CommonService;
import com.zy.common.service.erp.ErpService;
+import com.zy.common.web.param.ReplenishmentParam;
import com.zy.common.web.param.SearchLocParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -296,4 +297,15 @@
return commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto,0); // 搴撲綅鍙凤紝 鍫嗗灈鏈猴紝鐩爣绔�
}
+ /*
+ 鍥涢」搴撳線AGV琛ヨ揣锛寃cs璋冪敤姝ゆ帴鍙�
+ */
+ @PostMapping("/replenishment")
+ @ResponseBody
+ public R replenishment(@RequestBody ReplenishmentParam param){
+
+
+ return R.ok();
+ }
+
}
diff --git a/src/main/java/com/zy/common/web/param/ReplenishmentParam.java b/src/main/java/com/zy/common/web/param/ReplenishmentParam.java
new file mode 100644
index 0000000..ee6c515
--- /dev/null
+++ b/src/main/java/com/zy/common/web/param/ReplenishmentParam.java
@@ -0,0 +1,11 @@
+package com.zy.common.web.param;
+
+import lombok.Data;
+
+@Data
+public class ReplenishmentParam {
+ //瀹瑰櫒缂栫爜
+ private String containerCode;
+ //agv绔欑偣
+ private String devNo;
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index d07e7e6..8a01c7b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,8 +10,9 @@
enabled: false
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+ url: jdbc:sqlserver://localhost:1433;databasename=tzskasrs
#url: jdbc:sqlserver://192.168.4.15:1433;databasename=tzskasrs
- url: jdbc:sqlserver://10.10.10.40:1433;databasename=tzskasrs
+ #url: jdbc:sqlserver://10.10.10.40:1433;databasename=tzskasrs
username: sa
password: sa@123
mvc:
diff --git a/src/main/webapp/views/home/agvMap.html b/src/main/webapp/views/home/agvMap.html
index e3c0e7a..1501b18 100644
--- a/src/main/webapp/views/home/agvMap.html
+++ b/src/main/webapp/views/home/agvMap.html
@@ -443,50 +443,50 @@
<div style="padding: 40px 20px 10px 10px;" :style="window.innerWidth < 2000 ? 'margin-top: 0px;' : 'flex: 5;margin-top: -70px;'">
<el-slider v-model="showScale" :marks="showScaleMarks"></el-slider>
<div style="display: flex;justify-content: space-between;flex-wrap: wrap;">
- <div class="hoverCard" style="width: 100%;">
- <div class="card-details" style="place-content: normal;height: auto;">
- <div class="text-body" style="display: flex;flex-wrap: wrap;">
- <div style="width: 100%;margin-bottom: 20px;">
- <div style="display: flex;justify-content: space-between;">
- <div><input v-model="searchMatnr" placeholder="鐗╂枡鍙�" type="text" class="search-input"></div>
- <div><input v-model="searchOrderNo" placeholder="璁㈠崟鍙�" type="text" class="search-input"></div>
- </div>
- <div style="display: flex;justify-content: space-between;margin-top: 10px;">
- <div><input style="width: 110px;" v-model="searchMaktx" placeholder="鐗╂枡鍚嶇О" type="text" class="search-input"></div>
- <div><input style="width: 110px;" v-model="searchSpecs" placeholder="瑙勬牸" type="text" class="search-input"></div>
- <div><input style="width: 110px;" v-model="searchLocNo" placeholder="搴撲綅鍙�" type="text" class="search-input"></div>
- </div>
- <button style="width: 100%;margin-top: 10px;" @click="searchLoc" class="layui-btn layui-btn-sm">鎼滅储</button>
- </div>
-<!-- <div>-->
-<!-- <button @click="locToLoc2" class="layui-btn layui-btn-sm">渚ц竟绉诲簱</button>-->
+<!-- <div class="hoverCard" style="width: 100%;">-->
+<!-- <div class="card-details" style="place-content: normal;height: auto;">-->
+<!-- <div class="text-body" style="display: flex;flex-wrap: wrap;">-->
+<!-- <div style="width: 100%;margin-bottom: 20px;">-->
+<!-- <div style="display: flex;justify-content: space-between;">-->
+<!-- <div><input v-model="searchMatnr" placeholder="鐗╂枡鍙�" type="text" class="search-input"></div>-->
+<!-- <div><input v-model="searchOrderNo" placeholder="璁㈠崟鍙�" type="text" class="search-input"></div>-->
+<!-- </div>-->
+<!-- <div style="display: flex;justify-content: space-between;margin-top: 10px;">-->
+<!-- <div><input style="width: 110px;" v-model="searchMaktx" placeholder="鐗╂枡鍚嶇О" type="text" class="search-input"></div>-->
+<!-- <div><input style="width: 110px;" v-model="searchSpecs" placeholder="瑙勬牸" type="text" class="search-input"></div>-->
+<!-- <div><input style="width: 110px;" v-model="searchLocNo" placeholder="搴撲綅鍙�" type="text" class="search-input"></div>-->
+<!-- </div>-->
+<!-- <button style="width: 100%;margin-top: 10px;" @click="searchLoc" class="layui-btn layui-btn-sm">鎼滅储</button>-->
<!-- </div>-->
- <div>
- <button @click="init" class="layui-btn layui-btn-sm">鍒锋柊</button>
- </div>
- <div style="margin-left: 10px;">
- <button @click="resetSearch" class="layui-btn layui-btn-sm">閲嶇疆</button>
- </div>
- <div v-if="!locOutStatus" style="margin-left: 10px;">
- <button @click="locOutStatus = true" class="layui-btn layui-btn-sm">鍑哄簱閫夋嫨</button>
- </div>
- <div v-else style="margin-left: 10px;border: 1px red solid;display: flex;">
- <div>
- <button @click="cancelSelectLoc" class="layui-btn layui-btn-sm">鍙栨秷閫夋嫨</button>
- </div>
- <div style="display: flex;justify-content: center;align-items: center;">
- <select v-model="outSite">
- <option v-for="(item,index) in outSites" :key="index" :value="item.siteId">{{ item.desc }}</option>
- </select>
- </div>
- <div>
- <button @click="locOut" class="layui-btn layui-btn-sm">鍑哄簱</button>
- </div>
- </div>
- </div>
- </div>
- <button class="card-button">鍔熻兘鍖�</button>
- </div>
+<!--<!– <div>–>-->
+<!--<!– <button @click="locToLoc2" class="layui-btn layui-btn-sm">渚ц竟绉诲簱</button>–>-->
+<!--<!– </div>–>-->
+<!-- <div>-->
+<!-- <button @click="init" class="layui-btn layui-btn-sm">鍒锋柊</button>-->
+<!-- </div>-->
+<!-- <div style="margin-left: 10px;">-->
+<!-- <button @click="resetSearch" class="layui-btn layui-btn-sm">閲嶇疆</button>-->
+<!-- </div>-->
+<!-- <div v-if="!locOutStatus" style="margin-left: 10px;">-->
+<!-- <button @click="locOutStatus = true" class="layui-btn layui-btn-sm">鍑哄簱閫夋嫨</button>-->
+<!-- </div>-->
+<!-- <div v-else style="margin-left: 10px;border: 1px red solid;display: flex;">-->
+<!-- <div>-->
+<!-- <button @click="cancelSelectLoc" class="layui-btn layui-btn-sm">鍙栨秷閫夋嫨</button>-->
+<!-- </div>-->
+<!-- <div style="display: flex;justify-content: center;align-items: center;">-->
+<!-- <select v-model="outSite">-->
+<!-- <option v-for="(item,index) in outSites" :key="index" :value="item.siteId">{{ item.desc }}</option>-->
+<!-- </select>-->
+<!-- </div>-->
+<!-- <div>-->
+<!-- <button @click="locOut" class="layui-btn layui-btn-sm">鍑哄簱</button>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <button class="card-button">鍔熻兘鍖�</button>-->
+<!-- </div>-->
<div class="hoverCard">
<div class="card-details">
--
Gitblit v1.9.1