From 1e862ae4a11072451fa9b0449f13f48c0d98e91d Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期一, 22 七月 2024 10:06:12 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 9
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 5
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java | 10 +
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 14 +
UI-Project/src/views/ReportWork/reportWork.vue | 63 ++++---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 92 ++++++++++-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 23 ++
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/controller/TemperingRecordController.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java | 4
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/mapper/TemperingRecordMapper.java | 4
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/mapper/xml/TemperingRecordMapper.xml | 0
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/service/impl/TemperingRecordServiceImpl.java | 8
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java | 53 ++++++
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/entity/TemperingRecord.java | 6
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java | 24 ++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageDTO.java | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 10
hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java | 15 +
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 60 ++++++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java | 5
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java | 5
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/service/TemperingRecordService.java | 4
24 files changed, 337 insertions(+), 90 deletions(-)
diff --git a/UI-Project/src/views/ReportWork/reportWork.vue b/UI-Project/src/views/ReportWork/reportWork.vue
index cd22ee2..f28dac1 100644
--- a/UI-Project/src/views/ReportWork/reportWork.vue
+++ b/UI-Project/src/views/ReportWork/reportWork.vue
@@ -15,7 +15,7 @@
<el-option label="寰呮姤宸�" value="2"></el-option>
<el-option label="宸叉姤宸�" value="3"></el-option>
</el-select>
- <el-select v-model="report.workProcedure" placeholder="娓呴�夋嫨宸ュ簭">
+ <el-select v-model="report.workingProcedure" placeholder="娓呴�夋嫨宸ュ簭">
<el-option label="鍏ㄩ儴" value="0"></el-option>
<el-option label="鍒囧壊" value="1"></el-option>
<el-option label="纾ㄨ竟" value="2"></el-option>
@@ -25,26 +25,26 @@
<el-button type="success">鎶ュ伐</el-button>
<el-table height="100%" ref="table" :data="reportData"
:header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
- <el-table-column prop="reportData.line" align="center" label="绾胯矾" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="宸ュ簭" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="鐜荤拑id" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="宸ョ▼鍙�" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="閽㈠寲鐗堝浘id" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="鐢熶骇鏃堕棿" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="澶囨敞" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="绫诲瀷" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="鐘舵��" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="娴佺▼鍗�" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="搴忓彿" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="灞�" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="鐮存崯绫诲瀷" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="鐮存崯鍘熷洜" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="璐d换宸ュ簭" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="璐d换浜哄憳" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="璐d换鐝粍" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="璐d换璁惧" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="鎶ュ伐鐝粍" min-width="120" />
- <el-table-column prop="reportData.line" align="center" label="鎶ュ伐璁惧" min-width="120" />
+ <el-table-column prop="teamsGroupsName" align="center" label="鎶ュ伐鐝粍" min-width="120" />
+ <el-table-column prop="deviceName" align="center" label="鎶ュ伐璁惧" min-width="120" />
+ <el-table-column prop="line" align="center" label="绾胯矾" min-width="120" />
+ <el-table-column prop="workingProcedure" align="center" label="宸ュ簭" min-width="120" />
+ <el-table-column prop="glassId" align="center" label="鐜荤拑id" min-width="120" />
+ <el-table-column prop="engineerId" align="center" label="宸ョ▼鍙�" min-width="120" />
+ <el-table-column prop="temperingLayoutId" align="center" label="閽㈠寲鐗堝浘id" min-width="120" />
+ <el-table-column prop="damageTime" align="center" label="鐢熶骇鏃堕棿" min-width="120" />
+ <el-table-column prop="type" align="center" label="绫诲瀷" min-width="120" />
+ <el-table-column prop="status" align="center" label="鐘舵��" min-width="120" />
+ <el-table-column prop="processId" align="center" label="娴佺▼鍗�" min-width="120" />
+ <el-table-column prop="orderNumber" align="center" label="搴忓彿" min-width="120" />
+ <el-table-column prop="technologyNumber" align="center" label="灞�" min-width="120" />
+ <el-table-column prop="breakageType" align="center" label="鐮存崯绫诲瀷" min-width="120" />
+ <el-table-column prop="breakageReason" align="center" label="鐮存崯鍘熷洜" min-width="120" />
+ <el-table-column prop="responsibleProcess" align="center" label="璐d换宸ュ簭" min-width="120" />
+ <el-table-column prop="responsiblePersonnel" align="center" label="璐d换浜哄憳" min-width="120" />
+ <el-table-column prop="responsibleTeam" align="center" label="璐d换鐝粍" min-width="120" />
+ <el-table-column prop="responsibleEquipment" align="center" label="璐d换璁惧" min-width="120" />
+ <el-table-column prop="remark" align="center" label="澶囨敞" min-width="120" />
</el-table>
</div>
</template>
@@ -58,23 +58,22 @@
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
const report = ref({
- type: '',
- status: '',
- workProcedure: '',
+ type: '0',
+ status: '0',
+ workingProcedure: '0',
});
const reportData = ref([])
-const timeRange = ref([new Date(2000, 10, 10), new Date(2200, 10, 11)])
+const timeRange = ref(["2022-01-01", "2022-01-01"])
// 鏌ヨ鏁版嵁
const selectReportData = async () => {
- console.log(timeRange.value[0])
- const response = await request.post("/loadGlass/damage/selectDamage", {
+ const response = await request.post("/cacheVerticalGlass/damage/selectDamage", {
startTime: timeRange.value[0],
endTime: timeRange.value[1],
type: report.value.type,
status: report.value.status,
- workProcedure: report.value.workProcedure,
+ workingProcedure: report.value.workingProcedure
})
if (response.code === 200) {
reportData.value = response.data;
@@ -82,6 +81,14 @@
} else {
ElMessage.error(response.message);
}
+
+ const responses = await request.post("/cacheVerticalGlass/damage/insertDamage", {
+ glassId:"P24060403|3|6",
+ line:"2001",
+ workingProcedure:"鍐峰姞宸�",
+ remark:"",
+ status:"2"
+ })
};
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index f8a310c..fe5c038 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -30,7 +30,7 @@
* A09鍑虹墖鐩爣浣嶇疆 d02鍗ц浆绔� 閽㈠寲鍑虹墖 3001
* A10鍑虹墖鐩爣浣嶇疆 d05鍗ц浆绔� 浜哄伐鍑虹墖 3002
*/
- public static final Integer TEMPERING_OUT_TARGET_POSITION = 3002;
+ public static final Integer TEMPERING_OUT_TARGET_POSITION = 3001;
public static final Integer ARTIFICIAL_OUT_TARGET_POSITION = 3002;
/**
@@ -38,12 +38,14 @@
* 璇嗗埆鍚庢垚鍔熺姸鎬�100
* 鍑虹墖浠诲姟101
* 浜哄伐涓嬬墖102
+ * 鍑虹墖涓�103
* 鎷胯蛋200
* 鐮存崯201
*/
public static final Integer GLASS_STATE_IN = 100;
public static final Integer GLASS_STATE_OUT = 101;
public static final Integer GLASS_STATE_ARTIFICIAL = 102;
+ public static final Integer GLASS_STATE_OUT_ING = 103;
public static final Integer GLASS_STATE_TAKE = 200;
public static final Integer GLASS_STATE_DAMAGE = 201;
@@ -113,6 +115,7 @@
public static final Integer BIG_STORAGE_OUT_SUCCESS = 3;
public static final Integer BIG_STORAGE_OUT_ERROR = 4;
public static final Integer BIG_STORAGE_OUT_DAMAGE = 5;
+ public static final List<Integer> BIG_STORAGE_OUT_ALL = Arrays.asList(2, 3);
/**
* 鍗ц浆绔嬪嚭鐗囪姹�
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
index 9cd2ca4..ea9bcb2 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
@@ -25,35 +25,47 @@
@Api(description = "鎶ュ伐淇℃伅")
@RestController
@RequestMapping("/damage")
+@ResponseBody
public class DamageController {
@Autowired
private DamageService damageService;
@ApiOperation("鎶ュ伐鏁版嵁鏌ヨ")
- @ResponseBody
@PostMapping("/selectDamage")
public Result selectDamage(@RequestBody Map map) {
String startTime=map.get("startTime").toString();
String endTime=map.get("endTime").toString();
int type =Integer.parseInt(map.get("type").toString());
int status =Integer.parseInt(map.get("status").toString());
- int workingProcedure =Integer.parseInt(map.get("workingProcedure").toString());
-// String startTime , String endTime, int type, int status, int workingProcedure
+ String workingProcedure =map.get("workingProcedure").toString();
return Result.build(200,"鏌ヨ鎴愬姛",damageService.selectDamage(startTime,endTime,type,status,workingProcedure));
}
@ApiOperation("鎶ュ伐")
@PostMapping("/submitDamage")
- public Result submitDamage(DateTime startTime , DateTime endTime,int type,int status,int workingProcedureId) {
- damageService.submitDamage(startTime,endTime,type,status,workingProcedureId);
+ public Result submitDamage(@RequestBody Map map) {
+ String startTime=map.get("startTime").toString();
+ String endTime=map.get("endTime").toString();
+ int type =Integer.parseInt(map.get("type").toString());
+ int status =Integer.parseInt(map.get("status").toString());
+ String workingProcedure =map.get("workingProcedure").toString();
+ damageService.submitDamage(startTime,endTime,type,status,workingProcedure);
return Result.build(200,"鎶ュ伐鎴愬姛",1);
}
@ApiOperation("鎶ュ伐鏁版嵁淇敼")
@PostMapping("/updateDamage")
- public Result updateDamage(List<Damage> damageList) {
+ public Result updateDamage(@RequestBody List<Damage> damageList) {
damageService.updateBatchById(damageList);
return Result.build(200,"淇敼鎴愬姛",1);
}
+
+ @ApiOperation("鎶ュ伐鏁版嵁鏂板")
+ @PostMapping("/insertDamage")
+ public Result insertDamage(@RequestBody Damage damage) {
+ damageService.insertDamage(damage);
+ return Result.build(200,"鏂板鎴愬姛",1);
+ }
+
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
index e5acd8b..1fba706 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -17,9 +17,9 @@
*/
public interface DamageService extends IService<Damage> {
- List<Damage> selectDamage(String startTime, String endTime, int type, int status, int workingProcedureId);
+ List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
- void submitDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId);
+ void submitDamage(String startTime, String endTime, int type, int status, String workingProcedure);
void insertDamage(Damage damage);
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index d3aa888..118d12e 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -39,7 +39,7 @@
* 鏌ヨ鎶ュ伐淇℃伅
*/
@Override
- public List<Damage> selectDamage(String startTime, String endTime, int type, int status, int workingProcedure){
+ public List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure){
LambdaQueryWrapper<Damage> damageSelectWrapper =new LambdaQueryWrapper<>();
damageSelectWrapper.between(Damage::getDamageTime,startTime,endTime);
if (type!=0){
@@ -48,7 +48,7 @@
if (status!=0){
damageSelectWrapper.eq(Damage::getStatus,status);
}
- if(workingProcedure!=0){
+ if(!"0".equals(workingProcedure)){
damageSelectWrapper.eq(Damage::getWorkingProcedure,workingProcedure);
}
return baseMapper.selectList(damageSelectWrapper);
@@ -58,7 +58,7 @@
* 鎻愪氦鎶ュ伐
*/
@Override
- public void submitDamage(DateTime startTime, DateTime endTime, int type, int status, int workingProcedureId){
+ public void submitDamage(String startTime, String endTime, int type, int status, String workingProcedure){
LambdaUpdateWrapper<Damage> damageUpdateWrapper=new LambdaUpdateWrapper<>();
damageUpdateWrapper.between(Damage::getDamageTime,startTime,endTime);
if (type!=0){
@@ -67,8 +67,8 @@
if (status!=0){
damageUpdateWrapper.eq(Damage::getStatus,status);
}
- if(workingProcedureId!=0){
- damageUpdateWrapper.eq(Damage::getWorkingProcedure,workingProcedureId);
+ if(!"0".equals(workingProcedure)){
+ damageUpdateWrapper.eq(Damage::getWorkingProcedure,workingProcedure);
}
Damage damage=new Damage();
damage.setStatus(2);
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
index d3d7b75..120a0d1 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -103,4 +103,9 @@
@ApiModelProperty(value = "鐘舵��", position = 16)
private Integer state;
+ /**
+ * 宸ョ▼id
+ */
+ @ApiModelProperty(value = "宸ョ▼id", position = 17)
+ private String engineerId;
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java
index 9b35277..582dafe 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/work_assignment/controller/WorkAssignmentController.java
@@ -1,18 +1,15 @@
package com.mes.work_assignment.controller;
-import cn.hutool.core.date.DateTime;
-import com.mes.damage.service.DamageService;
import com.mes.utils.Result;
+import com.mes.work_assignment.entity.WorkAssignment;
import com.mes.work_assignment.service.WorkAssignmentService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
/**
* <p>
@@ -35,5 +32,11 @@
return Result.build(200,"鏌ヨ鎴愬姛",workAssignmentService.selectWorkAssignment(line,workingProcedure));
}
+ @ApiOperation("鍊肩彮鏁版嵁淇敼")
+ @PostMapping("/updateWorkAssignment")
+ public Result updateWorkAssignment(@RequestBody List<WorkAssignment> workAssignmentList) {
+ workAssignmentService.saveOrUpdateBatch(workAssignmentList);
+ return Result.build(200,"淇敼鎴愬姛",1);
+ }
}
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 c48b407..772a88b 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
@@ -5,6 +5,7 @@
import cn.hutool.json.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.github.yulichang.query.MPJQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.S7object;
@@ -587,11 +588,9 @@
log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
} else {
log.info("5銆侀潪鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
- LambdaQueryWrapper<EdgStorageCageDetails> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(EdgStorageCageDetails::getGlassId, glassInfo.getGlassId());
- EdgStorageCageDetails updateDetail = new EdgStorageCageDetails();
- updateDetail.setState(Const.GLASS_STATE_OUT);
- edgStorageCageDetailsService.update(updateDetail, wrapper);
+ LambdaUpdateWrapper<EdgStorageCageDetails> wrapper = new LambdaUpdateWrapper<>();
+ wrapper.eq(EdgStorageCageDetails::getGlassId, glassInfo.getGlassId()).set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT);
+ edgStorageCageDetailsService.update(wrapper);
log.info("5銆佹洿鏂板嚭鐗囩幓鐠冪殑鐘舵�佷负{}", Const.GLASS_STATE_OUT);
boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), glassInfo.getSlot(), endcell, Const.GLASS_CACHE_TYPE_OUT);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
index deed23a..d83399e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -34,7 +34,11 @@
@PostMapping("/selectBigStorageCageDetails")
public Result selectBigStorageCageDetails(@RequestBody Map map) {
List<BigStorageCageDetails> bigStorageCageDetails=bigStorageCageDetailsService.selectBigStorageCageDetails(map.get("glassId").toString());
- return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageDetails);
+ if (bigStorageCageDetails.size()>0){
+ return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageDetails);
+ }else{
+ return Result.build(200,"鏌ヨ澶辫触锛屾棤姝ょ幓鐠僫d",bigStorageCageDetails);
+ }
}
@ApiOperation("鐞嗙墖绗艰鎯呮坊鍔�")
@@ -68,10 +72,25 @@
@ApiOperation("鐞嗙墖绗间换鍔″嚭鐗�")
@PostMapping("/outBigStorageCageDetails")
public Result outBigStorageCageDetails(@RequestBody BigStorageCageDetails bigStorageCageDetails) {
-
bigStorageCageDetailsService.outBigStorageCageDetails(bigStorageCageDetails);
return Result.build(200,"鍑虹墖娣诲姞鎴愬姛",1);
}
+ @ApiOperation("鎸囧畾閽㈠寲")
+ @PostMapping("/TemperingGlass")
+ public Result TemperingGlass(@RequestBody BigStorageCageDetails bigStorageCageDetails) {
+ boolean result=bigStorageCageDetailsService.TemperingGlass(bigStorageCageDetails.getTemperingLayoutId().toString(),bigStorageCageDetails.getEngineerId());
+ if(result==true){
+ return Result.build(200,"鎸囧畾閽㈠寲鎴愬姛",1);
+ }else {
+ return Result.build(200, "宸插瓨鍦ㄩ挗鍖栦换鍔�", 1);
+ }
+ }
+
+ @ApiOperation("閽㈠寲鏌ヨ")
+ @PostMapping("/selectTemperingGlass")
+ public Result selectTemperingGlass() {
+ return Result.build(200,"鏌ヨ鎴愬姛",bigStorageCageDetailsService.selectTemperingGlass());
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageDTO.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageDTO.java
index a2df9ab..465c7a2 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageDTO.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageDTO.java
@@ -22,4 +22,9 @@
* 鐜荤拑鏁伴噺
*/
private Integer glassCount;
+
+ /**
+ * 绗煎瓙鍙�
+ */
+ private Integer deviceId;
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
index 5fbc212..cab1f09 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -8,6 +8,7 @@
import com.mes.glassinfo.entity.GlassInfo;
import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -64,4 +65,8 @@
* @return
*/
List<SlotSequenceDTO> queryGlassMaxAndMin(String engineerId, Integer temperingLayoutId);
+
+ boolean TemperingGlass(String temperingLayoutId, String engineerId);
+
+ List<Map<String, Object>> selectTemperingGlass();
}
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 96d4e3b..118e6ac 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
@@ -2,6 +2,7 @@
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.bigstorage.entity.BigStorageCage;
@@ -17,6 +18,8 @@
import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.temperingglass.entity.TemperingGlassInfo;
@@ -53,6 +56,9 @@
private BigStorageCageService bigStorageCageService;
@Resource
private GlassInfoMapper glassInfoMapper;
+
+ @Resource
+ private DamageService damageService;
@Value("${mes.minCount}")
private int minCount;
@@ -197,14 +203,19 @@
temperingGlassInfoMapper.updateById(temperingGlassInfo);
}
if (status == 0) {
- bigStorageCageDetails.setState(Const.GLASS_STATE_TAKE);
- } else {
bigStorageCageDetails.setState(Const.GLASS_STATE_DAMAGE);
+ } else {
+ bigStorageCageDetails.setState(Const.GLASS_STATE_TAKE);
}
baseMapper.updateById(bigStorageCageDetails);
bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
//todo:鎻掑叆鐮存崯鏁版嵁
-
+ Damage damage = new Damage();
+ damage.setGlassId(bigStorageCageDetails.getGlassId());
+ damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setRemark("澶х悊鐗囩鐮存崯");
+ damage.setStatus(2);
+ damageService.insertDamage(damage);
}
//鏌ヨ鐜荤拑淇℃伅
@@ -218,10 +229,13 @@
BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
bigStorageCageDetails.setState(1);
bigStorageCageDetails.setGap(glassGap);
+ List<BigStorageCageDetails> bigStorageCageDetailsList = new ArrayList<>();
+ bigStorageCageDetailsList.add(bigStorageCageDetails);
+ return bigStorageCageDetailsList;
+ }else{
+ return null;
}
- List<BigStorageCageDetails> bigStorageCageDetailsList = new ArrayList<>();
- bigStorageCageDetailsList.add(bigStorageCageDetails);
- return bigStorageCageDetailsList;
+
}
//鐞嗙墖绗艰鎯呮坊鍔�
@@ -260,7 +274,7 @@
.leftJoin(BigStorageCageDetails.class, BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
.eq(BigStorageCage::getEnableState, Const.SLOT_ON)
.eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
- .gt(BigStorageCage::getRemainWidth, glassInfo.getWidth())
+ .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
.last("limit 1");
if (glassInfo.getTemperingLayoutId() == 0) {
wrapper.eq(BigStorageCageDetails::getWidth, glassInfo.getWidth()).eq(BigStorageCageDetails::getHeight, glassInfo.getHeight());
@@ -272,6 +286,7 @@
bigStorageDTO = new BigStorageDTO();
bigStorageDTO.setWidth(bigStorageCage.getRemainWidth());
bigStorageDTO.setSlot(bigStorageCage.getSlot());
+ bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId());
return bigStorageDTO;
}
bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
@@ -284,9 +299,26 @@
bigStorageDTO = new BigStorageDTO();
bigStorageDTO.setWidth(bigStorageCage.getRemainWidth());
bigStorageDTO.setSlot(bigStorageCage.getSlot());
+ bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId());
return bigStorageDTO;
}
- //todo:鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨
+
+ //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨
+ bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
+ .eq(BigStorageCage::getRemainWidth, slotWidth)
+ .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
+ .notInSql(BigStorageCage::getDeviceId,
+ "select distinct device_id from big_storage_cage_details where tempering_layout_id = " + glassInfo.getTemperingLayoutId())
+ .gt(BigStorageCage::getMaxThickness, glassInfo.getThickness())
+ .orderByAsc(BigStorageCage::getDeviceId)
+ .last("limit 1"));
+ if (null != bigStorageCage) {
+ bigStorageDTO = new BigStorageDTO();
+ bigStorageDTO.setWidth(bigStorageCage.getRemainWidth());
+ bigStorageDTO.setSlot(bigStorageCage.getSlot());
+ bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId());
+ return bigStorageDTO;
+ }
bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
.eq(BigStorageCage::getRemainWidth, slotWidth)
.eq(BigStorageCage::getEnableState, Const.SLOT_ON)
@@ -297,6 +329,7 @@
bigStorageDTO = new BigStorageDTO();
bigStorageDTO.setWidth(bigStorageCage.getRemainWidth());
bigStorageDTO.setSlot(bigStorageCage.getSlot());
+ bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId());
return bigStorageDTO;
}
@@ -315,4 +348,47 @@
public List<SlotSequenceDTO> queryGlassMaxAndMin(String engineerId, Integer temperingLayoutId) {
return baseMapper.queryGlassMaxAndMin(engineerId, temperingLayoutId);
}
+
+ @Override
+ public boolean TemperingGlass(String temperingLayoutId, String engineerId){
+ LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoLambdaQueryWrapper=new LambdaQueryWrapper<>();
+ temperingGlassInfoLambdaQueryWrapper
+ .eq(TemperingGlassInfo::getTemperingLayoutId,temperingLayoutId)
+ .eq(TemperingGlassInfo::getEngineerId,engineerId);
+ List<TemperingGlassInfo> temperingGlassInfoList=temperingGlassInfoMapper.selectList(temperingGlassInfoLambdaQueryWrapper);
+ if(temperingGlassInfoList.size()==0){
+ LambdaQueryWrapper<BigStorageCageDetails> wrapper =new LambdaQueryWrapper<>();
+ wrapper.eq(BigStorageCageDetails::getTemperingLayoutId,temperingLayoutId)
+ .eq(BigStorageCageDetails::getEngineerId,engineerId)
+ .in(BigStorageCageDetails::getState,Const.GLASS_STATE_IN,Const.GLASS_STATE_ARTIFICIAL);
+ List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(wrapper);
+
+ for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList
+ ) {
+ TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
+ LambdaQueryWrapper<GlassInfo> glassInfoLambdaQueryWrapper=new LambdaQueryWrapper<>();
+ glassInfoLambdaQueryWrapper.eq(GlassInfo::getGlassId,bigStorageCageDetails.getGlassId());
+ GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoLambdaQueryWrapper);
+
+ BeanUtils.copyProperties(glassInfo, temperingGlassInfo);
+ temperingGlassInfo.setState(Const.TEMPERING_NEW);
+ temperingGlassInfo.setSlot(bigStorageCageDetails.getSlot());
+ temperingGlassInfoMapper.insert(temperingGlassInfo);
+ }
+ return true;
+ }else{
+ return false;
+ }
+
+
+ }
+
+ @Override
+ public List<Map<String, Object>> selectTemperingGlass(){
+ QueryWrapper<BigStorageCageDetails> wrapper = new QueryWrapper<>();
+ wrapper.select("engineer_id,tempering_layout_id,count(*) as count")
+ .groupBy("engineer_id,tempering_layout_id");
+ List<Map<String, Object>> TemperingGlass = baseMapper.selectMaps(wrapper);
+ return TemperingGlass;
+ }
}
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 baa9974..44e8033 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
@@ -18,6 +18,7 @@
import com.mes.temperingglass.service.TemperingGlassInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -48,6 +49,9 @@
@Resource
private GlassInfoService glassInfoService;
+
+ @Value("${mes.glassGap}")
+ private Integer glassGap;
//杩涚墖閫昏緫
@Override
@@ -217,15 +221,13 @@
LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper();
bigStorageCageDetailsWrapper
.eq(BigStorageCageDetails::getSlot, slot)
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL);
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL);
List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
) {
double widths = bigStorageCageDetails.getWidth();
- double gap = bigStorageCageDetails.getGap();
- width -= widths + gap;
+ width = width - widths - glassGap;
}
//淇敼鏍煎瓙鍓╀綑瀹藉害
BigStorageCage bigStorageCage = new BigStorageCage();
@@ -241,7 +243,7 @@
MPJLambdaWrapper<BigStorageCage> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(BigStorageCage.class).selectCollection(BigStorageCageDetails.class, BigStorageCage::getBigStorageCageDetails)
.leftJoin(BigStorageCageDetails.class, on -> on.eq(BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
- .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL))
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL,Const.GLASS_STATE_OUT_ING))
.orderByAsc(BigStorageCage::getDeviceId)
.orderByAsc(BigStorageCage::getSlot);
return bigStorageCageMapper.selectJoinList(BigStorageCage.class, wrapper);
@@ -254,7 +256,7 @@
MPJLambdaWrapper<BigStorageCage> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(BigStorageCage.class).selectCollection(BigStorageCageDetails.class, BigStorageCage::getBigStorageCageDetails)
.leftJoin(BigStorageCageDetails.class, on -> on.eq(BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
- .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL));
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL,Const.GLASS_STATE_OUT_ING));
List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectJoinList(BigStorageCage.class, wrapper);
Map<Integer, List<BigStorageCage>> listMap = bigStorageCages.stream().collect(Collectors.groupingBy(item -> item.getDeviceId()));
return listMap;
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 12ebb88..007eab3 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
@@ -85,6 +85,9 @@
@Value("${mes.glassGap}")
private Integer glassGap;
+ private String d01GlassId = "";
+ private String d04GlassId = "";
+
@Scheduled(fixedDelay = 300)
public void plcToHomeEdgScan() {
Date startDate = new Date();
@@ -114,11 +117,17 @@
}
//鎸夌収绾胯矾鍙婄幓鐠僫d鑾峰彇鐩搁偦涓ゅ潡鐜荤拑 鍗ц浆绔嬩笂鐨勭幓鐠�: 鐘舵�佷负0涓嶆搷浣滐紙D01閫佺墖锛�0涓嶆搷浣滐紝1鍏佽閫佺墖锛夛紝璇锋眰瀛椾负1锛� 锛�02鐜荤拑id涓虹┖鎴栬�呭崸杞珛鏈惎鍔級
if (!REQUEST_WORD.equals(mesD01Value) && REQUEST_WORD.equals(d01ToMES) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
- judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
+ if (!d01GlassId.equals(d01Id)) {
+ judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
+ d01GlassId = d01Id;
+ }
}
// 鐘舵�佷负0涓嶆搷浣滐紙D01閫佺墖锛�0涓嶆搷浣滐紝1鍏佽閫佺墖锛夛紝璇锋眰瀛椾负1锛� 鍗ц浆绔嬫湭鍚姩
if (!REQUEST_WORD.equals(mesD04Value) && REQUEST_WORD.equals(d04ToMES) && !REQUEST_WORD.equals(d05State)) {
- judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
+ if (!d04GlassId.equals(d04Id)) {
+ judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
+ d04GlassId = d04Id;
+ }
}
Date endDate = new Date();
log.info("澶х悊鐗囩鎵爜浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
@@ -311,6 +320,32 @@
}
}
+ @Scheduled(fixedDelay = 300)
+ public void updateOutGlassStateTask() {
+ Date startDate = new Date();
+ log.info("1銆佸ぇ鐞嗙墖绗煎嚭鐗囧畬鎴愬悗鏇存柊澶х悊鐗囩鏁版嵁浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+ //鍥犱负澶х悊鐗囩鍜屽嚭鐗囦换鍔℃槸涓や釜搴撶殑鏁版嵁锛屾墍浠ヨ鍒嗗紑鏌ユ壘
+ List<Object> list = bigStorageCageDetailsService.listObjs(new LambdaQueryWrapper<BigStorageCageDetails>()
+ .select(BigStorageCageDetails::getGlassId).eq(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING));
+ if (CollectionUtils.isNotEmpty(list)) {
+ log.info("2銆佽幏鍙栨墍鏈夋鍦ㄥ嚭鐗囩殑鐜荤拑淇℃伅id:{}", list);
+ List<String> glassIds = list.stream().map(String::valueOf).collect(Collectors.toList());
+ List<Object> outSuccessGlassIdsObj = bigStorageCageOutTaskService.listObjs(new LambdaQueryWrapper<BigStorageCageOutTask>()
+ .select(BigStorageCageOutTask::getGlassId).in(BigStorageCageOutTask::getGlassId, glassIds).in(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_ALL));
+ List<String> outSuccessGlassIds = outSuccessGlassIdsObj.stream().map(String::valueOf).collect(Collectors.toList());
+ if (CollectionUtils.isNotEmpty(outSuccessGlassIds)) {
+ log.info("3銆佽幏鍙栧嚭鐗囧凡瀹屾垚鐨勭幓鐠冧俊鎭痠d:{}", outSuccessGlassIdsObj);
+ bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
+ .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT).in(BigStorageCageDetails::getGlassId, outSuccessGlassIds));
+ log.info("4銆佸ぇ鐞嗙墖绗煎嚭鐗囩姸鎬佸凡瀹屾垚宸插畬鎴愮殑鐜荤拑淇℃伅id:{}", outSuccessGlassIdsObj);
+ }
+ }
+ Date endDate = new Date();
+ log.info("end:澶х悊鐗囩鍑虹墖瀹屾垚鍚庢洿鏂板ぇ鐞嗙墖绗兼暟鎹换鍔$粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+ return;
+
+ }
+
/**
* 澶勭悊鐮存崯琛ㄤ换鍔�
*/
@@ -322,7 +357,11 @@
List<BigStorageCageFeedTask> inDamageTaskInfoList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
.eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
+ log.info("鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", inDamageTaskInfoList);
bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
+ bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
+ .set(BigStorageCageDetails::getState, Const.GLASS_STATE_DAMAGE).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
//灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
for (BigStorageCageFeedTask bigStorageCageFeedTask : inDamageTaskInfoList) {
Damage damage = new Damage();
@@ -333,14 +372,21 @@
damage.setStatus(2);
damageService.insertDamage(damage);
}
+ log.info("杩涚墖浠诲姟鎵ц瀹屾垚");
}
//鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
.eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
if (CollectionUtils.isNotEmpty(outDamageTaskInfoList)) {
+ log.info("鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", outDamageTaskInfoList);
bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
+ //绉婚櫎閽㈠寲涓嬬墖琛ㄦ暟鎹�
temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
+ //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
+ bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
+ .set(BigStorageCageDetails::getState, Const.GLASS_STATE_DAMAGE).in(BigStorageCageDetails::getGlassId, glassIdList));
+
//灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
for (BigStorageCageOutTask bigStorageCageOutTask : outDamageTaskInfoList) {
Damage damage = new Damage();
@@ -351,6 +397,7 @@
damage.setStatus(2);
damageService.insertDamage(damage);
}
+ log.info("鍑虹墖浠诲姟鎵ц瀹屾垚");
}
Date endDate = new Date();
log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
@@ -413,6 +460,7 @@
//鍚憄lc鍙戦�佽繘鐗囩‘璁�
if (flag) {
S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
+ log.info("杩涘崸杞珛鍙戦�佺‘璁ゅ瓧瀹屾垚锛屽湴鍧�涓簕}", mesAddress);
}
//璁板綍鏃犳硶鏀句笅鐜荤拑锛屽悗缁垽鏂惎鍔�
return flag;
@@ -490,7 +538,7 @@
//2銆佽幏鍙栫洰鏍囨牸瀛愪俊鎭�
BigStorageDTO bigStorageDTO = bigStorageCageDetailsService.queryTargetSlotByTempering(info);
//3銆佹洿鏂板ぇ鐞嗙墖绗艰〃鍓╀綑瀹藉害
- bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, bigStorageDTO.getWidth() - info.getWidth())
+ bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, bigStorageDTO.getWidth() - info.getWidth() - glassGap)
.eq(BigStorageCage::getSlot, bigStorageDTO.getSlot()));
//4銆佹洿鏂拌繘鐗囦换鍔¤〃锛岀洰鏍囨牸瀛愬強鐘舵�侊紙鐘舵�佹敼涓�2 鐢垫皵鎵埌鑷澶勭悊锛� 閬囧埌闂锛氭棤娉曟壒閲忔洿鏂帮紝鎵归噺鏇存柊鏃犳硶璧版寚瀹氫粠搴�
e.setTargetSlot(bigStorageDTO.getSlot());
@@ -500,6 +548,8 @@
//5銆佸皢杩涚墖淇℃伅瀛樺叆澶х悊鐗囩璇︽儏琛�
cageDetails.setSlot(bigStorageDTO.getSlot());
cageDetails.setState(Const.GLASS_STATE_IN);
+ cageDetails.setDeviceId(bigStorageDTO.getDeviceId());
+ cageDetails.setGap(glassGap);
bigStorageCageDetailsService.save(cageDetails);
}
sendTaskListToPLC(taskList, line);
@@ -546,7 +596,7 @@
List<String> glassIds = bigStorageCageOutTaskList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
log.info("灏嗗嚭鐗囩幓鐠儃}鐜荤拑鐘舵�佹敼涓哄凡鍑虹墖", glassIds);
bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
- .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+ .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
.in(BigStorageCageDetails::getGlassId, glassIds));
//鏇存柊绗煎瓙鍐呮牸瀛愮殑鍓╀綑灏哄
updateSlotRemain(list, glassIds);
@@ -591,7 +641,7 @@
}
//鑾峰彇鐜荤拑淇℃伅
GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
- return sitToUpRemainWidth.getWidth() < glassInfo.getWidth();
+ return sitToUpRemainWidth.getWidth() < Math.max(glassInfo.getWidth(), glassInfo.getHeight());
}
}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 8306c6f..b49e679 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -37,7 +37,7 @@
) T2
INNER JOIN (SELECT ENGINEER_ID, TEMPERING_LAYOUT_ID, COUNT(TEMPERING_FEED_SEQUENCE) AS COUNT
FROM BIG_STORAGE_CAGE_DETAILS
- WHERE STATE in (100, 101, 102)
+ WHERE STATE in (100, 101, 102, 103)
GROUP BY ENGINEER_ID, TEMPERING_LAYOUT_ID) T3 ON T2.ENGINEER_ID = T3.ENGINEER_ID
AND T2.TEMPERING_LAYOUT_ID = T3.TEMPERING_LAYOUT_ID
AND T2.COUNT = T3.COUNT
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 6e45b69..d9a451e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -38,8 +38,8 @@
@Autowired
DamageService damageService;
- @Autowired
- BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
+// @Autowired
+// BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
@Test
public void testInsertSlot() {
@@ -161,4 +161,10 @@
damage.setStatus(2);
damageService.insertDamage(damage);
}
+
+ @Test
+ public void updateOutGlassStateTask() {
+ plcStorageCageTask.updateOutGlassStateTask();
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
index 9d93d35..cf4443d 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -66,8 +66,8 @@
List<OptimizeUpPattenUsage> upPattenUsageList = null;
if (engineeringId != null) {
upPattenUsageList = optimizeProjectMapper.selectJoinList(OptimizeUpPattenUsage.class, new MPJQueryWrapper<OptimizeProject>()
- .select("t.project_no,t.glass_type,b.o_width as width,b.o_height as height ,REGEXP_REPLACE(t.glass_thickness,'\\D','')as glass_thickness,b.stock_number")
- .leftJoin("optimize_detail b on t.project_no=b.project_no")
+ .select("t.project_no,t.glass_type,b.width,b.height ,REGEXP_REPLACE(t.glass_thickness,'\\D','')as glass_thickness,b.count")
+ .leftJoin("optimize_layout b on t.project_no=b.project_no")
.eq("b.project_no", engineeringId));
}
// 鍒涘缓涓�涓� List 鐢ㄤ簬淇濆瓨鏄犲皠鍚庣殑瀹炰綋瀵硅薄
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 6b27ad0..8646b79 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
@@ -1,25 +1,76 @@
package com.mes.job;
-import com.mes.tempering_record.service.TemperingRecordService;
+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.mes.common.S7object;
+import com.mes.common.config.Const;
+import com.mes.device.PlcParameterObject;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
+import com.mes.temperingrecord.entity.TemperingRecord;
+import com.mes.temperingrecord.service.TemperingRecordService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* @Author : zhoush
* @Date: 2024/7/17 12:47
* @Description:
*/
+@Component
+@Slf4j
public class TemperingTask {
@Autowired
private TemperingRecordService temporalRecordService;
+ @Autowired
+ private TemperingGlassInfoService temporaryGlassInfoService;
+ private static final String ALONE_STATE = "0";
+
@Scheduled(fixedDelay = 1000)
public void temperingGlassBefore() {
+ Date startDate = new Date();
+ log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ String state = plcParameterObject.getPlcParameter("state").getValue();
+// 褰撳墠杩炵嚎鐘舵�佷负
+ if (ALONE_STATE.equals(state)) {
+ log.info("褰撳墠閽㈠寲鐐夎繛绾挎ā寮忎负锛歿},涓嶆墽琛岃浠诲姟", state);
+ return;
+ }
+ //灏嗙‘璁ゅ瓧缃负0
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("confirmationWord").getAddress(), 0);
+
//todo:鑾峰彇閽㈠寲鐗堝浘涓姸鎬佷负2鐨勶紙杩涚倝瀹屾垚鐨勭幓鐠冧俊鎭級 涓斾笉瀛樺湪閽㈠寲璁板綍琛ㄥ唴鐨�
+ List<Object> temperRecordIdListObj = temporalRecordService.listObjs(new QueryWrapper<TemperingRecord>().select("distinct tempering_layout_id"));
+ List<String> temperRecordIdList = temperRecordIdListObj.stream().map(String::valueOf).collect(Collectors.toList());
+ List<TemperingGlassInfo> list = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>()
+ .eq(TemperingGlassInfo::getState, Const.TEMPERING_START).notIn(TemperingGlassInfo::getTemperingLayoutId, temperRecordIdList));
+ if (CollectionUtils.isEmpty(list)) {
+ log.info("褰撳墠绯荤粺娌℃湁闇�瑕侀挗鍖栫殑鐜荤拑淇℃伅");
+ return;
+ }
+ List<Integer> temperingLayoutIdList = list.stream().map(TemperingGlassInfo::getTemperingLayoutId).distinct().collect(Collectors.toList());
+ if (CollectionUtils.isNotEmpty(temperRecordIdList)) {
+ temperingLayoutIdList.removeAll(temperRecordIdList);
+ }
+ if (CollectionUtils.isEmpty(temperingLayoutIdList)) {
+ log.info("褰撳墠鐜荤拑鏈夋鍦ㄩ挗鍖栫殑浠诲姟");
+ }
+// 鑾峰彇閽㈠寲涓嬬墖琛ㄧ姸鎬佷负2鐨勭幓鐠冧俊鎭�
+ //瀹屾垚浠诲姟灏嗙‘璁ゅ瓧缃负1
+ S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("confirmationWord").getAddress(), 1);
}
@Scheduled(fixedDelay = 1000)
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/controller/TemperingRecordController.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/controller/TemperingRecordController.java
similarity index 87%
rename from hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/controller/TemperingRecordController.java
rename to hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/controller/TemperingRecordController.java
index 774f5ae..ea8b73b 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/controller/TemperingRecordController.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/controller/TemperingRecordController.java
@@ -1,4 +1,4 @@
-package com.mes.tempering_record.controller;
+package com.mes.temperingrecord.controller;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/entity/TemperingRecord.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/entity/TemperingRecord.java
similarity index 91%
rename from hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/entity/TemperingRecord.java
rename to hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/entity/TemperingRecord.java
index b11715c..0049269 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/entity/TemperingRecord.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/entity/TemperingRecord.java
@@ -1,4 +1,4 @@
-package com.mes.tempering_record.entity;
+package com.mes.temperingrecord.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -20,6 +20,10 @@
private static final long serialVersionUID = 1L;
/**
+ * 宸ョ▼id
+ */
+ private String engineerId;
+ /**
* 閽㈠寲鐗堝浘
*/
private Integer temperingLayoutId;
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/mapper/TemperingRecordMapper.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/mapper/TemperingRecordMapper.java
similarity index 69%
rename from hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/mapper/TemperingRecordMapper.java
rename to hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/mapper/TemperingRecordMapper.java
index c163cb3..d12a20a 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/mapper/TemperingRecordMapper.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/mapper/TemperingRecordMapper.java
@@ -1,7 +1,7 @@
-package com.mes.tempering_record.mapper;
+package com.mes.temperingrecord.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.tempering_record.entity.TemperingRecord;
+import com.mes.temperingrecord.entity.TemperingRecord;
/**
* <p>
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/mapper/xml/TemperingRecordMapper.xml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/mapper/xml/TemperingRecordMapper.xml
similarity index 100%
rename from hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/mapper/xml/TemperingRecordMapper.xml
rename to hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/mapper/xml/TemperingRecordMapper.xml
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/service/TemperingRecordService.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/service/TemperingRecordService.java
similarity index 69%
rename from hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/service/TemperingRecordService.java
rename to hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/service/TemperingRecordService.java
index 49137c5..daeb9a4 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/service/TemperingRecordService.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/service/TemperingRecordService.java
@@ -1,7 +1,7 @@
-package com.mes.tempering_record.service;
+package com.mes.temperingrecord.service;
import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.tempering_record.entity.TemperingRecord;
+import com.mes.temperingrecord.entity.TemperingRecord;
/**
* <p>
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/service/impl/TemperingRecordServiceImpl.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/service/impl/TemperingRecordServiceImpl.java
similarity index 60%
rename from hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/service/impl/TemperingRecordServiceImpl.java
rename to hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/service/impl/TemperingRecordServiceImpl.java
index 1596f57..ea39a21 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/tempering_record/service/impl/TemperingRecordServiceImpl.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingrecord/service/impl/TemperingRecordServiceImpl.java
@@ -1,9 +1,9 @@
-package com.mes.tempering_record.service.impl;
+package com.mes.temperingrecord.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.tempering_record.entity.TemperingRecord;
-import com.mes.tempering_record.mapper.TemperingRecordMapper;
-import com.mes.tempering_record.service.TemperingRecordService;
+import com.mes.temperingrecord.entity.TemperingRecord;
+import com.mes.temperingrecord.mapper.TemperingRecordMapper;
+import com.mes.temperingrecord.service.TemperingRecordService;
import org.springframework.stereotype.Service;
/**
--
Gitblit v1.8.0