From a44ccbe72b5102a593521c643fbc14cc481628eb Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 20 九月 2024 12:59:21 +0800
Subject: [PATCH] 卧式理片添加自动报工,添加合并落架流程卡打印添加,修改流程卡打印样式
---
UI-Project/src/views/StockBasicData/stockBasicData.vue | 2
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 43 +++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 10
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java | 42 +++
UI-Project/src/views/ReportWork/reportWork.vue | 32 +-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java | 6
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java | 6
hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml | 79 ++++--
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 62 +++--
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 147 ++++++++++++-
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java | 3
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java | 8
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java | 172 +++++++++------
UI-Project/src/views/UnLoadGlass/PrintFlow.vue | 19 +
15 files changed, 456 insertions(+), 177 deletions(-)
diff --git a/UI-Project/src/views/ReportWork/reportWork.vue b/UI-Project/src/views/ReportWork/reportWork.vue
index 7b6a6e9..c50a0cb 100644
--- a/UI-Project/src/views/ReportWork/reportWork.vue
+++ b/UI-Project/src/views/ReportWork/reportWork.vue
@@ -178,13 +178,13 @@
ElMessage.error(response.message);
}
- const responses = await request.post("/cacheVerticalGlass/damage/insertDamage", {
- glassId:"P24060403|3|6",
- line:"2001",
- workingProcedure:"鍐峰姞宸�",
- remark:"",
- status:"2"
- })
+ // const responses = await request.post("/cacheVerticalGlass/damage/insertDamage", {
+ // glassId:"P24081502|1|1",
+ // line:"1001",
+ // workingProcedure:"鍒囧壊",
+ // remark:"",
+ // status:"0"
+ // })
};
// 鎶ュ伐
const handleConfirm = async () => {
@@ -225,23 +225,23 @@
};
fetchTableData();
let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
-const handleMessage = (data) => {
+// const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
+// const handleMessage = (data) => {
// adjustedRects.value = data.device[0].map(rect => ({
// ...rect,
// completed: rect.completedQuantity,
// breakage: rect.breakageQuantity,
// thisProcess: rect.thisProcess,
// }));
-};
+// };
// let socket;
onMounted(() => {
- socket = new WebSocket(socketUrl);
- socket.onmessage = (event) => {
- const data = JSON.parse(event.data);
+ // socket = new WebSocket(socketUrl);
+ // socket.onmessage = (event) => {
+ // const data = JSON.parse(event.data);
- // updateCharts();
- };
+ // // updateCharts();
+ // };
// };
});
onUnmounted(() => {
@@ -249,7 +249,7 @@
});
onMounted(() => {
fetchTableData();
- socket = initializeWebSocket(socketUrl, handleMessage);
+ // socket = initializeWebSocket(socketUrl, handleMessage);
});
onUnmounted(() => {
if (socket) {
diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue
index 2e08076..3c0ee64 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicData.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -133,7 +133,7 @@
}
};
let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/edgTasks`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
// 鏇存柊 tableData 鐨勬暟鎹�
diff --git a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
index fa5a0e8..ff1c579 100644
--- a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
+++ b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
@@ -51,8 +51,12 @@
let totalQuantity1 = 0;
//闈㈢Н
let totalArea = 0;
+ //钀芥灦闈㈢Н
+ let totalArea1 = 0;
//閲嶉噺
let totalWeight = 0;
+ //钀芥灦閲嶉噺
+ let totalWeight1 = 0;
// 瀵规瘡涓泦鍚堜腑鐨� detailList 杩涜璁$畻
produceList.value[i].detailList.forEach(collection => {
totalQuantity += collection.quantity * 1;
@@ -60,15 +64,22 @@
//姣忎釜搴忓彿闈㈢Н
collection.total_area = parseFloat((collection.width * collection.height * collection.quantity / 1000000).toFixed(2))
totalArea += collection.total_area * 1;
+
+ collection.total_area1 = parseFloat((collection.width * collection.height * collection.quantity1 / 1000000).toFixed(2))
+ totalArea1 += collection.total_area1 * 1;
+
totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
+ totalWeight1 += collection.width * collection.height * collection.quantity1 / 1000000 * collection.separation * 2.5 * 1;
//姣忎釜搴忓彿鍛ㄩ暱
collection.perimeter = parseFloat(((collection.width * 2 + collection.height * 2) * collection.quantity / 1000).toFixed(3))
});
// 杈撳嚭姣忎釜闆嗗悎涓殑鎬绘暟閲�
produceList.value[i].detail[0].quantity = totalQuantity
- produceList.value[i].detail[0].quantity1 = totalQuantity
+ produceList.value[i].detail[0].quantity1 = totalQuantity1
produceList.value[i].detail[0].gross_area = totalArea
+ produceList.value[i].detail[0].gross_area1 = totalArea1
produceList.value[i].detail[0].weight = totalWeight
+ produceList.value[i].detail[0].weight1 = totalWeight1
}
}
@@ -242,12 +253,16 @@
<td v-for="(itemsum,index) in item.detail" :key="index" colspan="29">
鏁伴噺锛�
<label>{{ itemsum.quantity }}</label>
- 钀藉姞鏁伴噺锛�
+ 钀芥灦鏁伴噺锛�
<label>{{ itemsum.quantity1 }}</label>
闈㈢Н锛�
<label>{{ parseFloat(itemsum.gross_area.toFixed(2)) }}</label>
+ 钀芥灦闈㈢Н锛�
+ <label>{{ parseFloat(itemsum.gross_area1.toFixed(2)) }}</label>
閲嶉噺锛�
<label>{{ parseFloat(itemsum.weight.toFixed(2)) }}</label>
+ 钀芥灦閲嶉噺锛�
+ <label>{{ parseFloat(itemsum.weight1.toFixed(2)) }}</label>
</td>
</tr>
<tr v-for="(itemtextarea,index) in item.detail" :key="index">
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index e469c90..5a918af 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -214,10 +214,26 @@
autoPrint.value = data.autoPrint[0];
}
if (data.takeGlass != null) {
+
takeGlass.value = data.takeGlass[0];
+ // takeGlass.value 鏄竴涓┖瀵硅薄
+ let width = takeGlass.value.width;
+ let height = takeGlass.value.height;
+ if (width < height) {
+ takeGlass.value.width = height;
+ takeGlass.value.height = width;
+ }
+
+
}
if (data.scanGlass != null) {
scanGlass.value = data.scanGlass[0];
+ let width = scanGlass.value.width;
+ let height = scanGlass.value.height;
+ if (width < height) {
+ scanGlass.value.width = height;
+ scanGlass.value.height = width;
+ }
}
//鑷姩鎵撳嵃
@@ -493,8 +509,8 @@
</el-date-picker>
<el-button type="primary" style="margin-left: 10px;" @click="selectDownGlassData()">{{
- $t('reportmanage.inquire')
- }}
+ $t('reportmanage.inquire')
+ }}
</el-button>
<el-table height="200px" ref="table" @selection-change="handleSelectionChange" :data="downGlass"
:header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
@@ -512,34 +528,36 @@
</el-dialog>
<el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('浜哄伐涓嬬墖淇℃伅')">
<div style="display:flex;justify-content: space-around;">
- <el-card style="display: flex; justify-content: center; align-items: center; width:800px; height: 800px;position: relative;">
+ <el-card
+ style="display: flex; justify-content: center; align-items: center; width:800px; height: 800px;position: relative;">
<div
- :style="{ width: takeGlass.width + 'px', height: takeGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (takeGlass.width > takeGlass.height ? takeGlass.width : takeGlass.height) + ')' }">
-
+ :style="{ width: takeGlass.width + 'px', height: takeGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (takeGlass.width > takeGlass.height ? takeGlass.width : takeGlass.height) + ')' }">
+
</div>
- <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
- <div>浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅</div>
- <div>{{ takeGlass.flowCardId }}</div>
- <div>{{ takeGlass.layer }}</div>
- <div>{{ takeGlass.glassId }}</div>
- <div>{{ takeGlass.width }}</div>
- <div>{{ takeGlass.height }}</div>
- </div>
+ <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:170px;">
+ <div>浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅</div>
+ <div>{{ takeGlass.flowCardId }}</div>
+ <div>{{ takeGlass.layer }}</div>
+ <div>{{ takeGlass.glassId }}</div>
+ <div>{{ takeGlass.width }}</div>
+ <div>{{ takeGlass.height }}</div>
+ </div>
</el-card>
- <el-card style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">
+ <el-card
+ style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">
<div
:style="{ width: scanGlass.width + 'px', height: scanGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (scanGlass.width > scanGlass.height ? scanGlass.width : scanGlass.height) + ')' }">
-
+
</div>
<div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
- <div>鎵爜鏋綋鍓嶇幓鐠冧俊鎭�</div>
- <div>{{ scanGlass.flowCardId }}</div>
- <div>{{ scanGlass.layer }}</div>
- <div>{{ scanGlass.glassId }}</div>
- <div>{{ scanGlass.width }}</div>
- <div>{{ scanGlass.height }}</div>
+ <div>鎵爜鏋綋鍓嶇幓鐠冧俊鎭�</div>
+ <div>{{ scanGlass.flowCardId }}</div>
+ <div>{{ scanGlass.layer }}</div>
+ <div>{{ scanGlass.glassId }}</div>
+ <div>{{ scanGlass.width }}</div>
+ <div>{{ scanGlass.height }}</div>
- </div>
+ </div>
</el-card>
</div>
</el-dialog>
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 db1b3b5..3d63695 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
@@ -4,6 +4,8 @@
import com.github.yulichang.base.MPJBaseService;
import com.mes.damage.entity.Damage;
import com.mes.damage.entity.DamagePrint;
+import com.mes.pp.entity.ReportingWork;
+import com.mes.pp.entity.ReportingWorkDetail;
import java.util.List;
import java.util.Map;
@@ -21,6 +23,8 @@
List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
void submitDamage(List<Damage> damageList);
+
+ void submitReport(Damage damage);
/**
* 鍗曚釜鐮存崯
@@ -41,4 +45,6 @@
List<DamagePrint> selectDamagePrintDetails(Damage damage);
void deleteByGlassId(String glassId);
+
+ void sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails);
}
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 b37edb4..22b38e1 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
@@ -1,8 +1,9 @@
package com.mes.damage.service.impl;
+import cn.hutool.json.JSONArray;
+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.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
import com.mes.common.config.Const;
@@ -12,17 +13,23 @@
import com.mes.damage.service.DamageService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.pp.entity.ReportingWork;
+import com.mes.pp.entity.ReportingWorkDetail;
import com.mes.work_assignment.entity.WorkAssignment;
import com.mes.work_assignment.mapper.WorkAssignmentMapper;
import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
import java.sql.Timestamp;
import java.time.LocalDateTime;
-import java.util.Collections;
-import java.util.HashMap;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -42,8 +49,6 @@
GlassInfoMapper glassInfoMapper;
@Resource
WorkAssignmentMapper workAssignmentMapper;
- @Autowired
- private DamageMapper damageMapper;
/**
* 鏌ヨ鎶ュ伐淇℃伅
@@ -76,22 +81,74 @@
public void submitDamage(List<Damage> damageList) {
Map<String, List<Damage>> firstMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":"
+ e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName()));
-
for (Map.Entry<String, List<Damage>> entry : firstMap.entrySet()) {
+ ReportingWork reportingWork = new ReportingWork();
+ List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>();
String key = entry.getKey();
List<Damage> damages = entry.getValue();
+ for (Damage damage:damages
+ ) {
+ reportingWork.setOrderId(damage.getProcessId().substring(0, 10));
+ reportingWork.setProductionId(damage.getProcessId().substring(0,11));
+ reportingWork.setProcessId(damage.getProcessId()+"/"+damage.getTechnologyNumber());
+ reportingWork.setDeviceName(damage.getDeviceName());
+ reportingWork.setThisProcess(damage.getWorkingProcedure());
+ reportingWork.setThisCompletedQuantity(1);
+ reportingWork.setThisWornQuantity(0);
+ reportingWork.setClasses("鏃╃彮");
+ reportingWork.setReportingWorkTime(LocalDateTime.now());
+ reportingWork.setTeamsGroupsName(damage.getTeamsGroupsName());
+ reportingWork.setCreator("auto");
+ System.out.println("Key: " + key);
+ }
- System.out.println("Key: " + key);
Map<String, List<Damage>> secondMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":"
+ e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName()));
for (Map.Entry<String, List<Damage>> entrys : secondMap.entrySet()) {
+ List<Damage> damagesdetail = entrys.getValue();
+
+ for (Damage damage:damagesdetail
+ ) {
+ ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail();
+ reportingWorkDetail.setTechnologyNumber(damage.getTechnologyNumber());
+ reportingWorkDetail.setOrderNumber(damage.getOrderNumber());
+ reportingWorkDetail.setCompletedQuantity(1);
+ reportingWorkDetail.setBreakageQuantity(0);
+ reportingWorkDetails.add(reportingWorkDetail);
+
+ }
}
+ sendToERP(reportingWork,reportingWorkDetails);
}
+ }
+ @Override
+ public void submitReport(Damage damage) {
+ ReportingWork reportingWork = new ReportingWork();
+ reportingWork.setOrderId(damage.getProcessId().substring(0, 10));
+ reportingWork.setProductionId(damage.getProcessId().substring(0,11));
+ reportingWork.setProcessId(damage.getProcessId()+"/"+damage.getTechnologyNumber());
+ reportingWork.setDeviceName(damage.getDeviceName());
+ reportingWork.setThisProcess(damage.getWorkingProcedure());
+// reportingWork.setNextProcess("纾ㄨ竟");
+ reportingWork.setThisCompletedQuantity(1);
+ reportingWork.setThisWornQuantity(0);
+ reportingWork.setClasses("鏃╃彮");
+ reportingWork.setReportingWorkTime(LocalDateTime.now());
+ reportingWork.setTeamsGroupsName(damage.getTeamsGroupsName());
+ reportingWork.setCreator("auto");
+ List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>();
+ ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail();
+ reportingWorkDetail.setTechnologyNumber(damage.getTechnologyNumber());
+ reportingWorkDetail.setOrderNumber(damage.getOrderNumber());
+ reportingWorkDetail.setCompletedQuantity(1);
+ reportingWorkDetail.setBreakageQuantity(0);
+ reportingWorkDetails.add(reportingWorkDetail);
+ sendToERP(reportingWork,reportingWorkDetails);
}
/**
@@ -117,6 +174,13 @@
damage.setOrderNumber(glassInfo.getGlassType());
damage.setTechnologyNumber(glassInfo.getLayer());
damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now()));
+ if (damage.getType() == null) {
+ damage.setType(1);
+ }
+ if (damage.getType() == 1) {
+ damage.setStatus(2);
+ submitReport(damage);
+ }
baseMapper.insert(damage);
}
@@ -161,7 +225,7 @@
if (damage.getEngineerId() != null) {
listDamage.eq("t.engineer_id", damage.getEngineerId());
}
- return damageMapper.selectJoinList(DamagePrint.class, listDamage);
+ return baseMapper.selectJoinList(DamagePrint.class, listDamage);
}
/**
@@ -169,7 +233,7 @@
*/
@Override
public List<DamagePrint> selectDamagePrintDetails(Damage damage) {
- List<DamagePrint> listDamage = damageMapper.selectJoinList(DamagePrint.class, new MPJQueryWrapper<Damage>()
+ List<DamagePrint> listDamage = baseMapper.selectJoinList(DamagePrint.class, new MPJQueryWrapper<Damage>()
.select("b.flow_card_id,b.layer,t.engineer_id,b.tempering_layout_id,b.tempering_feed_sequence,t.glass_id,b.width,b.height,b.thickness")
.leftJoin("glass_info as b on t.glass_id=b.glass_id")
.eq("t.working_procedure", damage.getWorkingProcedure())
@@ -187,4 +251,65 @@
.in(Damage::getType, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
);
}
+
+ @Override
+ public void sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails){
+ try {
+ // 鐩爣绯荤粺鐨凙PI URL
+ String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn";
+ URL obj = new URL(url);
+ HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+ // 璁剧疆璇锋眰鏂规硶鍜岃姹傚ご
+ con.setRequestMethod("POST");
+ con.setRequestProperty("Content-Type", "application/json; utf-8");
+ con.setRequestProperty("Accept", "application/json");
+ con.setDoOutput(true);
+
+ // 鍒涘缓 JSON 瀵硅薄
+ JSONObject result = new JSONObject();
+
+ ObjectMapper objectMapper = new ObjectMapper();
+
+ // 灏� ReportingWork 杞崲涓� JSONObject
+ JSONObject reportingWorkJson = new JSONObject(objectMapper.writeValueAsString(reportingWork));
+ reportingWorkJson.put("reportingWorkTime", reportingWork.getReportingWorkTime().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
+ // 灏� ReportingWorkDetail 鍒楄〃杞崲涓� JSONArray
+ JSONArray detailsJsonArray = new JSONArray(objectMapper.writeValueAsString(reportingWorkDetails));
+
+ // 灏� JSON 瀵硅薄鍜屾暟缁勬坊鍔犲埌缁撴灉瀵硅薄涓�
+ result.put("title", reportingWorkJson);
+ result.put("detail", detailsJsonArray);
+ result.put("type", 0);
+ result.put("userId", "admin");
+ result.put("userName", "admin");
+ result.put("qualityInsStatus", 0);
+
+ // 灏� result 瀵硅薄杞崲涓哄瓧绗︿覆
+ String jsonInputString = result.toString();
+ System.out.println("jsonInputString : " + result);
+ // 鍙戦�佽姹�
+ try (OutputStream os = con.getOutputStream()) {
+ byte[] input = jsonInputString.getBytes("utf-8");
+ os.write(input, 0, input.length);
+ }
+
+ // 鑾峰彇鍝嶅簲鐮�
+ int responseCode = con.getResponseCode();
+ System.out.println("Response Code : " + responseCode);
+
+ // 鑾峰彇鍝嶅簲鍐呭
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) {
+ StringBuilder response = new StringBuilder();
+ String inputLine;
+ while ((inputLine = in.readLine()) != null) {
+ response.append(inputLine);
+ }
+ System.out.println("Response Body: " + response.toString());
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java
index d0f7876..561b27a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -165,6 +167,7 @@
/**
* 寤虹珛鏃堕棿
*/
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
/**
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
index 1af4682..40292ce 100644
--- a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
@@ -5,27 +5,39 @@
<select id="selectFlowCard" resultType="java.util.Map">
select fc.order_number,
- concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
- od.quantity,
- round(ogd.total_area, 2) as total_area,
- od.perimeter,
- od.bend_radius,
- concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,'')) as remarks,
- od.other_columns,
- round(ogd.child_width) as width,
- round(ogd.child_height) as height,
- pd.separation,
- fc.technology_number
+ concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ od.quantity,
+ round(ogd.total_area, 2) as total_area,
+ od.perimeter,
+ od.bend_radius,
+ concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,'')) as remarks,
+ od.other_columns,
+ round(ogd.child_width) as width,
+ round(ogd.child_height) as height,
+ pd.separation
+ <if test="technologyNumber != 0">
+ ,fc.technology_number
+ </if>
from pp.flow_card as fc
- left join sd.order_glass_detail as ogd
- on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
- fc.technology_number = ogd.technology_number
- left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
- left join sd.product_detail as pd
- on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
- where fc.process_id = #{processId}
- and position(fc.technology_number in #{technologyNumber})
- group by fc.process_id, fc.order_number, fc.technology_number
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.product_detail as pd
+ on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+ where fc.process_id = #{processId}
+ <if test="technologyNumber != 0">
+ and a.layer = #{technologyNumber}
+ </if>
+ <if test="technologyNumber != 0">
+ and position(fc.technology_number in #{technologyNumber})
+ </if>
+ <if test="technologyNumber != 0">
+ group by fc.process_id, fc.order_number, fc.technology_number
+ </if>
+ <if test="technologyNumber == 0">
+ group by fc.process_id, fc.order_number
+ </if>
order by IF(sort != NULL || sort != '', sort, fc.order_number)
</select>
@@ -33,18 +45,26 @@
<select id="selectProject" resultType="java.util.Map">
select o.customer_name,
o.project,
- (select process from sd.order_glass_detail where order_id=fc.order_id and order_number=fc.order_number and technology_number=fc.technology_number) as process ,
+ (select process
+ from sd.order_glass_detail
+ where order_id = fc.order_id
+ and order_number = fc.order_number
+ and technology_number = fc.technology_number) as process,
od.edging_type,
- (select glass_child from sd.order_glass_detail where order_id=fc.order_id and order_number=fc.order_number and technology_number=fc.technology_number) as glass_child ,
+ (select glass_child
+ from sd.order_glass_detail
+ where order_id = fc.order_id
+ and order_number = fc.order_number
+ and technology_number = fc.technology_number) as glass_child,
od.product_name,
o.processing_note,
fc.process_id,
- SUM(od.quantity) as quantity,
- round(SUM(ogd.total_area), 2) as gross_area,
- sum(od.weight) as weight,
- 1 as technologyNumber,
- concat(fc.process_id, '/', 1) as processIdNumber,
- concat('瀵瑰簲鎴戝徃鍗曞彿',o.batch) AS otherRemarks
+ SUM(od.quantity) as quantity,
+ round(SUM(ogd.total_area), 2) as gross_area,
+ sum(od.weight) as weight,
+ 1 as technologyNumber,
+ concat(fc.process_id, '/', 1) as processIdNumber,
+ concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks
from pp.flow_card as fc
left join sd.order_glass_detail as ogd
on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -58,7 +78,8 @@
ogd.glass_child,
GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{processId}, 10)
+ where ogd.order_id = left (#{processId}
+ , 10)
and position(ogd.technology_number in #{technologyNumber})
GROUP BY order_id, order_number) as ogdc
on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
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 946882a..353453e 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
@@ -210,7 +210,13 @@
S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("7銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
-
+ Damage damage=new Damage();
+ damage.setGlassId(glassInfo.getGlassId());
+ damage.setWorkingProcedure("鍒囧壊");
+ damage.setLine(1001);
+ damage.setType(1);
+ damage.setRemark("杩涘崸寮忕悊鐗�");
+ damageService.insertDamage(damage);
}
@@ -654,6 +660,13 @@
log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
+ Damage damage=new Damage();
+ damage.setGlassId(glassInfo.getGlassId());
+ damage.setWorkingProcedure("鍒囧壊");
+ damage.setLine(1001);
+ damage.setType(1);
+ damage.setRemark("杩涘崸寮忕悊鐗�");
+ damageService.insertDamage(damage);
return Boolean.TRUE;
}
return Boolean.FALSE;
@@ -728,10 +741,6 @@
List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
jsonObject.append("currentCutTerritory", currentCutTerritorys);
//log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
- //纾ㄨ竟淇℃伅
- List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
- jsonObject.append("edgTasks", edgTasks);
-
//鍗у缂撳瓨绗煎唴淇℃伅
List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
@@ -771,4 +780,28 @@
}
}
+ @Scheduled(fixedDelay = 1000)
+ public void CacheGlassTaskss() {
+ JSONObject jsonObject = new JSONObject();
+ //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
+ //纾ㄨ竟淇℃伅
+ List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
+ jsonObject.append("edgTasks", edgTasks);
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("edgTasks");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ List<String> messages = webserver.getMessages();
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ webserver.clearMessages();
+ }
+ } else {
+ log.info("edgTasks is closed");
+ }
+ }
+ }
+ }
}
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 bdcf76a..47b23c2 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
@@ -210,7 +210,7 @@
baseMapper.updateById(bigStorageCageDetails);
bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
damage.setGlassId(bigStorageCageDetails.getGlassId());
- damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setWorkingProcedure("閽㈠寲");
damage.setLine(3001);
damage.setRemark("澶х悊鐗囩鐮存崯");
damage.setStatus(2);
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 fe4b12c..dd93257 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -1,7 +1,10 @@
package com.mes;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
@@ -28,9 +31,8 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
/**
* @Author : zhoush
@@ -195,7 +197,7 @@
public void ca(){
try {
// 鐩爣绯荤粺鐨凙PI URL
- String url = "http://192.168.3.119:8086/reportingWork/mesSave";
+ String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
@@ -205,9 +207,10 @@
con.setRequestProperty("Accept", "application/json");
con.setDoOutput(true);
- // 鍒涘缓娑堟伅浣�
- String jsonInputString = "灏忓粬";
- ReportingWork reportingWork=new ReportingWork();
+ // 鍒涘缓 JSON 瀵硅薄
+ JSONObject result = new JSONObject();
+
+ ReportingWork reportingWork = new ReportingWork();
reportingWork.setOrderId("NG24042301");
reportingWork.setProductionId("NG24042301A");
reportingWork.setProcessId("NG24042301A001");
@@ -221,11 +224,33 @@
reportingWork.setTeamsGroupsName("灏忓粬涓�鍙�");
reportingWork.setCreator("灏忓粬");
- ReportingWorkDetail reportingWorkDetail=new ReportingWorkDetail();
+ List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>();
+ ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail();
reportingWorkDetail.setTechnologyNumber(1);
reportingWorkDetail.setOrderNumber(1);
reportingWorkDetail.setCompletedQuantity(1);
reportingWorkDetail.setBreakageQuantity(0);
+ reportingWorkDetails.add(reportingWorkDetail);
+
+ ObjectMapper objectMapper = new ObjectMapper();
+
+ // 灏� ReportingWork 杞崲涓� JSONObject
+ JSONObject reportingWorkJson = new JSONObject(objectMapper.writeValueAsString(reportingWork));
+ reportingWorkJson.put("reportingWorkTime", reportingWork.getReportingWorkTime().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
+ // 灏� ReportingWorkDetail 鍒楄〃杞崲涓� JSONArray
+ JSONArray detailsJsonArray = new JSONArray(objectMapper.writeValueAsString(reportingWorkDetails));
+
+ // 灏� JSON 瀵硅薄鍜屾暟缁勬坊鍔犲埌缁撴灉瀵硅薄涓�
+ result.put("title", reportingWorkJson);
+ result.put("detail", detailsJsonArray);
+ result.put("type", 0);
+ result.put("userId", "admin");
+ result.put("userName", "admin");
+ result.put("qualityInsStatus", 0);
+
+ // 灏� result 瀵硅薄杞崲涓哄瓧绗︿覆
+ String jsonInputString = result.toString();
+ System.out.println("jsonInputString : " + result);
// 鍙戦�佽姹�
try (OutputStream os = con.getOutputStream()) {
byte[] input = jsonInputString.getBytes("utf-8");
@@ -235,6 +260,7 @@
// 鑾峰彇鍝嶅簲鐮�
int responseCode = con.getResponseCode();
System.out.println("Response Code : " + responseCode);
+
// 鑾峰彇鍝嶅簲鍐呭
try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) {
StringBuilder response = new StringBuilder();
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
index 0efdd00..5796939 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -45,15 +45,15 @@
@ApiOperation("//閽㈠寲鐮存崯鎷胯蛋鏀惧洖")
@PostMapping("/updateTemperingState") //閽㈠寲鍚庢樉绀哄嚭鐐夌殑鐗堝浘淇℃伅
public Result <Integer> updateTemperingState(@RequestBody Damage damage) {
+ TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
+ temperingGlassInfo.setState(damage.getStatus());
+ temperingGlassInfo.setGlassId(damage.getGlassId());
+ int result=temperingGlassInfoService.updateTemperingState(temperingGlassInfo);
if(damage.getStatus()>5) {
damage.setType(damage.getStatus());
damage.setStatus(1);
damageService.insertDamage(damage);
}
- TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
- temperingGlassInfo.setState(damage.getType());
- temperingGlassInfo.setGlassId(damage.getGlassId());
- int result=temperingGlassInfoService.updateTemperingState(temperingGlassInfo);
return Result.build(200, "鐮存崯鎴愬姛", result);
}
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 3ebd084..cca0371 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
@@ -128,6 +128,7 @@
@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, ""));
@@ -142,11 +143,11 @@
//鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勬墍鏈夌殑宸ヤ綅 - 鐜荤拑鏈弧娴佺▼鍗″強灞傛暟鐨勫伐浣� = 宸叉弧宸ヤ綅
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));
- }
+// 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;
}
@@ -156,47 +157,40 @@
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");
+ int printLayer = 1;
+ if (downGlassInfo.getLayer() != 0) {
+ queryWrapper.select("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity");
+ queryWrapper.groupBy("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "id");
+ queryWrapper.eq("layer", downGlassInfo.getLayer());
+ printLayer = downGlassInfo.getLayer();
+ } else {
+ queryWrapper.select("flow_card_id", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity");
+ queryWrapper.groupBy("flow_card_id", "width", "height", "filmsid", "thickness", "glass_type", "id");
+ }
List<Map<String, Object>> resultList = baseMapper.selectMaps(queryWrapper);
log.info("MES钀芥灦鏁版嵁:{}", resultList);
-
- List<Map<String, Object>> projectInfo = flowCardService.selectProject(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+ List<Map<String, Object>> projectInfo = flowCardService.selectProject(downGlassInfo.getFlowCardId(), printLayer);
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);
+ if (downGlassInfo.getLayer() != 0) {
+ int layer = (int) row1.get("layer");
+ int technology_number = (int) row.get("technology_number");
+ if (order_number == glass_type && technology_number == layer) {
+ quantity1 += 1;
+ }
+ } else {
+ if (order_number == glass_type) {
+ quantity1 += 1;
+ }
}
}
row.put("quantity1", quantity1);
@@ -225,19 +219,16 @@
@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());
+ List<Map<String, Object>> labelInfo;
+ if (downGlassInfo.getLayer() != 0) {
+ labelInfo = flowCardService.selectLabel(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+ } else {
+ labelInfo = flowCardService.selectLabel(downGlassInfo.getFlowCardId(), 1);
+ }
log.info("鏍囩鏁版嵁:{}", labelInfo);
for (Map<String, Object> row : resultList) {
@@ -246,37 +237,72 @@
for (Map<String, Object> row1 : labelInfo) {
int orderNumber = (int) row1.get("orderNumber");
int technologyNumber = (int) row1.get("technologyNumber");
- if (orderNumber == glass_type && technologyNumber == layer) {
+ if (downGlassInfo.getLayer() != 0) {
+ 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");
+ 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);
+ 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);
+ }
+ } else {
+ if (orderNumber == glass_type) {
+
+ 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);
+ }
}
}
}
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 27d3131..54db40d 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
@@ -131,10 +131,12 @@
@Scheduled(fixedDelay = 300)
public void plcShelfFull() {
List<DownWorkstation> list = downGlassInfoService.queryWorkStationIsFull();
+ S7control s7control = S7object.getinstance().plccontrol;
+ PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
if (CollectionUtils.isNotEmpty(list)) {
- S7control s7control = S7object.getinstance().plccontrol;
- PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 1);
+ }else{
+ s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 0);
}
}
@@ -639,7 +641,9 @@
return Boolean.FALSE;
}
} else {
- if (downStorageCageDetails.getWidth() > maxWidth || downStorageCageDetails.getHeight() > maxHeight) {
+ double firstLength = Math.max(downStorageCageDetails.getWidth(), downStorageCageDetails.getHeight());
+ double secondLength = Math.min(downStorageCageDetails.getWidth(), downStorageCageDetails.getHeight());
+ if (firstLength > maxWidth || secondLength > maxHeight) {
endCell = Const.G13_WORK_STATION;
} else {
DownWorkstation workstation;
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 b2693bb..6baf01e 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
@@ -172,9 +172,11 @@
.select("Top 1 *")
.eq("end_cell", Const.G13_WORK_STATION)
.lt("task_status", Const.UNLOAD_GLASS_DOWN)
- .orderByDesc("id")
+ .orderByAsc("id")
);
- jsonObject4.append("takeGlass", takeGlass);
+ if(takeGlass!=null){
+ jsonObject4.append("takeGlass", takeGlass);
+ }
ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("unloadglass");
if (sendwServer4 != null) {
--
Gitblit v1.8.0