From 7f4ae8816d0df23ec4e31b72a9a961a5d49d365d Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期二, 27 八月 2024 14:10:18 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java | 48 ++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 97 +++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java | 4
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java | 36 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java | 25
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml | 3
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java | 25 +
hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java | 2
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java | 4
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 32 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java | 7
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 75 ++-
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java | 209 +++-----
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java | 12
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java | 205 ++++++++
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml | 8
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java | 40 +
UI-Project/config.js | 8
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java | 2
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 4
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java | 62 +-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java | 16
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/request/CacheWornRequest.java | 28 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 14
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 7
UI-Project/src/utils/constants.js | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml | 4
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java | 8
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java | 133 ++++-
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 27 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java | 100 ++--
/dev/null | 0
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java | 4
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java | 7
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/IdentWornRequest.java | 28 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java | 20
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java | 4
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java | 29
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java | 8
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java | 42 -
41 files changed, 1,011 insertions(+), 382 deletions(-)
diff --git a/UI-Project/config.js b/UI-Project/config.js
index 9a4f798..8801d0c 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,10 +1,10 @@
export default {
- serverUrl: "10.153.19.150:88/api",
+// serverUrl: "10.153.19.150:88/api",
// serverUrl: "192.168.1.199:88/api",
-// serverUrl: "127.0.0.1:88/api",
- serverUrl2: "10.153.19.150:88"
+ serverUrl: "127.0.0.1:88/api",
+ // serverUrl2: "10.153.19.150:88"
// serverUrl2: "192.168.1.199:88"
- // serverUrl2: "127.0.0.1:88"
+ serverUrl2: "127.0.0.1:88"
//serverUrl:"res.abeim.cn"
}
\ No newline at end of file
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index b551cfb..69000bc 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1,4 +1,4 @@
// export const WebSocketHost = "192.168.1.199";
-export const WebSocketHost = "10.153.19.150";
-// export const WebSocketHost = "127.0.0.1";
+// export const WebSocketHost = "10.153.19.150";
+export const WebSocketHost = "127.0.0.1";
export const host = "88";
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java
index 18b23f5..06f0c22 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java
@@ -26,7 +26,7 @@
//鑾峰彇寰呴�夋嫨鐨勫伐绋嬪彿
private OrdersService ordersService;
- @ApiOperation("鏄剧ず璁㈠崟璇︾粏1")
+ @ApiOperation("鏄剧ず璁㈠崟璇︾粏")
@PostMapping("/selectOrderdetail") //鏄剧ず宸ョ▼閫夋嫨淇℃伅
@ResponseBody
public Result<List<Orderdetail>> listByState(@RequestBody Orders orders) {
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java
index cd88ede..130ce69 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/Reportingdamage.java
@@ -31,6 +31,10 @@
* 娆$牬鏃堕棿
*/
private String reportingWorkTime;
+ /**
+ * 娆$牬鏃堕棿2
+ */
+ private String reportingWorkTime2;
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index c34be28..537dbdf 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -65,7 +65,7 @@
if(glass != null) {
return temperingMapper.selectByEngineerIdAndLayoutId(glass.getEngineerId(),glass.getTemperingLayoutId());
}
- return null;
+ return null;
}
@Override
@@ -93,7 +93,7 @@
}
@Override
- public List<TemperingGlassInfo> selectTaskType() {
+ public List<TemperingGlassInfo> selectTaskType() {
QueryWrapper<TemperingGlassInfo> wrapper = new QueryWrapper<>();
wrapper.select("state")
.groupBy("state");
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
index b8b8a9d..8e16a5e 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
@@ -1,12 +1,19 @@
package com.mes.edgglasstask.controller;
+import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author wu
@@ -16,5 +23,21 @@
@RequestMapping("/edgGlassTaskInfo")
public class EdgGlassTaskInfoController {
+ @Autowired
+ EdgGlassTaskInfoService edgGlassTaskInfoService;
+
+ /**
+ * 璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟
+ *
+ * @param request
+ * @return
+ */
+ @PostMapping("/setEdgGlassInfoRequest")
+ @ApiOperation(value = "璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟", notes = "璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟")
+ public Result<String> setEdgGlassInfoRequest(@RequestBody EdgGlassInfoRequest request) {
+ edgGlassTaskInfoService.setEdgGlassInfoRequest(request);
+ return Result.build(200, "鏌ヨ鎴愬姛", "1");
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
index 1d660e3..387c397 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -1,5 +1,6 @@
package com.mes.edgglasstask.entity;
+import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -36,4 +37,7 @@
private Date time;
+ @TableLogic
+ private int deleted;
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java
new file mode 100644
index 0000000..973b4c2
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java
@@ -0,0 +1,40 @@
+package com.mes.edgglasstask.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/8/7 16:16
+ * @Description:
+ */
+@Data
+public class EdgGlassInfoRequest {
+
+ /**
+ * 纾ㄨ竟绾� 2001 2002
+ */
+ private List<Integer> cellList;
+ /**
+ * 鐘舵�� 0 寰呭鐞� 1 澶勭悊涓� 2 澶勭悊瀹屾垚
+ */
+ private List<Integer> stateList;
+
+ /**
+ * 寮�濮嬫椂闂�
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date beginDate;
+
+ /**
+ * 缁撴潫鏃堕棿
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date endDate;
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/IdentWornRequest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/IdentWornRequest.java
new file mode 100644
index 0000000..a383b93
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/IdentWornRequest.java
@@ -0,0 +1,28 @@
+package com.mes.edgglasstask.entity.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/8/10 13:34
+ * @Description:
+ */
+@Data
+public class IdentWornRequest {
+
+ @NotBlank(message = "鐜荤拑ID涓嶈兘涓虹┖")
+ private String glassId;
+
+ @NotNull(message = "鐘舵�佷笉鑳戒负绌�")
+ private int state;
+
+ @NotNull(message = "绾胯矾涓嶈兘涓虹┖")
+ private int line;
+
+ @NotBlank(message = "宸ュ簭涓嶈兘涓虹┖")
+ private String workingProcedure;
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
index 7df5e0f..45651a3 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
@@ -2,12 +2,13 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
import java.util.List;
/**
* <p>
- * 鏈嶅姟绫�
+ * 鏈嶅姟绫�
* </p>
*
* @author wu
@@ -15,9 +16,9 @@
*/
public interface EdgGlassTaskInfoService extends IService<EdgGlassTaskInfo> {
- // List<EdgGlassTaskInfo> selectEdgInfo();
+ List<EdgGlassTaskInfo> selectEdgInfo();
-// String setEdgGlassInfoRequest(EdgGlassInfoRequest request);
+ String setEdgGlassInfoRequest(EdgGlassInfoRequest request);
/**
* 鏌ヨ鍒ゆ柇纾ㄨ竟绾挎槸鍚︽湁鐜荤拑杩愯
* @param
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
index 1e132e5..0934ab6 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -1,11 +1,15 @@
package com.mes.edgglasstask.service.impl;
+import cn.smallbun.screw.core.util.CollectionUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.common.utils.RedisUtil;
import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper;
import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import com.mes.tools.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -13,7 +17,7 @@
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author wu
@@ -25,34 +29,34 @@
@Autowired
RedisUtil redisUtil;
- //@Override
-// public List<EdgGlassTaskInfo> selectEdgInfo() {
-// EdgGlassInfoRequest request = redisUtil.getCacheObject("edgGlassRequest");
-//
-// if (null == request) {
-// request = new EdgGlassInfoRequest();
-// }
-// if (null == request.getBeginDate()) {
-// request.setBeginDate(DateUtil.getBeginDate());
-// request.setEndDate(DateUtil.getEndDate());
-// }
-// LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassWrapper = new LambdaQueryWrapper<EdgGlassTaskInfo>()
-// .in(CollectionUtils.isNotEmpty(request.getCellList()), EdgGlassTaskInfo::getLine, request.getCellList())
-// .in(CollectionUtils.isNotEmpty(request.getStateList()), EdgGlassTaskInfo::getStatus, request.getStateList())
-// .between(null != request.getBeginDate(), EdgGlassTaskInfo::getTime, request.getBeginDate(), request.getEndDate())
-// .orderByDesc(EdgGlassTaskInfo::getTime);
-// return this.list(edgGlassWrapper);
-// }
-//
-// @Override
-// public String setEdgGlassInfoRequest(EdgGlassInfoRequest request) {
-// if (request == null) {
-// redisUtil.deleteObject("edgGlassRequest");
-// } else {
-// redisUtil.setCacheObject("edgGlassRequest", request);
-// }
-// return "success";
-// }
+ @Override
+ public List<EdgGlassTaskInfo> selectEdgInfo() {
+ EdgGlassInfoRequest request = redisUtil.getCacheObject("edgGlassRequest");
+
+ if (null == request) {
+ request = new EdgGlassInfoRequest();
+ }
+ if (null == request.getBeginDate()) {
+ request.setBeginDate(DateUtil.getBeginDate());
+ request.setEndDate(DateUtil.getEndDate());
+ }
+ LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassWrapper = new LambdaQueryWrapper<EdgGlassTaskInfo>()
+ .in(CollectionUtils.isNotEmpty(request.getCellList()), EdgGlassTaskInfo::getLine, request.getCellList())
+ .in(CollectionUtils.isNotEmpty(request.getStateList()), EdgGlassTaskInfo::getStatus, request.getStateList())
+ .between(null != request.getBeginDate(), EdgGlassTaskInfo::getTime, request.getBeginDate(), request.getEndDate())
+ .orderByDesc(EdgGlassTaskInfo::getTime);
+ return this.list(edgGlassWrapper);
+ }
+
+ @Override
+ public String setEdgGlassInfoRequest(EdgGlassInfoRequest request) {
+ if (request == null) {
+ redisUtil.deleteObject("edgGlassRequest");
+ } else {
+ redisUtil.setCacheObject("edgGlassRequest", request);
+ }
+ return "success";
+ }
/**
* 鏌ヨ鍒ゆ柇纾ㄨ竟绾挎槸鍚︽湁鐜荤拑杩愯
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
index e7fea1b..a28f44b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
@@ -1,26 +1,23 @@
package com.mes.edgstoragecage.controller;
+import com.mes.edgglasstask.entity.request.IdentWornRequest;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
import com.mes.edgstoragecage.service.EdgStorageCageService;
-import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
-import com.mes.taskcache.entity.TaskCache;
-import com.mes.taskcache.service.impl.TaskCacheServiceImpl;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import java.awt.image.ImageProducer;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author zhoush
@@ -40,44 +37,33 @@
@ApiOperation("鏌ヨ纾ㄨ竟缂撳瓨鐞嗙墖绗煎唴璇︽儏 鍙傛暟()")
@PostMapping("/selectEdgStorageCage")
@ResponseBody
- public Result selectEdgStorageCage () {
- List<Map<String, Object>> list=edgStorageCageService.selectEdgStorageCages();
- return Result.build(200,"鎴愬姛",list);
+ public Result selectEdgStorageCage() {
+ List<Map<String, Object>> list = edgStorageCageService.selectEdgStorageCages();
+ return Result.build(200, "鎴愬姛", list);
}
-// @ApiOperation("娣诲姞纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭� 鍔熻兘锛氱鍐呯粦瀹氱幓鐠� 鍙傛暟(EdgStorageCage edgStorageCage)")
-// @PostMapping("/insertEdgStorageCage")
-// @ResponseBody
-// public Result insertEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
-// boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
-// return Result.build(200,"娣诲姞鎴愬姛",1);
-// }
+
@ApiOperation("淇敼纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸杩涜銆愬惎鐢�/绂佺敤銆�")
@PostMapping("/updateEdgStorageCage")
@ResponseBody
public Result updateEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
- String isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage)?"鎴愬姛":"澶辫触";
- return Result.build(200,"銆愬惎鐢�/绂佺敤銆�"+isSucess,1);
+ String isSucess = edgStorageCageService.updateEdgStorageCage(edgStorageCage) ? "鎴愬姛" : "澶辫触";
+ return Result.build(200, "銆愬惎鐢�/绂佺敤銆�" + isSucess, 1);
}
@ApiOperation("纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愭竻闄�/鏇存崲/缁戝畾銆� EdgStorageCage鏍煎瓙淇℃伅,EdgStorageCageDetails 鐜荤拑淇℃伅 ")
@PostMapping("/edgStorageCageGlass")
@ResponseBody
- public Result edgStorageCageGlass(@RequestBody EdgStorageCageDetails edgStorageCageDetails,int edgStorageCageId) {
+ public Result edgStorageCageGlass(@RequestBody EdgStorageCageDetails edgStorageCageDetails, int edgStorageCageId) {
- String isSucess=edgStorageCageService.updateEdgStorageCageDetails(edgStorageCageId,edgStorageCageDetails)?"鎴愬姛":"澶辫触";
- return Result.build(200,"銆愭竻闄�/鏇存崲/缁戝畾銆�"+isSucess,1);
+ String isSucess = edgStorageCageService.updateEdgStorageCageDetails(edgStorageCageId, edgStorageCageDetails) ? "鎴愬姛" : "澶辫触";
+ return Result.build(200, "銆愭竻闄�/鏇存崲/缁戝畾銆�" + isSucess, 1);
}
-
-
@ApiOperation("纾ㄨ竟妯″潡姹囨姤鐜荤拑鐘舵�� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愮牬鎹�/鎷胯蛋銆� ")
@PostMapping("/edgReportStatus")
@ResponseBody
- public Result edgReportStatus(@RequestBody Map<String, Object> arguments) {
- /*arguments.put("line","1002");
- arguments.put("machine","鍗у紡鐞嗙墖");*/
- String isSucess=edgStorageCageDetailsService.identWorn(arguments)?"鎴愬姛":"澶辫触";
- return Result.build(200,"銆愮牬鎹�/鎷胯蛋銆�"+isSucess,1);
+ public Result edgReportStatus(@RequestBody @Validated IdentWornRequest request) {
+ return Result.build(200, "銆愮牬鎹�/鎷胯蛋銆�" + edgStorageCageDetailsService.edgReportStatus(request), 1);
}
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
index 4f00afb..4e7ef5c 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -1,6 +1,7 @@
package com.mes.edgstoragecage.service;
import com.github.yulichang.base.MPJBaseService;
+import com.mes.edgglasstask.entity.request.IdentWornRequest;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import java.util.List;
@@ -15,13 +16,6 @@
* @since 2024-04-07
*/
public interface EdgStorageCageDetailsService extends MPJBaseService<EdgStorageCageDetails> {
-
- /**
- * 璇嗗埆 鐮存崯/鎷胯蛋
- * @param arguments
- * @return
- */
- boolean identWorn(Map<String, Object> arguments);
/**
* 鑾峰彇 鍒囧壊褰撳墠鐗堝浘
@@ -46,9 +40,26 @@
/**
* 鑾峰彇鍑虹墖淇℃伅鏁版嵁
+ *
* @param glassId
* @param threshold
* @return
*/
EdgStorageCageDetails selectOutGlass(String glassId, int threshold);
+
+ /**
+ * 璇嗗埆 鎷胯蛋:9/鐮存崯:8
+ *
+ * @param request
+ * @return
+ */
+ String identControls(IdentWornRequest request);
+
+ /**
+ * 纾ㄨ竟妯″潡姹囨姤鐜荤拑鐘舵�� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愮牬鎹�/鎷胯蛋銆�
+ *
+ * @param request
+ * @return
+ */
+ String edgReportStatus(IdentWornRequest request);
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index eef3b5d..e214749 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJLambdaQueryWrapper;
@@ -9,16 +10,15 @@
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
-import com.mes.damage.mapper.DamageMapper;
import com.mes.damage.service.DamageService;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.entity.request.IdentWornRequest;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
-import com.mes.engineering.entity.Engineering;
-import com.mes.engineering.mapper.EngineeringMapper;
-import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.pp.entity.OptimizeDetail;
import com.mes.pp.entity.OptimizeLayout;
@@ -29,12 +29,11 @@
import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import javax.print.attribute.standard.MediaSize;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -60,12 +59,6 @@
@Autowired
EdgStorageCageMapper edgStorageCageMapper;
@Autowired
- DamageMapper damageMapper;
-
- @Autowired
- EngineeringMapper engineeringMapper;
-
- @Autowired
GlassInfoMapper glassInfoMapper;
@Autowired
@@ -74,47 +67,8 @@
@Autowired
DamageService damageService;
-
- /**
- * 璇嗗埆 鎷胯蛋:200/鐮存崯:201
- *
- * @param arguments
- * @return
- */
- @Override
- public boolean identWorn(Map<String,Object> arguments) {
- String glassId=arguments.get("glassId").toString();
- int state=arguments.get("state").toString().isEmpty()?0:Integer.parseInt(arguments.get("state").toString());
- int line=arguments.get("line").toString().isEmpty()?0:Integer.parseInt(arguments.get("line").toString());
- String workingProcedure=arguments.get("workingProcedure").toString();
- if(state==0||line==0||workingProcedure==null||glassId==null||glassId.isEmpty()){
- log.info("鍓嶇浼犻�掓暟鎹笉鍏�:{}",arguments);
- return false;
- }
- List<GlassInfo> GlassInfos = glassInfoMapper.selectList(new MPJLambdaQueryWrapper<GlassInfo>()
- .selectAll(GlassInfo.class)
- .eq(GlassInfo::getGlassId, glassId));
- if (GlassInfos.size() == 1) {
- Damage damage =new Damage();
- damage.setGlassId(glassId);
- damage.setLine(line);
- damage.setWorkingProcedure(workingProcedure);
- damage.setRemark("");
- damage.setStatus(state);//8鐮存崯锛�9鎷胯蛋
- damageService.insertDamage(damage);
- }else{
- return false;
- }
- List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
- .selectAll(EdgStorageCageDetails.class)
- .eq(EdgStorageCageDetails::getGlassId, glassId));
- if (edgStorageCageDetails.size() == 1) {
- EdgStorageCageDetails item = edgStorageCageDetails.get(0);
- item.setState(state);
- baseMapper.update(item, new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
- }
- return true;
- }
+ @Autowired
+ EdgGlassTaskInfoService edgGlassTaskInfoService;
/**
* 鑾峰彇 鍒囧壊褰撳墠鐗堝浘
@@ -123,17 +77,13 @@
*/
@Override
public List<Map<String, Object>> selectCutTerritory() {
- List<UpPattenUsage> upPattenUsage=upPattenUsageMapper.selectJoinList(UpPattenUsage.class, new MPJLambdaWrapper<UpPattenUsage>()
+ List<UpPattenUsage> upPattenUsage = upPattenUsageMapper.selectList(new MPJLambdaWrapper<UpPattenUsage>()
.selectAll(UpPattenUsage.class)
- .innerJoin(Engineering.class, on -> on
- .eq(Engineering::getEngineerId, UpPattenUsage::getEngineeringId))
- .eq(Engineering::getState,1)
.orderByDesc(UpPattenUsage::getState)
- .orderByDesc(UpPattenUsage::getId)
- );
+ .orderByDesc(UpPattenUsage::getId));
if (!upPattenUsage.isEmpty()) {
UpPattenUsage upPattenUsage1 = upPattenUsage.get(0);
- List<Map<String, Object>> cutTerritorys=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
+ List<Map<String, Object>> cutTerritorys = optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
.selectAll(OptimizeDetail.class)
.selectAs(OptimizeLayout::getWidth, "olWidth")
.selectAs(OptimizeLayout::getHeight, "olHeight")
@@ -143,34 +93,29 @@
.eq(OptimizeDetail::getProjectNo, upPattenUsage1.getEngineeringId())
.eq(OptimizeDetail::getStockId, upPattenUsage1.getLayoutSequence())
);
- Map<String, EdgStorageCageDetails> edgMaps=baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
- .selectAll(EdgStorageCageDetails.class)
- .eq(EdgStorageCageDetails::getEngineerId,upPattenUsage1.getEngineeringId())
- .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
- ).stream().collect(Collectors.toMap(EdgStorageCageDetails::getGlassId,EdgStorageCageDetails->EdgStorageCageDetails));
-
- Map<String, Damage> damageMaps=damageMapper.selectList(new MPJLambdaQueryWrapper<Damage>()
- .selectAll(Damage.class)
- .eq(Damage::getEngineerId,upPattenUsage1.getEngineeringId())
- ).stream().collect(Collectors.toMap(Damage::getGlassId,Damage->Damage,(V1,V2)->V2));
-
- List<Map<String, Object>> resultCutTerritory=new ArrayList<>();
+ List<Map<String, Object>> ResultcutTerritorys = new ArrayList<>();
for (Map<String, Object> cutTerritory : cutTerritorys) {
+ EdgStorageCageDetails edgStorageCageDetails = baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
+ .selectAll(EdgStorageCageDetails.class)
+ .eq(EdgStorageCageDetails::getGlassId, cutTerritory.get("glass_id"))
+ .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
// log.info("鍐呭锛歿}-------{}",cutTerritory,edgStorageCageDetails);
- if(cutTerritory.get("glass_id")==null||"".equals(cutTerritory.get("glass_id"))){
- log.info("浼樺寲鏁版嵁涓璯lassId瀛樺湪绌哄��-----鍐呭锛歿}",cutTerritorys);
- return new ArrayList<>();
- }else if(edgMaps.get(cutTerritory.get("glass_id"))!=null){
- cutTerritory.put("glass_state",edgMaps.get(cutTerritory.get("glass_id")).getState());
- }else if(damageMaps.get(cutTerritory.get("glass_id"))!=null){
- //log.info("鐜荤拑宸茬牬鎹�/鎷胯蛋-----鍐呭锛歿}",damageMaps.get(item.get("glass_id")));
- cutTerritory.put("glass_state",damageMaps.get(cutTerritory.get("glass_id")).getStatus());
- }else{
- cutTerritory.put("glass_state",0);
+ if (edgStorageCageDetails != null) {
+ cutTerritory.put("glass_state", edgStorageCageDetails.getState());
+ } else {
+ cutTerritory.put("glass_state", 0);
}
- resultCutTerritory.add(cutTerritory);
+ ResultcutTerritorys.add(cutTerritory);
}
- return resultCutTerritory;
+ return ResultcutTerritorys;
+
+// Sql鐗堟湰
+// return optimizeDetailMapper.selectJoinMaps(new MPJQueryWrapper<OptimizeDetail>().selectAll(OptimizeDetail.class)
+// .select("ol.width as olwidth","ol.height as olheight")
+// .leftJoin("optimize_layout ol on t.project_no=ol.project_no and t.stock_id=ol.stock_id")
+// .eq("t.project_no", upPattenUsage1.getEngineeringId())
+// .eq("t.stock_id",upPattenUsage1.getLayoutSequence())
+// );
}
return null;
}
@@ -184,9 +129,9 @@
@Override
public List<List<Map<String, Object>>> selectCurrentCutTerritory(String current) {
//缁撴灉
- List<Map<String, Object>> resultCutTerritory=new ArrayList<>();
+ List<Map<String, Object>> ResultcutTerritorys = new ArrayList<>();
//姝ゅ伐绋嬬殑鎵�鏈変紭鍖栨暟鎹�
- List<Map<String, Object>> cutTerritory=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
+ List<Map<String, Object>> cutTerritorys = optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
.selectAll(OptimizeDetail.class)
.selectAs(OptimizeLayout::getWidth, "olWidth")
.selectAs(OptimizeLayout::getHeight, "olHeight")
@@ -196,35 +141,32 @@
.eq(OptimizeDetail::getProjectNo, current)
);
- Map<String, EdgStorageCageDetails> edgMaps=baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
+ Map<String, EdgStorageCageDetails> edgMaps = baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
.selectAll(EdgStorageCageDetails.class)
- .eq(EdgStorageCageDetails::getEngineerId,current)
+ .eq(EdgStorageCageDetails::getEngineerId, current)
.eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
- ).stream().collect(Collectors.toMap(EdgStorageCageDetails::getGlassId,EdgStorageCageDetails->EdgStorageCageDetails,(V1,V2)->V2));
-
- Map<String, Damage> damageMaps=damageMapper.selectList(new MPJLambdaQueryWrapper<Damage>()
- .selectAll(Damage.class)
- .eq(Damage::getEngineerId,current)
- ).stream().collect(Collectors.toMap(Damage::getGlassId,Damage->Damage));
-
- for (Map<String, Object> item : cutTerritory) {
+ ).stream().collect(Collectors.toMap(EdgStorageCageDetails::getGlassId, EdgStorageCageDetails -> EdgStorageCageDetails));
+ for (Map<String, Object> cutTerritory : cutTerritorys) {
// log.info("鍐呭锛歿}-------{}",cutTerritory,edgStorageCageDetails);
- if(item.get("glass_id")==null||"".equals(item.get("glass_id"))){
- log.info("浼樺寲鏁版嵁涓璯lassId瀛樺湪绌哄��-----鍐呭锛歿}",cutTerritory);
+ if (cutTerritory.get("glass_id") == null || "".equals(cutTerritory.get("glass_id"))) {
+ log.info("浼樺寲鏁版嵁涓璯lassId瀛樺湪绌哄��-----鍐呭锛歿}", cutTerritorys);
return new ArrayList<>();
- }else if(edgMaps.get(item.get("glass_id"))!=null){
- item.put("glass_state",edgMaps.get(item.get("glass_id")).getState());
- }else if(damageMaps.get(item.get("glass_id"))!=null){
- //log.info("鐜荤拑宸茬牬鎹�/鎷胯蛋-----鍐呭锛歿}",damageMaps.get(item.get("glass_id")));
- item.put("glass_state",damageMaps.get(item.get("glass_id")).getStatus());
- }else{
- item.put("glass_state",0);
+ } else if (edgMaps.get(cutTerritory.get("glass_id")) != null) {
+ cutTerritory.put("glass_state", edgMaps.get(cutTerritory.get("glass_id")).getState());
+ } else {
+ cutTerritory.put("glass_state", 0);
}
- resultCutTerritory.add(item);
+ ResultcutTerritorys.add(cutTerritory);
}
- Map<String, List<Map<String, Object>>> groupBy=resultCutTerritory.stream().collect(Collectors.groupingBy(item->item.get("stock_id").toString()));
+ Map<String, List<Map<String, Object>>> groupBy = ResultcutTerritorys.stream().collect(Collectors.groupingBy(item -> item.get("stock_id").toString()));
// List<List<Map<String, Object>>> Result=groupBy.values().stream().collect(Collectors.toList());
return new ArrayList<>(groupBy.values());
+//Sql鐗堟湰
+// return optimizeDetailMapper.selectJoinMaps(new MPJQueryWrapper<OptimizeDetail>().selectAll(OptimizeDetail.class)
+// .select("ol.width as olwidth","ol.height as olheight")
+// .leftJoin("optimize_layout ol on t.project_no=ol.project_no and t.stock_id=ol.stock_id")
+// .eq("t.project_no",current)
+// );
}
/**
@@ -315,22 +257,49 @@
EdgStorageCageDetails outEdgStorageCageDetails = null;
// if (queryMaxMinDiff(threshold))
- //todo:閫昏緫1锛氳幏鍙栦袱鏉$嚎宸插嚭鏈�鍚庝竴鍧楃幓鐠冨湪绗煎唴鐩稿悓灏哄鎵�鍓╂暟閲忥紝浼樺厛璧版暟閲忓皯鐨勭嚎
- //todo:闇�瑕佸湪鍗у紡鐞嗙墖绗艰鎯呰〃涓柊澧炵姸鎬侊紝鐢ㄦ潵琛ㄧず鐜荤拑杩涘嚭鐞嗙墖绗兼儏鍐�
- if (oldEdgStorageCageDetails != null && minTemperingLayoutId != null) {
- log.info("鎸夌収涓婁竴鐗囧凡鍑虹幓鐠冨搴}锛岄珮搴}锛屽強鐗堝浘id鍖洪棿{}鍒皗}鑾峰彇鍑虹墖浠诲姟鐜荤拑淇℃伅", oldEdgStorageCageDetails.getWidth()
- , oldEdgStorageCageDetails.getHeight(), minTemperingLayoutId.getTemperingLayoutId(), minTemperingLayoutId.getTemperingLayoutId() + threshold);
- outEdgStorageCageDetails = this.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
- .notIn(CollectionUtils.isNotEmpty(glassIds), EdgStorageCageDetails::getGlassId, glassIds)
- .eq(EdgStorageCageDetails::getWidth, oldEdgStorageCageDetails.getWidth())
- .eq(EdgStorageCageDetails::getHeight, oldEdgStorageCageDetails.getHeight())
- .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId, EdgStorageCageDetails::getTemperingFeedSequence)
- .last("limit 1"));
- log.info("鍑虹墖浠诲姟鐨勭幓鐠冧俊鎭細{}", outEdgStorageCageDetails);
- }
+ //todo:閫昏緫1锛氳幏鍙栦袱鏉$嚎宸插嚭鏈�鍚庝竴鍧楃幓鐠冨湪绗煎唴鐩稿悓灏哄鎵�鍓╂暟閲忥紝浼樺厛璧版暟閲忓皯鐨勭嚎
+ //todo:闇�瑕佸湪鍗у紡鐞嗙墖绗艰鎯呰〃涓柊澧炵姸鎬侊紝鐢ㄦ潵琛ㄧず鐜荤拑杩涘嚭鐞嗙墖绗兼儏鍐�
+ if (oldEdgStorageCageDetails != null && minTemperingLayoutId != null) {
+ log.info("鎸夌収涓婁竴鐗囧凡鍑虹幓鐠冨搴}锛岄珮搴}锛屽強鐗堝浘id鍖洪棿{}鍒皗}鑾峰彇鍑虹墖浠诲姟鐜荤拑淇℃伅", oldEdgStorageCageDetails.getWidth()
+ , oldEdgStorageCageDetails.getHeight(), minTemperingLayoutId.getTemperingLayoutId(), minTemperingLayoutId.getTemperingLayoutId() + threshold);
+ outEdgStorageCageDetails = this.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+ .notIn(CollectionUtils.isNotEmpty(glassIds), EdgStorageCageDetails::getGlassId, glassIds)
+ .eq(EdgStorageCageDetails::getWidth, oldEdgStorageCageDetails.getWidth())
+ .eq(EdgStorageCageDetails::getHeight, oldEdgStorageCageDetails.getHeight())
+ .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId, EdgStorageCageDetails::getTemperingFeedSequence)
+ .last("limit 1"));
+ log.info("鍑虹墖浠诲姟鐨勭幓鐠冧俊鎭細{}", outEdgStorageCageDetails);
+ }
if (outEdgStorageCageDetails == null) {
outEdgStorageCageDetails = minTemperingLayoutId;
}
return outEdgStorageCageDetails;
}
+
+ @Override
+ public String identControls(IdentWornRequest request) {
+ //灏嗚瘑鍒牬鎹熺殑鐜荤拑鐩存帴鍔犲叆鐮存崯琛�
+ Damage damage = new Damage();
+ BeanUtils.copyProperties(request, damage);
+ damage.setType(request.getState());
+ damage.setRemark("");
+ damage.setStatus(0);
+ damageService.insertDamage(damage);
+ return "success";
+ }
+
+ @Override
+ public String edgReportStatus(IdentWornRequest request) {
+ //灏嗙(杈归槦鍒楃牬鎹熺殑鐜荤拑鐩存帴鍔犲叆鐮存崯琛�
+ Damage damage = new Damage();
+ BeanUtils.copyProperties(request, damage);
+ damage.setType(request.getState());
+ damage.setRemark("");
+ damage.setStatus(0);
+ damageService.insertDamage(damage);
+ //淇敼纾ㄨ竟闃熷垪鏁版嵁鐘舵��
+ edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
+ .set(EdgGlassTaskInfo::getStatus, request.getState()).eq(EdgGlassTaskInfo::getGlassId, request.getGlassId()));
+ return "success";
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
index b11d08b..87716c5 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -153,17 +153,15 @@
EdgStorageCageDetails edgDItem = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
if (edgItem != null) {
//绉婚櫎 锛堢牬鎹�,鐩墠涓や釜姒傚康娣峰悎鍦ㄤ竴璧�,寤鸿鎷嗗紑锛�
- EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>()
- .eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
+ EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
if (result != null) {
- int state=8;
result.setSlot(0);
- result.setState(state);
+ result.setState(201);
Damage damage =new Damage();
damage.setGlassId(edgStorageCageDetails.getGlassId());
damage.setLine(1002);
damage.setWorkingProcedure("鍗у紡鐞嗙墖");
- damage.setStatus(state);
+ damage.setStatus(2);
damageService.insertDamage(damage);
edgStorageCageDetailsMapper.updateById(result);
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index c1c52ec..d0fb44d 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -737,8 +737,8 @@
jsonObject.append("currentCutTerritory", currentCutTerritorys);
//log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
//纾ㄨ竟淇℃伅
-// List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
-// jsonObject.append("edgTasks", edgTasks);
+ List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
+ jsonObject.append("edgTasks", edgTasks);
//鍗у缂撳瓨绗煎唴淇℃伅
List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
index 62508b2..850789e 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -1,23 +1,21 @@
package com.mes.taskcache.controller;
+import com.mes.edgglasstask.entity.request.IdentWornRequest;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
-import com.mes.edgstoragecage.service.EdgStorageCageService;
-import com.mes.taskcache.entity.TaskCache;
import com.mes.taskcache.service.TaskCacheService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
-import static com.mes.job.CacheGlassTask.engineerId;
-
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author zhoush
@@ -32,8 +30,6 @@
private EdgStorageCageDetailsService edgStorageCageDetailsService;
@Autowired
- private EdgStorageCageService edgStorageCageService;
- @Autowired
private TaskCacheService taskCacheService;
@ApiOperation("鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙� 鍙傛暟(宸ョ▼鍙�)")
@@ -42,30 +38,31 @@
public Result cutTerritory(String current) {
//engineerId=current;
List<List<Map<String, Object>>> h = edgStorageCageDetailsService.selectCurrentCutTerritory(current);
- return Result.build(200,"鎴愬姛",h);
+ return Result.build(200, "鎴愬姛", h);
}
+
@ApiOperation("璇嗗埆鏄剧ず 褰撳墠鐗堝浘 鍙傛暟()")
@PostMapping("/currentCutTerritory")
@ResponseBody
public Result currentCutTerritory() {
List<Map<String, Object>> h = edgStorageCageDetailsService.selectCutTerritory();
- return Result.build(200,"鎴愬姛",h);
+ return Result.build(200, "鎴愬姛", h);
}
- @ApiOperation("璇嗗埆鎿嶄綔锛� 鐮存崯/鎷胯蛋 鍙傛暟锛圛D,鍔熻兘[200锛氭嬁璧帮紝201:鐮存崯]锛�")
+
+ @ApiOperation("璇嗗埆鎿嶄綔锛� 鐮存崯/鎷胯蛋 鍙傛暟锛圛D,鍔熻兘[9锛氭嬁璧帮紝8:鐮存崯]锛�")
@PostMapping("/identControls")
@ResponseBody
- public Result identControls(@RequestBody Map<String, Object> arguments) {
- boolean issucess = edgStorageCageDetailsService.identWorn(arguments);
- return Result.build(200,"鎴愬姛",issucess);
+ public Result<String> identControls(@RequestBody @Validated IdentWornRequest request) {
+ return Result.build(200, "鎴愬姛", edgStorageCageDetailsService.identControls(request));
}
@ApiOperation("纾ㄨ竟浠诲姟 鍙傛暟()")
@PostMapping("/selectEdgTask")
@ResponseBody
public Result selectEdgTask(@RequestBody Map<String, String> arguments) {
- String line=arguments.get("line");
- List<Map<String,Object>> EdgTasks = taskCacheService.selectEdgInfo(line);
- return Result.build(200,"鎴愬姛",EdgTasks);
+ String line = arguments.get("line");
+ List<Map<String, Object>> EdgTasks = taskCacheService.selectEdgInfo(line);
+ return Result.build(200, "鎴愬姛", EdgTasks);
}
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
index fb0c415..9226203 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
@@ -1,5 +1,6 @@
package com.mes.taskcache.entity;
+import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -36,4 +37,7 @@
*/
private Date createTime;
+ @TableLogic
+ private int deleted;
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
index daaf6e3..07275d1 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
@@ -73,11 +73,6 @@
* @return
*/
TaskCache selectLastOutCacheInfo(int line);
- /**
- * 鏌ヨ鍒ゆ柇纾ㄨ竟绾挎槸鍚︽湁鐜荤拑杩愯
- * @param
- * @return
- */
- List<TaskCache> selectTaskCacheIsRun();
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
index 0e330b0..df949ef 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
@@ -1,5 +1,6 @@
package com.mes.taskcache.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
@@ -7,6 +8,7 @@
import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
@@ -23,7 +25,7 @@
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
@@ -44,57 +46,59 @@
/**
* 娣诲姞鐞嗙墖绗间换鍔�
+ *
* @param taskCache
* @return
*/
@Override
- public boolean insertTaskCache(TaskCache taskCache){
+ public boolean insertTaskCache(TaskCache taskCache) {
baseMapper.insert(taskCache);
return true;
}
/**
* 鏌ヨ纾ㄨ竟浠诲姟
+ *
* @param line
* @return
*/
@Override
- public List<Map<String,Object>> selectEdgInfo(String line) {
- List<TaskCache> taskCache=baseMapper.selectList(new MPJLambdaWrapper<TaskCache>()
+ public List<Map<String, Object>> selectEdgInfo(String line) {
+ List<TaskCache> taskCache = baseMapper.selectList(new MPJLambdaWrapper<TaskCache>()
.selectAll(TaskCache.class)
.eq(TaskCache::getEndCell, line)
- .eq(TaskCache::getTaskStatus,1)
+ .eq(TaskCache::getTaskStatus, 1)
.orderByAsc(TaskCache::getCreateTime));
- List<Map<String,Object>> result=new ArrayList<>();
- int serialNumber=1;
- for(TaskCache taskCache1:taskCache){
- Map<String,Object> map=new HashMap<>();
+ List<Map<String, Object>> result = new ArrayList<>();
+ int serialNumber = 1;
+ for (TaskCache taskCache1 : taskCache) {
+ Map<String, Object> map = new HashMap<>();
// GlassInfo glassInfo=glassInfoMapper.selectOne(new MPJLambdaWrapper<GlassInfo>()
// .selectAll(GlassInfo.class)
// .eq(GlassInfo::getGlassId,taskCache1.getGlassId()));
- List<GlassInfo> glassInfos=glassInfoMapper.selectJoinList(GlassInfo.class, new MPJLambdaWrapper<GlassInfo>()
+ List<GlassInfo> glassInfos = glassInfoMapper.selectJoinList(GlassInfo.class, new MPJLambdaWrapper<GlassInfo>()
.selectAll(GlassInfo.class)
.innerJoin(EdgStorageCageDetails.class, on -> on
.eq(EdgStorageCageDetails::getGlassId, GlassInfo::getGlassId)
.eq(EdgStorageCageDetails::getEngineerId, GlassInfo::getEngineerId))
- .eq(GlassInfo::getGlassId,taskCache1.getGlassId())
- .eq(EdgStorageCageDetails::getState,Const.GLASS_STATE_OUT)
+ .eq(GlassInfo::getGlassId, taskCache1.getGlassId())
+ .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT)
);
- if(glassInfos.size()==1){
- GlassInfo glassInfo=glassInfos.get(0);
- map.put("Line",line);//绾胯矾 2001 1绾匡紝 2002 2绾�
- map.put("Width",glassInfo.getWidth());//瀹�
- map.put("Height",glassInfo.getHeight());//楂�
- map.put("Thickness",glassInfo.getThickness());//鍘�
- map.put("GlassId",glassInfo.getGlassId());//鐜荤拑ID
- map.put("FlowCardId",glassInfo.getFlowCardId());//娴佺▼鍗″彿
- map.put("TemperingLayoutId",glassInfo.getTemperingLayoutId());// 鏆備笉鏄剧ず 閽㈠寲鐗堝浘ID
- map.put("TemperingFeedSequence",glassInfo.getTemperingFeedSequence());// 鏆備笉鏄剧ず 閽㈠寲鐗堝浘ID鍐呯殑搴忓彿
- map.put("FilmsId",glassInfo.getFilmsid());//鑶滅郴
- map.put("SerialNumber",serialNumber);//鍑虹墖椤哄簭
+ if (glassInfos.size() == 1) {
+ GlassInfo glassInfo = glassInfos.get(0);
+ map.put("Line", line);//绾胯矾 2001 1绾匡紝 2002 2绾�
+ map.put("Width", glassInfo.getWidth());//瀹�
+ map.put("Height", glassInfo.getHeight());//楂�
+ map.put("Thickness", glassInfo.getThickness());//鍘�
+ map.put("GlassId", glassInfo.getGlassId());//鐜荤拑ID
+ map.put("FlowCardId", glassInfo.getFlowCardId());//娴佺▼鍗″彿
+ map.put("TemperingLayoutId", glassInfo.getTemperingLayoutId());// 鏆備笉鏄剧ず 閽㈠寲鐗堝浘ID
+ map.put("TemperingFeedSequence", glassInfo.getTemperingFeedSequence());// 鏆備笉鏄剧ず 閽㈠寲鐗堝浘ID鍐呯殑搴忓彿
+ map.put("FilmsId", glassInfo.getFilmsid());//鑶滅郴
+ map.put("SerialNumber", serialNumber);//鍑虹墖椤哄簭
result.add(map);
- }else if(glassInfos.size()>1){
- log.info("鏁版嵁涓嶇鍚堥�昏緫--纾ㄨ竟闃熷垪glassId閲嶅:",glassInfos);
+ } else if (glassInfos.size() > 1) {
+ log.info("鏁版嵁涓嶇鍚堥�昏緫--纾ㄨ竟闃熷垪glassId閲嶅:", glassInfos);
return new ArrayList<>();
}
serialNumber++;
@@ -111,16 +115,18 @@
/**
* 鏌ヨ寰呯悊鐗囧伐浣滅殑浠诲姟
+ *
* @return
*/
@Override
- public List<TaskCache> selectCacheInfo(){
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0));
+ public List<TaskCache> selectCacheInfo() {
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0));
}
/**
* 鏌ヨ鍏ㄩ儴浠诲姟
+ *
* @return
*/
@Override
@@ -130,61 +136,51 @@
/**
* 鏌ヨ寰呰繘鐗囦换鍔�
+ *
* @return
*/
@Override
- public List<TaskCache> selectInputTaskCache(){
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,1));
+ public List<TaskCache> selectInputTaskCache() {
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0).eq(TaskCache::getTaskType, 1));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",1));
}
/**
* 鏌ヨ寰呭嚭鐗囦换鍔�
+ *
* @return
*/
@Override
- public List<TaskCache> selectOutTaskCache(){
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,2));
+ public List<TaskCache> selectOutTaskCache() {
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0).eq(TaskCache::getTaskType, 2));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",2));
}
/**
* 鏌ヨ A09 鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+ *
* @param line
* @return
*/
@Override
- public List<TaskCache> selectLastOutCacheInfos(int line){
- return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
+ public List<TaskCache> selectLastOutCacheInfos(int line) {
+ return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line).eq(TaskCache::getTaskStatus, 1).orderByDesc(TaskCache::getCreateTime));
// return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line).eq("task_status",1).orderByDesc("ID"));
}
/**
* 鏌ヨ A09 鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+ *
* @param line
* @return
*/
@Override
- public TaskCache selectLastOutCacheInfo(int line){
- return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
+ public TaskCache selectLastOutCacheInfo(int line) {
+ return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line).eq(TaskCache::getTaskStatus, 1).orderByDesc(TaskCache::getCreateTime));
}
- /**
- * 鏌ヨ鍒ゆ柇纾ㄨ竟绾挎槸鍚︽湁鐜荤拑杩愯
- * @param
- * @return
- */
- @Override
- public List<TaskCache> selectTaskCacheIsRun() {
- List<TaskCache> taskCaches=null;
- taskCaches=taskCacheMapper.selectJoinList(TaskCache.class, new MPJLambdaWrapper<TaskCache>()
- .select("top 4 t.end_cell,ISNULL(b.glass_id, 0)as glass_id")
- .leftJoin("big_storage_cage_feed_task as b on t.glass_id=b.glass_id ")
- .groupBy("t.end_cell,b.glass_id,t.create_time")
- .orderByDesc("t.create_time")
- );
- return taskCaches;
- }
+
+
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index 3a702c3..8ab9ab1 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
spring:
profiles:
- active: prod
+ active: dev
application:
name: cacheGlass
mybatis-plus:
@@ -18,11 +18,11 @@
secondLength: 2500
min:
one: #绗竴鏉$(杈圭嚎鐨勬渶灏忓昂瀵镐俊鎭�
- firstLength: 600
- secondLength: 350
+ firstLength: 500
+ secondLength: 400
two: #绗簩鏉$(杈圭嚎鐨勬渶灏忓昂瀵镐俊鎭�
firstLength: 400
- secondLength: 300
+ secondLength: 400
sequence:
order: false
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
index 233e6f1..ad5430b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -149,7 +149,7 @@
arguments.put("state","8"); //鎷胯蛋锛�200/鐮存崯锛�201
arguments.put("line","1001"); //绾胯矾锛�
arguments.put("workingProcedure","璇嗗埆"); //璁惧鍚嶇О锛�
- edgStorageCageDetailsService.identWorn(arguments);
+// edgStorageCageDetailsService.identWorn(arguments);
log.info("璇嗗埆鍙般�愮牬鎹�/鎷胯蛋銆戯細{}", 1);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
index e717b46..2b2ed15 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
@@ -94,20 +94,26 @@
/**
* 宸ョ▼鍙�
*/
- @ApiModelProperty(value = "宸ョ▼鍙�")
+ @ApiModelProperty(value = "宸ョ▼鍙�", position = 16)
private String engineerId;
+
+ /**
+ * 宸ョ▼鍙�
+ */
+ @ApiModelProperty(value = "灞�", position = 17)
+ private String layer;
/**
* 杩涚墖浠诲姟
*/
- @ApiModelProperty(value = "杩涚墖浠诲姟", position = 16)
+ @ApiModelProperty(value = "杩涚墖浠诲姟", position = 18)
@TableField(exist = false)
private BigStorageCageFeedTask bigStorageCageFeedTask;
/**
* 鍑虹墖浠诲姟
*/
- @ApiModelProperty(value = "鍑虹墖浠诲姟", position = 17)
+ @ApiModelProperty(value = "鍑虹墖浠诲姟", position = 19)
@TableField(exist = false)
private BigStorageCageOutTask bigStorageCageOutTask;
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index a7531d2..2b910c0 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -276,10 +276,9 @@
.gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
.last("limit 1");
if (glassInfo.getTemperingLayoutId() == 0) {
- //todo:鍚屾祦绋嬭繘鍚屼竴鏍�
-// wrapper.eq(BigStorageCageDetails::getFlowCardId,glassInfo.getFlowCardId())
-// .eq(BigStorageCageDetails::get)
- wrapper.eq(BigStorageCageDetails::getWidth, glassInfo.getWidth()).eq(BigStorageCageDetails::getHeight, glassInfo.getHeight());
+ wrapper.eq(BigStorageCageDetails::getFlowCardId,glassInfo.getFlowCardId())
+ .eq(BigStorageCageDetails::getLayer,glassInfo.getLayer());
+// wrapper.eq(BigStorageCageDetails::getWidth, glassInfo.getWidth()).eq(BigStorageCageDetails::getHeight, glassInfo.getHeight());
} else {
wrapper.eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index a255625..b7f6d9b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -221,12 +221,12 @@
LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper();
bigStorageCageDetailsWrapper
.eq(BigStorageCageDetails::getSlot, slot)
- .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL);
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL);
List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
) {
- double widths = bigStorageCageDetails.getWidth();
+ double widths = Math.max(bigStorageCageDetails.getWidth(),bigStorageCageDetails.getHeight()) ;
width = width - widths - glassGap;
}
//淇敼鏍煎瓙鍓╀綑瀹藉害
@@ -266,7 +266,7 @@
@Override
public List<Map<String, Object>> selectBigStorageCageUsage() {
QueryWrapper<BigStorageCage> wrapper = new QueryWrapper<>();
- wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2) AS percentage,SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
+ wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2)*100 AS percentage,SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
.groupBy("device_id");
List<Map<String, Object>> bigStorageCageUsages = baseMapper.selectMaps(wrapper);
@@ -289,8 +289,8 @@
return baseMapper.queryFreeDeviceByUsed(thickness);
}
- @Override
- public List<Integer> queryFreeDeviceByNotUsed(double thickness) {
- return baseMapper.queryFreeDeviceByNotUsed(thickness);
- }
+// @Override
+// public List<Integer> queryFreeDeviceByNotUsed(double thickness) {
+// return baseMapper.queryFreeDeviceByNotUsed(thickness);
+// }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 5378df6..5a7eade 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -2,7 +2,9 @@
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -128,6 +130,8 @@
if (!REQUEST_WORD.equals(mesD01Value) && REQUEST_WORD.equals(d01ToMES) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
if (!d01GlassId.equals(d01Id)) {
judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
+ edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
+ .set(EdgGlassTaskInfo::getStatus, Const.EDG_GLASS_SUCCESS).eq(EdgGlassTaskInfo::getGlassId, d01Id));
d01GlassId = d01Id;
}
}
@@ -135,6 +139,8 @@
if (!REQUEST_WORD.equals(mesD04Value) && REQUEST_WORD.equals(d04ToMES) && !REQUEST_WORD.equals(d05State)) {
if (!d04GlassId.equals(d04Id)) {
judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
+ edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
+ .set(EdgGlassTaskInfo::getStatus, Const.EDG_GLASS_SUCCESS).eq(EdgGlassTaskInfo::getGlassId, d04Id));
d04GlassId = d04Id;
}
}
@@ -277,8 +283,12 @@
return;
}
//鏄惁鏈変汉宸ヤ笅鐗囦换鍔� 鏈夌洿鎺ュ嚭
+// List<BigStorageCageDetails> artificialList = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
+// .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL).orderByDesc(BigStorageCageDetails::getWidth));
List<BigStorageCageDetails> artificialList = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL).orderByDesc(BigStorageCageDetails::getWidth));
+ .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL)
+ .orderByAsc(BigStorageCageDetails::getSlot)
+ .orderByDesc(BigStorageCageDetails::getId));
if (CollectionUtils.isNotEmpty(artificialList)) {
computeOutMoreGlassInfo(artificialList, Boolean.FALSE, mesToPLCAddress);
Date endDate = new Date();
@@ -346,15 +356,15 @@
}
}
}
- //鍚憄lc鍐欏叆纭瀛�
- int returnData = 0;
- int count = 1;
- while (returnData == 0) {
- log.info("宸插悜plc绗瑊}娆¢�佸崗璁�", count);
- S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
- returnData = S7object.getinstance().plccontrol.readWord(mesToPLCAddress, 1).get(0);
- log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesToPLCAddress, returnData);
- }
+// //鍚憄lc鍐欏叆纭瀛�
+// int returnData = 0;
+// int count = 1;
+// while (returnData == 0) {
+// log.info("宸插悜plc绗瑊}娆¢�佸崗璁�", count);
+// S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+// returnData = S7object.getinstance().plccontrol.readWord(mesToPLCAddress, 1).get(0);
+// log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesToPLCAddress, returnData);
+// }
Date endDate = new Date();
log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
@@ -476,10 +486,10 @@
log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
//鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
List<BigStorageCageFeedTask> inDamageTaskInfoList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
- .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ .in(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
log.info("鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", inDamageTaskInfoList);
- bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().in(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
//鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>()
.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
@@ -491,7 +501,8 @@
damage.setLine(bigStorageCageFeedTask.getLine());
damage.setWorkingProcedure("鍐峰姞宸�");
damage.setRemark("杩涚鍓嶅崸杞珛");
- damage.setStatus(2);
+ damage.setStatus(0);
+ damage.setType(bigStorageCageFeedTask.getTaskState());
damageService.insertDamage(damage);
slotList.add(bigStorageCageFeedTask.getTargetSlot());
}
@@ -501,16 +512,15 @@
}
//鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
- .eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
+ .in(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
if (CollectionUtils.isNotEmpty(outDamageTaskInfoList)) {
log.info("鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", outDamageTaskInfoList);
- bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
+ bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().in(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
//绉婚櫎閽㈠寲涓嬬墖琛ㄦ暟鎹�
temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
//鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佸垹闄�
bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>().in(BigStorageCageDetails::getGlassId, glassIdList));
-
//灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
List<Integer> slotList = new ArrayList<>();
for (BigStorageCageOutTask bigStorageCageOutTask : outDamageTaskInfoList) {
@@ -519,7 +529,8 @@
damage.setLine(bigStorageCageOutTask.getEndSlot());
damage.setWorkingProcedure("鍐峰姞宸�");
damage.setRemark("鍑虹墖鍚庡崸杞珛");
- damage.setStatus(2);
+ damage.setStatus(0);
+ damage.setType(bigStorageCageOutTask.getTaskState());
damageService.insertDamage(damage);
slotList.add(bigStorageCageOutTask.getStartSlot());
}
@@ -537,10 +548,20 @@
*/
public Boolean judgeGlassTypeStatus(String glassId, Integer line, String mesAddress) {
//1銆佽幏鍙栦换鍔¤〃涓浉閭荤幓鐠�
- List<EdgGlassTaskInfo> edgGlassTaskInfoList = edgGlassTaskInfoService.list(new LambdaQueryWrapper<EdgGlassTaskInfo>()
+ List<EdgGlassTaskInfo> edgGlassTaskInfoList;
+ edgGlassTaskInfoList = edgGlassTaskInfoService.list(new LambdaQueryWrapper<EdgGlassTaskInfo>()
.eq(EdgGlassTaskInfo::getLine, line)
- .apply("time >= (select time from edg_glass_task_info where glass_id = '" + glassId + "')")
+ .apply("time >= (select time from edg_glass_task_info where line='" + line + "' and glass_id = '" + glassId + "' and deleted = 0)")
.orderByAsc(EdgGlassTaskInfo::getTime));
+ if (edgGlassTaskInfoList == null) {
+ log.info("绾胯矾锛歿}璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触", line);
+ } else {
+ edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>()
+ .select("Top 1 *")
+ .eq("glass_id", glassId)
+ );
+ log.info("鍦ㄥ昂瀵歌〃涓幏鍙栫幓鐠冧俊鎭瘂}", edgGlassTaskInfoList);
+ }
Assert.isFalse(CollectionUtils.isEmpty(edgGlassTaskInfoList), "璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触");
//2銆佽幏鍙栧崸杞珛鍓╀綑瀹藉害
BigStorageDTO sitToUpRemainWidth = bigStorageCageFeedTaskService.querySitToUpRemainWidth(line);
@@ -708,7 +729,7 @@
while (returnData == 0) {
s7control.writeWord(outLine, 2);
returnData = s7control.readWord(outLine, 1).get(0);
- log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, returnData);
+ log.info("宸插悜plc绗瑊}娆″彂閫佽繘鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, returnData);
}
}
@@ -818,13 +839,13 @@
bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
.set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
.in(BigStorageCageDetails::getGlassId, glassIds));
- int returnData = 0;
- int count = 1;
- while (returnData == 0) {
- S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
- returnData = S7object.getinstance().plccontrol.readWord(mesToPLCAddress, 1).get(0);
- log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesToPLCAddress, returnData);
- }
+// int returnData = 0;
+// int count = 1;
+// while (returnData == 0) {
+// S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+// returnData = S7object.getinstance().plccontrol.readWord(mesToPLCAddress, 1).get(0);
+// log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesToPLCAddress, returnData);
+// }
return Boolean.TRUE;
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
index 99bc35f..dd5a317 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
spring:
profiles:
- active: dev
+ active: cz
application:
name: cacheVerticalGlass
mybatis-plus:
@@ -16,7 +16,7 @@
minCount: 20
carWidth: 5000 #澶ц溅瀹藉害
slotWidth: 5000 #澶ц溅瀹藉害
- inCarMaxSize: 1 #杩涚墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
+ inCarMaxSize: 1 #杩涚墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
outCarMaxSize: 2 #鍑虹墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
glassGap: 350 #鐜荤拑闂磋窛
xMaxSize: 2800
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
index e8cc8c2..92e73a1 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
@@ -11,7 +11,8 @@
WHERE T.MAX_THICKNESS >= #{thickness}
AND T.ENABLE_STATE = 1
GROUP BY T.DEVICE_ID
- ORDER BY COUNT(DISTINCT T1.ENGINEER_ID), COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID),
+ ORDER BY T.MAX_THICKNESS,
+ COUNT(DISTINCT T1.ENGINEER_ID), COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID),
COUNT(DISTINCT T1.SLOT)
</select>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index d9a451e..ca96d50 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -1,5 +1,7 @@
package com.mes;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
@@ -7,7 +9,10 @@
import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
+import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
import com.mes.job.PlcStorageCageTask;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -37,6 +42,8 @@
BigStorageCageDetailsService bigStorageCageDetailsService;
@Autowired
DamageService damageService;
+ @Autowired
+ EdgGlassTaskInfoService edgGlassTaskInfoService;
// @Autowired
// BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
@@ -167,4 +174,13 @@
plcStorageCageTask.updateOutGlassStateTask();
}
+ @Test
+ public void chaxun(){
+ List<EdgGlassTaskInfo> edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>()
+ .select("Top 1 *")
+ .eq("glass_id", "P24072402|1|13")
+ );
+ log.info("鍦ㄥ昂瀵歌〃涓幏鍙栫幓鐠冧俊鎭瘂}", edgGlassTaskInfoList);
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
index 5395e56..f8df5ef 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
@@ -36,11 +36,10 @@
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
- @Scheduled(fixedDelay = 5000)
+ @Scheduled(fixedDelay = 10000)
public void screenHome() {
JSONObject jsonObject = new JSONObject();
Reportingdamage reportingdamage = new Reportingdamage();
- //reportingdamage.setReportingWorkTime("2024-05-11");
// 鑾峰彇褰撳墠鏃ユ湡
LocalDate today = LocalDate.now();
// 璁$畻鏈�杩戜竷澶╃殑寮�濮嬫棩鏈�
@@ -52,8 +51,9 @@
String startOfPeriodStr = startOfPeriod.format(formatter);
String endOfPeriodStr = endOfPeriod.format(formatter);
// 璁剧疆涓烘渶杩戜竷澶╃殑鏃堕棿鑼冨洿
- reportingdamage.setReportingWorkTime("2024-05-11" + " to " + endOfPeriodStr);
- //reportingdamage.setReportingWorkTime(startOfPeriodStr + " to " + endOfPeriodStr);
+ reportingdamage.setReportingWorkTime("2024-05-11");
+ //reportingdamage.setReportingWorkTime("2024-05-11");
+ reportingdamage.setReportingWorkTime2(endOfPeriodStr);
//鎵囧舰鍥惧悇璁惧鐨勫姞宸ョ牬鎹熸暟閲�
List<Reportingdamage> device = reportingWorkService.selectDamage(reportingdamage);
jsonObject.append("device", device);
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
index 1b5426b..220c807 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
@@ -86,6 +86,8 @@
//姝e湪杩涜鐨勪换鍔�
List<TemperingGlassInfo> temperingTaskType = temperingAgoService.selectTaskType();
jsonObject.append("temperingTaskType", temperingTaskType);
+
+
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingIsRun");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
index 8646b79..ac92054 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mes.common.S7object;
import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.device.PlcParameterObject;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
@@ -33,6 +35,10 @@
@Autowired
private TemperingGlassInfoService temporaryGlassInfoService;
+
+ @Autowired
+ private DamageService damageService;
+
private static final String ALONE_STATE = "0";
@@ -54,6 +60,10 @@
List<Object> temperRecordIdListObj = temporalRecordService.listObjs(new QueryWrapper<TemperingRecord>().select("distinct tempering_layout_id"));
List<String> temperRecordIdList = temperRecordIdListObj.stream().map(String::valueOf).collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(temperRecordIdList)) {
+ log.info("褰撳墠绯荤粺娌℃湁闇�瑕侀挗鍖栫殑鐜荤拑淇℃伅");
+ return;
+ }
List<TemperingGlassInfo> list = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>()
.eq(TemperingGlassInfo::getState, Const.TEMPERING_START).notIn(TemperingGlassInfo::getTemperingLayoutId, temperRecordIdList));
if (CollectionUtils.isEmpty(list)) {
@@ -77,4 +87,30 @@
public void temperingGlassAfter() {
}
+
+ @Scheduled(fixedDelay = 1000)
+ public void dealDamageTask() {
+ Date startDate = new Date();
+ log.info("閽㈠寲鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+ List<TemperingGlassInfo> temperingGlassInfoList = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getState, Const.GLASS_STATE_DAMAGE_TAKE));
+ if (CollectionUtils.isNotEmpty(temperingGlassInfoList)) {
+ //鑾峰彇鐮存崯/鎷胯蛋鐜荤拑id
+ List<String> glassList = temperingGlassInfoList.stream().map(TemperingGlassInfo::getGlassId).collect(Collectors.toList());
+ //灏嗕换鍔¤〃涓殑鏁版嵁鍒犻櫎
+ temporaryGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassList));
+ List<Damage> damageList = temperingGlassInfoList.stream().map(e -> {
+ Damage damage = new Damage();
+ damage.setGlassId(e.getGlassId());
+ damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
+ damage.setWorkingProcedure("閽㈠寲");
+ damage.setRemark("閽㈠寲");
+ damage.setStatus(0);
+ damage.setType(e.getState());
+ return damage;
+ }).collect(Collectors.toList());
+ damageService.batchInsertDamage(damageList);
+ }
+ Date endDate = new Date();
+ log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
+ }
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java
new file mode 100644
index 0000000..9f342f0
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java
@@ -0,0 +1,48 @@
+package com.mes.downglassinfo.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DownGlassInfoRequest implements Serializable {
+
+ /**
+ * 宸ヤ綅id
+ */
+ private Integer workStationId;
+
+ /**
+ * 宸ョ▼id
+ */
+ private String engineerId;
+
+ /**
+ * 寮�濮嬫椂闂�
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date beginDate;
+
+ /**
+ * 缁撴潫鏃堕棿
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date endDate;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index b39daf2..f6b9c71 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -1,24 +1,39 @@
package com.mes.downglassinfo.service.impl;
+import cn.smallbun.screw.core.util.CollectionUtils;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.common.config.Const;
+import com.mes.common.utils.RedisUtil;
import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
import com.mes.downglassinfo.service.DownGlassInfoService;
import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.entity.dto.DownGlassInfoDTO;
+import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.job.DownLoadCacheGlassTask;
+import com.mes.pp.service.FlowCardService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+@Slf4j
@Service
public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService {
@@ -27,6 +42,16 @@
@Autowired
DownStorageCageDetailsService downStorageCageDetailsService;
+
+
+ @Autowired
+ DownWorkstationService downWorkstationService;
+
+ @Autowired
+ RedisUtil redisUtil;
+
+ @Autowired
+ FlowCardService flowCardService;
/**
* 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙�
@@ -60,8 +85,15 @@
}
@Override
- public List<DownGlassInfoDTO> queryWorkStationIsIn(Boolean isDownload) {
- return baseMapper.queryWorkStationIsIn(isDownload);
+ public List<DownGlassInfoDTO> queryWorkStationIsIn(List<Integer> workList, Boolean isDownload) {
+ //鎸夌収瑕佹眰鑾峰彇宸茶惤鏋�/鏈惤鏋剁殑鐜荤拑淇℃伅
+ return baseMapper.queryWorkStationIsIn(workList, isDownload);
+ }
+
+ @Override
+ public List<DownGlassInfoDTO> queryWorkStationFlowCard(List<Integer> workList) {
+ //鑾峰彇宸茬粦瀹氭祦绋嬪崱鐨勬灦瀛愭湭钀界幓鐠冪殑鏁版嵁淇℃伅
+ return baseMapper.queryWorkStationFlowCard(workList);
}
@Override
@@ -76,10 +108,179 @@
BeanUtils.copyProperties(details, downGlassInfo);
//鑾峰彇褰撳墠娴佺▼鍗℃渶澶х墖搴�
downGlassInfo.setSequence(this.getMaxSequenceByFlowCardId(details.getFlowCardId(), details.getLayer()) + 1);
+ downGlassInfo.setWorkStationId(Const.G13_WORK_STATION);
this.save(downGlassInfo);
//鐢熸垚浠诲姟淇℃伅 骞跺悜plc鍙戦�佸嚭鐗囦换鍔�
GlassInfo glassInfo = new GlassInfo();
BeanUtils.copyProperties(details, glassInfo);
return downLoadCacheGlassTask.initDownGlassTask(glassInfo, details.getSlot(), Const.G13_WORK_STATION, 2);
}
+
+ @Override
+ public String setDownGlassInfoRequest(DownGlassInfoRequest request) {
+ if (request == null) {
+ redisUtil.deleteObject("downGlassRequest");
+ } else {
+ redisUtil.setCacheObject("downGlassRequest", request);
+ }
+ return "success";
+ }
+
+ @Override
+ public List<DownWorkstation> queryWorkStationIsFull() {
+ //鏌ヨ鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勫伐浣嶄俊鎭�
+ List<DownWorkstation> list = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getEnableState, Const.SLOT_ON)
+ .isNotNull(DownWorkstation::getFlowCardId).ne(DownWorkstation::getFlowCardId, ""));
+ List<DownWorkstation> workstationFull = new ArrayList<>();
+ if (CollectionUtils.isNotEmpty(list)) {
+ //閮芥湁鐜荤拑鐨勫伐浣嶄俊鎭紙鍖呮嫭缁戝畾娴佺▼鍗★級
+ List<Integer> workstationList = list.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
+ //鎸夌収绗﹀悎鏉′欢鐨勫伐浣嶈幏鍙栨湭钀芥灦鐨勬祦绋嬪崱鐜荤拑锛屽鏋滆繑鍥炰负绌猴紝鍒欒〃鏄庢墍鏈夐兘宸茶惤鏋跺畬鎴�
+ List<DownGlassInfoDTO> downGlassInfoDTOList = queryWorkStationIsIn(workstationList, Boolean.FALSE);
+ //鑾峰彇宸ヤ綅涓婄殑鏈弧鐨勬祦绋嬪崱鍙婂眰鏁�
+ List<String> flowCardIdList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList());
+ //鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勬墍鏈夌殑宸ヤ綅 - 鐜荤拑鏈弧娴佺▼鍗″強灞傛暟鐨勫伐浣� = 宸叉弧宸ヤ綅
+ workstationFull = list.stream().filter(item -> !flowCardIdList.contains(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList());
+ //鏄惁闇�瑕佸皢宸叉弧鐨勫伐浣嶇疆涓轰笉鍙惤鏋�
+ if (CollectionUtils.isNotEmpty(workstationFull)) {
+ List<Integer> workstationIds = workstationFull.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
+ downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getEnableState, Const.SLOT_OFF)
+ .in(DownWorkstation::getWorkstationId, workstationIds));
+ }
+ }
+ return workstationFull;
+ }
+
+ @Override
+ public List<Map<String, List<Map<String, Object>>>> downGlassPrint(DownGlassInfo downGlassInfo) {
+ log.info("鎵撳嵃鍙傛暟:{}", downGlassInfo);
+ QueryWrapper<DownGlassInfo> queryWrapper = Wrappers.query();
+ queryWrapper.eq("flow_card_id", downGlassInfo.getFlowCardId())
+ .eq("layer", downGlassInfo.getLayer())
+ .select("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity")
+ .groupBy("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "id")
+ .orderByAsc("id");
+ List<Map<String, Object>> resultList = baseMapper.selectMaps(queryWrapper);
+
+ log.info("MES钀芥灦鏁版嵁:{}", resultList);
+
+ List<Map<String, Object>> projectInfo = flowCardService.selectProject(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+ log.info("娴佺▼鍗″ご閮ㄦ暟鎹�:{}", projectInfo);
+ List<Map<String, Object>> flowCardInfo = flowCardService.selectFlowCard(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+ log.info("娴佺▼鍗$幓鐠冩暟鎹�:{}", flowCardInfo);
+ for (Map<String, Object> row : flowCardInfo) {
+ int order_number = (int) row.get("order_number");
+ int technology_number = (int) row.get("technology_number");
+ int quantity1 = 0;
+ for (Map<String, Object> row1 : resultList) {
+ int glass_type = (int) row1.get("glass_type");
+ int layer = (int) row1.get("layer");
+// String child_width = (String) row1.get("child_width");
+// Long quantity = (Long) row1.get("quantity");
+// BigDecimal total_area = (BigDecimal) row1.get("total_area");
+// String separation = (String) row1.get("separation");
+// String perimeter = (String) row1.get("perimeter");
+// BigDecimal width = (BigDecimal) row1.get("width");
+// String other_columns = (String) row1.get("other_columns");
+// String remarks = (String) row1.get("remarks");
+// BigDecimal height = (BigDecimal) row1.get("height");
+ if (order_number == glass_type && technology_number == layer) {
+ quantity1+=1;
+// row.put("quantity", quantity);
+// row.put("order_number", order_number);
+// row.put("technology_number", technology_number);
+// row.put("child_width", child_width);
+// row.put("total_area", total_area);
+// row.put("separation", separation);
+// row.put("perimeter", perimeter);
+// row.put("width", width);
+// row.put("other_columns", other_columns);
+// row.put("remarks", remarks);
+// row.put("height", height);
+ }
+ }
+ row.put("quantity1", quantity1);
+ }
+ log.info("娴佺▼鍗$幓鐠冩暟鎹�2:{}", flowCardInfo);
+ List<Map<String, List<Map<String, Object>>>> listMap = new ArrayList<>();
+ Map<String, List<Map<String, Object>>> result = new HashMap<>();
+ result.put("detail", projectInfo);
+ result.put("detailList", flowCardInfo);
+ for (Map<String, Object> row : projectInfo) {
+ String order_number = (String) row.get("process");
+ String[] processes = order_number.split("->");
+ List<Map<String, Object>> processList = new ArrayList<>();
+ for (int i = 0; i < processes.length; i++) {
+ Map<String, Object> processMap = new JSONObject();
+ processMap.put("process", processes[i]);
+ processMap.put("id", i);
+ processList.add(processMap);
+ }
+ result.put("processList", processList);
+ }
+ listMap.add(result);
+ return listMap;
+ }
+
+
+ @Override
+ public List<Map<String, Object>> downGlassLabelPrint(DownGlassInfo downGlassInfo) {
+ //鑾峰彇涓嬬墖鐜荤拑鐨勯『搴�
+// QueryWrapper<DownGlassInfo> queryWrapper = Wrappers.query();
+// queryWrapper
+// .eq("flow_card_id", downGlassInfo.getFlowCardId())
+// .eq("layer", downGlassInfo.getLayer())
+// .select("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity")
+// .groupBy("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "id")
+// .orderByAsc("id");
+// List<Map<String, Object>> resultList = baseMapper.selectMaps(queryWrapper);
+ List<Map<String, Object>> resultList = baseMapper.downGlassLabelPrint(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+ log.info("MES钀芥灦鏁版嵁:{}", resultList);
+ //鑾峰彇ERP鏍囩鎵�闇�鐨勪俊鎭�
+ List<Map<String, Object>> labelInfo = flowCardService.selectLabel(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+ log.info("鏍囩鏁版嵁:{}", labelInfo);
+
+ for (Map<String, Object> row : resultList) {
+ int glass_type = (int) row.get("glass_type");
+ int layer = (int) row.get("layer");
+ for (Map<String, Object> row1 : labelInfo) {
+ int orderNumber = (int) row1.get("orderNumber");
+ int technologyNumber = (int) row1.get("technologyNumber");
+ if (orderNumber == glass_type && technologyNumber == layer) {
+
+ String order_id = (String) row1.get("order_id");
+ String project = (String) row1.get("project");
+ Long customer_id = (Long) row1.get("customer_id");
+ BigDecimal width = (BigDecimal) row1.get("width");
+ BigDecimal height = (BigDecimal) row1.get("height");
+ Long quantity = (Long) row1.get("quantity");
+ String glass_child = (String) row1.get("glass_child");
+ String process = (String) row1.get("process");
+ String customer_name = (String) row1.get("customer_name");
+ String processing_note = (String) row1.get("processing_note");
+ String other_colunmns = (String) row1.get("other_colunmns");
+ String building_number = (String) row1.get("building_number");
+ String bend_radius = (String) row1.get("bend_radius");
+
+ row.put("orderNumber", orderNumber);
+ row.put("technology_number", technologyNumber);
+ row.put("order_id", order_id);
+ row.put("project", project);
+ row.put("customer_id", customer_id);
+ row.put("width", width);
+ row.put("height", height);
+ row.put("quantity", quantity);
+ row.put("glass_child", glass_child);
+ row.put("process", process);
+ row.put("customer_name", customer_name);
+ row.put("processing_note", processing_note);
+ row.put("other_colunmns", other_colunmns);
+ row.put("building_number", building_number);
+ row.put("bend_radius", bend_radius);
+ }
+ }
+ }
+ return resultList;
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/request/CacheWornRequest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/request/CacheWornRequest.java
new file mode 100644
index 0000000..05a9aed
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/request/CacheWornRequest.java
@@ -0,0 +1,28 @@
+package com.mes.downstorage.entity.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/8/10 13:34
+ * @Description:
+ */
+@Data
+public class CacheWornRequest {
+
+ @NotBlank(message = "鐜荤拑ID涓嶈兘涓虹┖")
+ private String glassId;
+
+ @NotNull(message = "鐘舵�佷笉鑳戒负绌�")
+ private int state;
+
+ @NotNull(message = "绾胯矾涓嶈兘涓虹┖")
+ private int line;
+
+ @NotBlank(message = "宸ュ簭涓嶈兘涓虹┖")
+ private String workingProcedure;
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index 18e1259..b204f0c 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -1,14 +1,18 @@
package com.mes.downstorage.service.impl;
import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downstorage.entity.DownStorageCage;
import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.entity.request.CacheWornRequest;
import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
import com.mes.downstorage.mapper.DownStorageCageMapper;
import com.mes.downstorage.service.DownStorageCageDetailsService;
@@ -46,6 +50,8 @@
private DownStorageCageDetailsService downStorageCageDetailsService;
@Autowired
private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
+ @Autowired
+ DamageService damageService;
@Override
public DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) {
@@ -128,7 +134,6 @@
}
-
@Override
public List<Map<String, Object>> selectDownStorageCages() {
return baseMapper.selectJoinMaps(JoinWrappers.lambda(DownStorageCage.class)
@@ -190,7 +195,10 @@
if (downItem != null) {
//绉婚櫎
- DownStorageCageDetails result = downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot, downStorageCageId));
+ DownStorageCageDetails result = downStorageCageDetailsMapper
+ .selectOne(new MPJLambdaWrapper<DownStorageCageDetails>()
+ .eq(DownStorageCageDetails::getSlot, downStorageCageId)
+ );
if (result != null) {
result.setSlot(0);
downStorageCageDetailsMapper.updateById(result);
@@ -200,4 +208,19 @@
return true;
}
+ @Override
+ public void deleteDownStorageCage(CacheWornRequest cacheWornRequest) {
+ Damage damage = new Damage();
+ BeanUtils.copyProperties(cacheWornRequest, damage);
+ damage.setType(cacheWornRequest.getState());
+ damage.setRemark("");
+ damage.setStatus(0);
+ damageService.insertDamage(damage);
+ downStorageCageDetailsService.update(new LambdaUpdateWrapper<DownStorageCageDetails>()
+ .set(DownStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+ .eq(DownStorageCageDetails::getGlassId, cacheWornRequest.getGlassId())
+ .eq(DownStorageCageDetails::getState,Const.GLASS_STATE_IN));
+
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
index 3c547af..996f091 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -137,6 +137,26 @@
return Result.build(200, "淇敼鎴愬姛", redisUtil.getCacheObject("autoPrint"));
}
+ @ApiOperation("鏂板铏氭嫙宸ヤ綅")
+ @PostMapping("/insertDownWorkstation")
+ public Result insertDownWorkstation() {
+ DownWorkstation downWorkstation = new DownWorkstation();
+ downWorkstation.setTotalQuantity(0);
+ downWorkstation.setRacksNumber(0);
+ downWorkstation.setOtherNumber(0);
+ downWorkstation.setDeviceId(3);
+ downWorkstation.setEnableState(1);
+ downWorkstation.setWorkState(1);
+ downWorkstationService.save(downWorkstation);
+ return Result.build(200, "鏂板鎴愬姛", 1);
+ }
+
+ @ApiOperation("鍒犻櫎铏氭嫙宸ヤ綅")
+ @PostMapping("/deleteDownWorkstation")
+ public Result deleteDownWorkstation(DownWorkstation downWorkstation) {
+ downWorkstationService.removeById(downWorkstation.getWorkstationId());
+ return Result.build(200, "鍒犻櫎鎴愬姛", 1);
+ }
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index cbcb1ff..6b8f507 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -4,12 +4,13 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
+import com.mes.common.S7object;
+import com.mes.common.utils.RedisUtil;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
+import com.mes.device.PlcParameterObject;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
-import com.mes.downglassinfo.service.DownGlassInfoService;
-import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.entity.DownWorkstationTask;
import com.mes.downworkstation.entity.DownWorkstionAndDownGlassinfo;
@@ -23,6 +24,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -37,11 +39,7 @@
@Autowired(required = false)
private DownWorkstationTaskMapper downWorkstationTaskMapper;
@Autowired
- private DownGlassInfoService downGlassInfoService;
- @Autowired
private DownGlassInfoMapper downGlassInfoMapper;
- @Autowired
- private DownGlassTaskService downGlassTaskService;
@Autowired
private GlassInfoService glassInfoService;
@Autowired
@@ -49,6 +47,8 @@
@Autowired
private DownWorkstationTaskService downWorkstationTaskService;
+ @Resource
+ private RedisUtil redisUtil;
// @Override
// public List<DownWorkstation> gettwoDownWorkstations() {
@@ -69,7 +69,7 @@
@Override
public List<Map<String, Object>> getTotalGlassDimensionsByWorkstation(int start, int end) {
MPJQueryWrapper<DownWorkstation> queryWrapper = new MPJQueryWrapper<>();
- queryWrapper.select("t.workstation_id", "t.flow_card_id", "COALESCE(SUM(b.width), 0) AS totalwidth", "COALESCE(SUM(b.height), 0) AS totalheight")
+ queryWrapper.select("t.workstation_id", "t.flow_card_id", "COALESCE(SUM(b.width), 0) AS totalwidth", "COALESCE(SUM(b.height), 0) AS totalheight,total_quantity,racks_number,other_number")
.leftJoin("down_glass_info b on t.flow_card_id = b.flow_card_id")
.groupBy("t.workstation_id", "t.flow_card_id")
.orderByAsc("t.workstation_id").between("t.workstation_id", start, end)
@@ -86,6 +86,11 @@
item.put("width", downWorkstionAndDownGlassinfo.getTotalwidth());
item.put("fillColor", "yellow");
item.put("content", downWorkstionAndDownGlassinfo.getFlowCardId());
+ if (downWorkstionAndDownGlassinfo.getFlowCardId() != "" && downWorkstionAndDownGlassinfo.getFlowCardId() != null && downWorkstionAndDownGlassinfo.getTotalQuantity() == downWorkstionAndDownGlassinfo.getRacksNumber() + downWorkstionAndDownGlassinfo.getRacksNumber()) {
+ item.put("fullCardColor", "red");
+ } else {
+ item.put("fullCardColor", "blue");
+ }
// 鏌ヨ DownGlassInfo 骞舵坊鍔犲埌 item 涓�
MPJQueryWrapper<DownGlassInfo> glassInfoQueryWrapper = new MPJQueryWrapper<>();
@@ -165,6 +170,8 @@
updateWrapper.set("flow_card_id", null)
.set("total_quantity", 0)
.set("racks_number", 0)
+ .set("other_number", 0)
+ .set("layer", null)
.eq("workstation_id", workstationId);
baseMapper.update(new DownWorkstation(), updateWrapper);
@@ -209,5 +216,16 @@
}
}
+ @Override
+ public String closeAlarmSignal() {
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("alarm_signal").getAddress(), 0);
+ return "success";
+ }
+
+ @Override
+ public void autoPrint(Boolean flag) {
+ redisUtil.setCacheObject("autoPrint", flag);
+ }
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index ab141ce..c324ce2 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -3,10 +3,13 @@
import cn.hutool.core.lang.Assert;
import cn.smallbun.screw.core.util.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mes.common.S7object;
import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.device.PlcParameterObject;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.entity.DownGlassTask;
@@ -54,9 +57,8 @@
DownWorkstationService downWorkstationService;
@Autowired
DownGlassInfoService downGlassInfoService;
-
- @Value("${mes.threshold}")
- private Integer threshold;
+ @Autowired
+ DamageService damageService;
@Value("${mes.throughWidth}")
private Integer throughWidth;
@@ -126,6 +128,68 @@
}
}
+ @Scheduled(fixedDelay = 300)
+ public void plcShelfFull() {
+ List<DownWorkstation> list = downGlassInfoService.queryWorkStationIsFull();
+ if (CollectionUtils.isNotEmpty(list)) {
+ S7control s7control = S7object.getinstance().plccontrol;
+ PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
+ s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 1);
+ }
+ }
+
+ @Scheduled(fixedDelay = 1000)
+ public void dealDamageTask() {
+ Date startDate = new Date();
+ log.info("涓嬬墖鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+ List<DownGlassTask> downGlassTaskList = downGlassTaskService.list(new LambdaQueryWrapper<DownGlassTask>()
+ .in(DownGlassTask::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL).in(DownGlassTask::getTaskStatus, Const.GLASS_STATE_DAMAGE_TAKE));
+ if (CollectionUtils.isNotEmpty(downGlassTaskList)) {
+ //鑾峰彇鐮存崯/鎷胯蛋鐜荤拑id
+ List<String> glassList = downGlassTaskList.stream().map(DownGlassTask::getGlassId).collect(Collectors.toList());
+ //灏嗕换鍔¤〃涓殑鏁版嵁鍒犻櫎
+ downGlassTaskService.remove(new LambdaQueryWrapper<DownGlassTask>().in(DownGlassTask::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL).in(DownGlassTask::getGlassId, glassList));
+ List<Damage> damageList = downGlassTaskList.stream().map(e -> {
+ Damage damage = new Damage();
+ damage.setGlassId(e.getGlassId());
+ damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
+ damage.setWorkingProcedure("涓嬬墖");
+ damage.setRemark("涓嬬墖");
+ damage.setStatus(0);
+ damage.setType(e.getTaskStatus());
+ return damage;
+ }).collect(Collectors.toList());
+ damageService.batchInsertDamage(damageList);
+ }
+ Date endDate = new Date();
+ log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
+ }
+
+ /**
+ * 鏇存柊宸茬粦瀹氬伐浣嶆祦绋嬪崱鐨勭牬鎹�/鎷胯蛋鐨勬暟閲忎俊鎭�
+ */
+ @Scheduled(fixedDelay = 1000)
+ public void updateWorkStationOtherCount() {
+ Date startDate = new Date();
+ log.info("涓嬬墖鐮存洿鏂版崯鐜荤拑鏁伴噺浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+ //鑾峰彇宸茬粦瀹氭祦绋嬪崱鐨勫伐浣嶄俊鎭�
+ List<DownWorkstation> downWorkstationList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
+ .isNotNull(DownWorkstation::getFlowCardId)
+ .ne(DownWorkstation::getFlowCardId, "")
+ .orderByDesc(DownWorkstation::getWorkstationId));
+ for (DownWorkstation downWorkstation : downWorkstationList) {
+ //鏇存柊宸ヤ綅鍏朵粬鐜荤拑淇℃伅鐨勬暟閲�
+ QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("process_id", downWorkstation.getFlowCardId());
+ queryWrapper.eq("technology_number", downWorkstation.getLayer());
+ int otherNumber = damageService.count(queryWrapper);
+ downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getOtherNumber, otherNumber)
+ .eq(DownWorkstation::getWorkstationId, downWorkstation.getWorkstationId()));
+ }
+ Date endDate = new Date();
+ log.info("涓嬬墖鐮存洿鏂版崯鐜荤拑鏁伴噺浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
+ }
+
public void inTo(String glassId, String requestWord, String currentSlot) {
log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅,褰撳墠鏍煎瓙涓�:{}", glassId, currentSlot);
//娣诲姞杩涚墖浠诲姟 鏌ユ壘绌烘牸
@@ -170,7 +234,7 @@
}
if (!checkFlag) {
log.info("鏃犵┖鏋跺瓙,鑾峰彇宸茬粦瀹氭灦瀛愮殑娴佺▼鍗′俊鎭�,鏌ョ湅鐜荤拑淇℃伅鏄惁鍙瀵硅皟");
- List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Boolean.FALSE);
+ List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Const.WORK_STATION_ALL, Boolean.FALSE);
log.info("鑾峰彇鏋跺瓙涓婂凡缁戝畾娴佺▼鍗¤惤鏋剁殑鏁伴噺鍙婃湭钀芥灦鐨勭幓鐠冩暟鎹細{}", downGlassInfoDTOList);
if (CollectionUtils.isEmpty(downGlassInfoDTOList)) {
log.info("宸茬粦瀹氭祦绋嬪崱鍧囨棤鏈惤鏋剁幓鐠冿紝璇峰強鏃跺鐞嗘灦瀛愪笂鐨勭幓鐠冿紝娓呴櫎娴佺▼鍗�,鎵ц杩涚墖浠诲姟");
@@ -215,6 +279,7 @@
BeanUtils.copyProperties(glassInfo, downStorageCageDetails);
downStorageCageDetails.setState(Const.GLASS_STATE_IN);
downStorageCageDetails.setSlot(nearestEmpty.getSlot());
+ downStorageCageDetails.setDeviceId(nearestEmpty.getDeviceId());
downStorageCageDetailsService.save(downStorageCageDetails);
// 鐢熸垚杩涚墖浠诲姟
initDownGlassTask(glassInfo, 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
@@ -237,6 +302,7 @@
//鑾峰彇褰撳墠绗煎瓙绌烘牸淇℃伅
DownStorageCage empty = downStorageCageService.selectCacheEmpty(Integer.parseInt(currentSlot), Boolean.TRUE);
cageDetails.setSlot(empty.getSlot());
+ cageDetails.setDeviceId(empty.getDeviceId());
tempList.add(cageDetails);
}
log.info("鍑虹墖2锛氱鍐呯幓鐠冪殑鏁版嵁(鍖呮嫭寰呰繘鐗�)鏈夛細{}", tempList);
@@ -309,6 +375,7 @@
}
}
List<Integer> workStationAll = Arrays.asList(1, 2, 3, 4, 5, 6);
+ //鑾峰彇闈炴湰娆¤惤鏋剁殑鏋跺瓙淇℃伅
List<Integer> offWorkStationList = workStationAll.stream().filter(e -> !workList.contains(e)).collect(Collectors.toList());
List<DownStorageCageDetails> list = new ArrayList();
//鏄惁鏈夌┖鏋跺瓙 true锛氭湁 false:鏃�
@@ -339,8 +406,15 @@
.filter(item -> StringUtils.isNotBlank(item.getFlowCardId())).collect(Collectors.groupingBy(item -> item.getFlowCardId() + ":" + item.getLayer()));
//杩囨护绛涢�夎幏鍙栨灦瀛愪笂瀵瑰簲娴佺▼鍗�+灞傛暟鐨勭瀛愬唴鐨勭幓鐠冧俊鎭�
list = tempList.stream().filter(item -> listMap.containsKey(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(list) && flag08 && !"2".equals(glassStatus13)) {
+ list = tempList.stream().filter(item -> {
+ double firstLength = Math.max(item.getWidth(), item.getHeight());
+ double secondLength = Math.min(item.getWidth(), item.getHeight());
+ return firstLength > maxWidth || secondLength > maxHeight;
+ }).collect(Collectors.toList());
+ }
} else {
- log.info("瀛樺湪鏈粦瀹氭祦绋嬪崱鏋跺瓙锛岀洿鎺ヨ幏鍙栫鍐呮墍鏈夌幓鐠�,涓旀湭缁戝畾鏋跺瓙鐨勭幓鐠冧俊鎭�");
+ log.info("瀛樺湪鏈粦瀹氭祦绋嬪崱鏋跺瓙锛岀洿鎺ヨ幏鍙栫鍐呮墍鏈夌幓鐠�,涓旀湭缁戝畾鏋跺瓙鐨勭幓鐠冧俊鎭紙閮藉彲浠ュ嚭鐨勭幓鐠冿級");
//鑾峰彇绂佺敤鍙婇潪鏈満姊拌噦鐨勬灦瀛愮殑娴佺▼鍙峰強灞傛暟瀵瑰簲鐨勭幓鐠冧俊鎭�
List<DownWorkstation> downWorkstationOffList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
.and(i -> i.in(DownWorkstation::getWorkstationId, offWorkStationList).or().eq(DownWorkstation::getEnableState, Const.SLOT_OFF)));
@@ -370,6 +444,8 @@
log.info("绗煎唴鐜荤拑鏃犳硶鎵ц鍑虹墖");
return Boolean.FALSE;
}
+ //鑾峰彇鍏蜂綋鍑洪偅涓�鐗囩幓鐠�
+ //tao:浜哄伐--> 鎵�鏈夋灦瀛愰兘鏈粦瀹氭椂杩涜缁戝畾 --->鏈夋湭缁戝畾鏋跺瓙鏃惰繘琛岀粦瀹� --->缁戝畾杩囨祦绋嬪崱鐨勭幓鐠�-->鐜荤拑娴佺▼鍗″灞�--->鐜荤拑娴佺▼鍗″崟灞�
String tempGlassId = null;
Boolean isNeedBind = Boolean.FALSE;
@@ -387,16 +463,17 @@
loop:
if (StringUtils.isBlank(tempGlassId)) {
//鑾峰彇姝e湪钀芥灦鐨勭粦瀹氭祦绋嬪崱鐨勪俊鎭�(娴佺▼鍗°�佸眰鏁般�佽惤鏋舵暟閲�)
- List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Boolean.TRUE);
+ //钀芥灦鐜荤拑鏁颁负0锛屽嵆浣跨粦瀹氫簡娴佺▼鍗★紝涔熸棤娉曟壘鍒板搴旂殑鏋跺瓙淇℃伅锛屽彧鑳介噸鏂扮粦瀹�
+ List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationFlowCard(workList);
List<String> downGlassFlowList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList());
if (CollectionUtils.isEmpty(downGlassFlowList)) {
//鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖
tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId, offWorkStationList);
-
isNeedBind = Boolean.TRUE;
break loop;
}
//灏嗙瀛愬唴鐨勭幓鐠冭繘琛岃繃婊わ紝浠呰幏鍙栨棤娉曡惤鏋剁殑娴佺▼鍗$幓鐠�
+ //tao:褰撴湁绌烘灦鏃朵紭鍏堝绗煎唴鍙嚭鐗囦笖鏈粦鏋跺瓙鐨勭幓鐠冭繘鍑虹粦鏋跺苟鍑虹墖
List<DownStorageCageDetails> noDownLoadList = list.stream().filter(item -> !downGlassFlowList.contains(item.getFlowCardId() + ":" + item.getLayer()))
.collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(noDownLoadList)) {
@@ -417,7 +494,7 @@
return Boolean.FALSE;
}
//灏嗙鍐呯幓鐠冪殑娴佺▼鍗�+灞傚彿 鍜岃惤鏋剁殑娴佺▼鍗� 鍘婚噸锛屽緱鍑哄睍绀烘棤娉曡惤鏋剁殑鐜荤拑锛屽垽鏂幓鐠冩暟鏄惁瓒呰繃闃堝��
- //绗煎唴鐜荤拑鏄惁鍙惤鏋�:绗煎唴鏄惁鏈夐渶瑕佷腑绌虹殑
+ //绗煎唴鐜荤拑鏄惁鍙惤鏋�:绗煎唴鏄惁鏈夐渶瑕佷腑绌�
List<DownStorageCageDetails> multiLayerList = list.stream().filter(item -> item.getTotalLayer() >= 2).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(multiLayerList)) {
for (DownStorageCageDetails item : multiLayerList) {
@@ -434,7 +511,7 @@
break loop;
}
Integer sequence = downGlassInfoService.queryMaxSequence(item.getFlowCardId(), item.getLayer());
- log.info("鑾峰彇褰撳墠鐜荤拑闇�瑕佹斁鐨勬搴忥細绗煎唴鍚屾祦绋� 鍚屽眰鏁扮殑閫氳揪娆″簭+1:{}", sequence);
+ log.info("鑾峰彇褰撳墠鐜荤拑闇�瑕佹斁鐨勬搴忥細绗煎唴鍚屾祦绋� 鍚屽眰鏁扮殑钀芥灦娆″簭+1:{}", sequence);
DownGlassInfo downGlassInfo = downGlassInfoService.getOne(new LambdaQueryWrapper<DownGlassInfo>()
.eq(DownGlassInfo::getFlowCardId, downGlassInfoDTO.getFlowCardId())
.eq(DownGlassInfo::getLayer, downGlassInfoDTO.getLayer()).eq(DownGlassInfo::getSequence, sequence));
@@ -456,6 +533,7 @@
if (CollectionUtils.isNotEmpty(downStorageCageDetails)) {
tempGlassId = downStorageCageDetails.get(0).getGlassId();
break;
+
}
}
}
@@ -527,6 +605,7 @@
//钀芥灦鐗囧簭
downGlassInfo.setSequence(downGlassInfoService.queryMaxSequence(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer()));
downGlassInfo.setWorkStationId(endCell);
+ downGlassInfo.setGmtCreate(new Date());
downGlassInfoService.save(downGlassInfo);
//鐢熸垚浠诲姟淇℃伅
GlassInfo glassInfo = new GlassInfo();
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
index 7a84902..8503db8 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -2,13 +2,21 @@
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mes.common.config.Const;
+import com.mes.common.utils.RedisUtil;
import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
import com.mes.downglassinfo.service.DownGlassInfoService;
+import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downstorage.service.DownStorageCageService;
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.service.DownWorkstationService;
+import com.mes.tools.DateUtil;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -28,19 +36,25 @@
private DownStorageCageService downStorageCageService;
@Autowired
private DownGlassInfoService downGlassInfoService;
+ @Autowired
+ private DownGlassTaskService downGlassTaskService;
+
+
+ @Autowired
+ private RedisUtil redisUtil;
@Scheduled(fixedDelay = 2000)
public void sendDownWorkstations() {
log.info("鍙戦�佸伐浣嶇幓鐠冧俊鎭�");
JSONObject jsonObject = new JSONObject();
- List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1, 6);
+ List<DownWorkstation> data = downWorkstationService.list();
jsonObject.append("params", data);
log.info(jsonObject.toString());
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
- if (webserver != null&&webserver.session.isOpen()) {
+ if (webserver != null && webserver.session.isOpen()) {
log.info("宸插彂閫�");
webserver.sendMessage(jsonObject.toString());
}
@@ -52,13 +66,13 @@
public void sendGlassInfoData() {
log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅1");
JSONObject jsonObject2 = new JSONObject();
- List<Map<String, Object>> glassinfodata = downWorkstationService.getTotalGlassDimensionsByWorkstation(1,3);
- jsonObject2.append("glassinfo",glassinfodata);
+ List<Map<String, Object>> glassinfodata = downWorkstationService.getTotalGlassDimensionsByWorkstation(1, 3);
+ jsonObject2.append("glassinfo", glassinfodata);
log.info(jsonObject2.toString());
ArrayList<WebSocketServer> sendwServer2 = WebSocketServer.sessionMap.get("unloadglass2");
if (sendwServer2 != null) {
for (WebSocketServer webserver : sendwServer2) {
- if (webserver != null&&webserver.session.isOpen()) {
+ if (webserver != null && webserver.session.isOpen()) {
webserver.sendMessage(jsonObject2.toString());
}
}
@@ -69,46 +83,27 @@
public void sendGlassInfoData2() {
log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅2");
JSONObject jsonObject3 = new JSONObject();
- List<Map<String, Object>> glassinfodata2 = downWorkstationService.getTotalGlassDimensionsByWorkstation(4,6);
- jsonObject3.append("glassinfo2",glassinfodata2);
+ List<Map<String, Object>> glassinfodata2 = downWorkstationService.getTotalGlassDimensionsByWorkstation(4, 6);
+ jsonObject3.append("glassinfo2", glassinfodata2);
log.info(jsonObject3.toString());
ArrayList<WebSocketServer> sendwServer3 = WebSocketServer.sessionMap.get("unloadglass3");
if (sendwServer3 != null) {
for (WebSocketServer webserver : sendwServer3) {
- if (webserver != null&&webserver.session.isOpen()) {
+ if (webserver != null && webserver.session.isOpen()) {
webserver.sendMessage(jsonObject3.toString());
}
}
}
}
- @Scheduled(fixedDelay = 2000)
+ @Scheduled(fixedDelay = 2000)
public void sendDownStorageCages() {
log.info("鍙戦�佺紦瀛樼幓鐠冧俊鎭�");
JSONObject jsonObject4 = new JSONObject();
- List<Map<String, Object>> list=downStorageCageService.selectDownStorageCages();
- jsonObject4.append("params2",list);
- log.info(jsonObject4.toString());
- ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("downcache");
- if (sendwServer4 != null) {
- for (WebSocketServer webserver : sendwServer4) {
- if (webserver != null && webserver.session.isOpen()) {
- webserver.sendMessage(jsonObject4.toString());
- }
- }
- }
- }
-
- @Scheduled(fixedDelay = 2000)
- public void sendDownGlassInfo() {
- log.info("鍙戦�佸綋鍓嶆鍦ㄦ墽琛屽伐绋嬪凡钀芥灦鐨勭幓鐠冧俊鎭�");
- List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(new LambdaQueryWrapper<DownGlassInfo>()
- .inSql(DownGlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
- Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId));
- JSONObject jsonObject4 = new JSONObject();
List<Map<String, Object>> list = downStorageCageService.selectDownStorageCages();
- jsonObject4.append("params", listMap);
- ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("sendDownGlass");
+ jsonObject4.append("params2", list);
+ log.info(jsonObject4.toString());
+ ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("downcache");
if (sendwServer4 != null) {
for (WebSocketServer webserver : sendwServer4) {
if (webserver != null && webserver.session.isOpen()) {
@@ -117,4 +112,80 @@
}
}
}
+
+ @Scheduled(fixedDelay = 2000)
+ public void sendDownGlassInfo() {
+ DownGlassInfoRequest request = redisUtil.getCacheObject("downGlassRequest");
+ if (null == request) {
+ request = new DownGlassInfoRequest();
+ }
+ if (request.getBeginDate() == null) {
+ request.setBeginDate(DateUtil.getBeginDate());
+ request.setEndDate(DateUtil.getEndDate());
+ }
+ log.info("鍙戦�佸綋鍓嶆鍦ㄦ墽琛屽伐绋嬪凡钀芥灦鐨勭幓鐠冧俊鎭�");
+ LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper<DownGlassInfo>()
+ .between(null != request.getBeginDate(), DownGlassInfo::getGmtCreate, request.getBeginDate(), request.getEndDate())
+ .eq(StringUtils.isNotBlank(request.getEngineerId()), DownGlassInfo::getEngineerId, request.getEngineerId());
+ if (null == request.getWorkStationId() || 0 == request.getWorkStationId()) {
+ wrapper.in(DownGlassInfo::getWorkStationId, Const.WORK_STATION_ALL);
+ } else {
+ wrapper.eq(DownGlassInfo::getWorkStationId, request.getWorkStationId());
+ }
+ List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(wrapper);
+// Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId));
+ List<Object> engineerIdListTemp = downGlassInfoService.listObjs(new QueryWrapper<DownGlassInfo>().select("distinct engineer_id"));
+ List<String> engineerIdList = engineerIdListTemp.stream().map(String::valueOf).collect(Collectors.toList());
+ JSONObject jsonObject4 = new JSONObject();
+ jsonObject4.append("downGlassInfos", downGlassInfos);
+ jsonObject4.append("engineerIdList", engineerIdList);
+
+ //閽㈠寲寮�鍏�
+ boolean autoPrint = false;
+ if (redisUtil.getCacheObject("autoPrint") == null) {
+ redisUtil.setCacheObject("autoPrint", false);
+ } else {
+ autoPrint = redisUtil.getCacheObject("autoPrint");
+ }
+ jsonObject4.append("autoPrint", autoPrint);
+ //浜哄伐涓嬬墖浣嶇疆鏈�鍚庝竴鐗�
+ DownGlassTask takeGlass = downGlassTaskService.getOne(
+ new QueryWrapper<DownGlassTask>()
+ .select("Top 1 *")
+ .eq("end_cell", Const.G13_WORK_STATION)
+ .orderByDesc("id")
+
+ );
+ jsonObject4.append("takeGlass", takeGlass);
+
+
+ ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("unloadglass");
+ if (sendwServer4 != null) {
+ for (WebSocketServer webserver : sendwServer4) {
+ if (webserver != null && webserver.session.isOpen()) {
+ webserver.sendMessage(jsonObject4.toString());
+ }
+ }
+ }
+ }
+
+ @Scheduled(fixedDelay = 1000)
+ public void isRun() {
+ JSONObject jsonObject = new JSONObject();
+ //姝e湪杩涜鐨勪换鍔�
+ List<DownWorkstation> downWorkstation = downWorkstationService.getoneDownWorkstations(1, 6);
+ jsonObject.append("downWorkstation", downWorkstation);
+ List<DownGlassTask> downGlassTask = downGlassTaskService.selectOutTaskCache();
+ jsonObject.append("downGlassTask", downGlassTask);
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unLoadGlassIsRun");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ } else {
+ log.info("unLoadGlassIsRun is closed");
+ }
+ }
+ }
+ }
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
deleted file mode 100644
index e69de29..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
+++ /dev/null
--
Gitblit v1.8.0