From 9a942fabdc8afdc9610425641739d5b97cbcb79a Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期日, 24 三月 2024 10:01:18 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes
---
springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java | 156 +++++++++++++++++----
Albania_Mes-ui/src/api/home.js | 27 +++
.vscode/settings.json | 3
Albania_Mes-ui/src/views/home/index.vue | 38 ++++-
springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java | 1
springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java | 1
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 6
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java | 141 +++++++++++--------
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | 23 +++
9 files changed, 288 insertions(+), 108 deletions(-)
diff --git a/.vscode/settings.json b/.vscode/settings.json
index dcafc04..6d9bc64 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,5 +1,6 @@
{
"java.configuration.updateBuildConfiguration": "interactive",
"java.debug.settings.onBuildFailureProceed": true,
- "java.compile.nullAnalysis.mode": "automatic"
+ "java.compile.nullAnalysis.mode": "automatic",
+ "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx2G -Xms100m -Xlog:disable"
}
\ No newline at end of file
diff --git a/Albania_Mes-ui/src/api/home.js b/Albania_Mes-ui/src/api/home.js
index dccdaac..7f1d4e0 100644
--- a/Albania_Mes-ui/src/api/home.js
+++ b/Albania_Mes-ui/src/api/home.js
@@ -350,4 +350,31 @@
method: 'post',
data
})
+}
+//浜哄伐鎷胯蛋AnewMeasure
+export function ManualTake(data) {
+ return request({
+ url: '/home/ManualTake',
+ method: 'post',
+ data
+
+ })
+}
+//閲嶆柊娴嬮噺
+export function AnewMeasure(data) {
+ return request({
+ url: '/home/AnewMeasure',
+ method: 'post',
+ data
+
+ })
+}
+
+export function importData(data) {
+ return request({
+ url: '/home/importData',
+ method: 'post',
+ data
+
+ })
}
\ No newline at end of file
diff --git a/Albania_Mes-ui/src/views/home/index.vue b/Albania_Mes-ui/src/views/home/index.vue
index 2babbed..66c61af 100644
--- a/Albania_Mes-ui/src/views/home/index.vue
+++ b/Albania_Mes-ui/src/views/home/index.vue
@@ -451,7 +451,7 @@
<div id="fileinput" class="container">
<div class="header">
<div class="btn">
- <button @click="AllAdd">淇濆瓨</button>
+ <el-button type="primary" @click="importData()">淇濆瓨</el-button>
</div>
<div class="inp">
<input type="file" id="uploadExcel" multiple @change="Change" />
@@ -511,7 +511,9 @@
<el-button type="primary" @click="ManualMatching()" :disabled="SoftEmergencyStopState"
style="z-index: 999;">浜哄伐鍖归厤</el-button>
<el-button type="primary" @click="ManualTake()" :disabled="SoftEmergencyStopState"
- style="z-index: 999;">浜哄伐鍖归厤</el-button>
+ style="z-index: 999;">浜哄伐鎷胯蛋</el-button>
+ <el-button type="primary" @click="AnewMeasure()" :disabled="SoftEmergencyStopState"
+ style="z-index: 999;">閲嶆柊娴嬮噺</el-button>
</div>
<!--鏄剧ず-->
<div style="width:1000px;height: 720px;border: 2px solid #d1d1d1;margin: auto auto;">
@@ -655,7 +657,7 @@
Disabled, SelectPermissionByUserName, currentUsername, CompleteQueue,
isAllowReorderings,
- UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue
+ UpdateStroageCageByCell, FinishTask, SelectGlassInfo, StorageCageAddGlass, ClaimTasks, ModeChange, UpdateQueue,importData,ManualTake,AnewMeasure
} from "../../api/home";
@@ -1050,7 +1052,21 @@
},
//浜哄伐鎷胯蛋
ManualTake() {
-
+ let s="123";
+ ManualTake(s).then(res => {
+ if (res.data.message == 200) {
+ console.log(res.data.message);
+ }
+ })
+ },
+ //閲嶆柊娴嬮噺
+ AnewMeasure() {
+ let s="123";
+ AnewMeasure(s).then(res => {
+ if (res.data.message == 200) {
+ console.log(res.data.message);
+ }
+ })
},
Change(event) {
// 鑾峰彇鍒版枃浠跺す
@@ -1081,12 +1097,16 @@
Add() {
},
- Hide() {
+ importData() {
- },
- AllAdd() {
- //娣诲姞鏁版嵁杩涘悗鍙�
- console.log(this.dataList);
+ //let tbdata=JSON.stringify(this.dataList);
+ let tbdata=this.dataList;
+ console.log(tbdata);
+ importData(tbdata).then(res => {
+ if (res.data.message == 200) {
+ //this.$message.success(this.$t('Operation successful'));
+ }
+ });
},
del() {
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index caa4c27..2a2322c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -117,6 +117,7 @@
PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
//String PlcRequest=plcmes.getPlcParameter("GaToMES").getValue();//璇锋眰
+ //String MesSend=plcmes.getPlcParameter("MESToGaStatus").getValue();//鍙戦��
//double width=plcmes.getPlcParameter("Height").getValue();//瀹�
//double height=plcmes.getPlcParameter("width").getValue();//楂�
//鑾峰彇娴嬮噺鐨勯暱锛屽
@@ -132,14 +133,13 @@
String PlcRequest = "1";
+ String MesSend = "0";
double width = 402;
double height = 402;
//鍖归厤
- if ("1".equals(PlcRequest)) {
+ if ("1".equals(PlcRequest)&&"0".equals(PlcRequest)) {
GlassInfo MesureGlassinfo=HomeService.Normal(width, height, "1");
-
-
}
Queue LastQueue= QueueMapper.selectLastQueue();
// String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
index f47de89..f4c9d3e 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -1,6 +1,7 @@
package com.example.springboot.controller;
import java.sql.SQLException;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -16,6 +17,11 @@
import com.example.springboot.service.OutSliceServive;
import com.example.springboot.service.SpianService;
import com.example.springboot.service.StorageCageService;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+
+import cn.hutool.core.lang.Console;
import com.example.springboot.common.Result;
import com.example.springboot.component.Plchome;
@@ -482,10 +488,25 @@
public Result ModeChange(String flowcard,Integer method) {
return storageCageService.ModeChange(flowcard,method);
}
-
+
//娣诲姞鐜荤拑淇℃伅鍒版祴閲忎俊鎭�
@PostMapping("/UpdateQueue")
public Result UpdateQueue(@RequestBody GlassInfo glassInfo) {
return storageCageService.UpdateQueue(glassInfo);
}
+ //浜哄伐鎷胯蛋
+ @PostMapping("/ManualTake")
+ public Result ManualTake(@RequestBody String glassInfo) {
+ return storageCageService.ManualTake(glassInfo);
+ }
+ //閲嶆柊娴嬮噺
+ @PostMapping("/AnewMeasure")
+ public Result AnewMeasure(@RequestBody String glassInfo) {
+ return storageCageService.AnewMeasure(glassInfo);
+ }
+ //瀵煎叆鏁版嵁 锛氭坊鍔犵幓鐠冧俊鎭�
+ @PostMapping("/importData")
+ public Result importData(@RequestBody List<Map> IportDataStr) {
+ return storageCageService.AddGlassinfo(IportDataStr);
+ }
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java b/springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java
index 0a886d5..9a1653b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java
@@ -20,6 +20,7 @@
private Double thickness;// 鍘�
private Integer number;// 鏁伴噺
private Integer finishnumber;// 瀹屾垚鏁伴噺
+ private Integer sumtier;// 瀹屾垚鏁伴噺
private Integer measurenumber;// 娴嬮噺瀹屾垚鏁伴噺
private Integer cageno;//绗煎唴鏁伴噺
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java b/springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java
index 0a886d5..9a1653b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java
@@ -20,6 +20,7 @@
private Double thickness;// 鍘�
private Integer number;// 鏁伴噺
private Integer finishnumber;// 瀹屾垚鏁伴噺
+ private Integer sumtier;// 瀹屾垚鏁伴噺
private Integer measurenumber;// 娴嬮噺瀹屾垚鏁伴噺
private Integer cageno;//绗煎唴鏁伴噺
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
index fe169a3..65c1980 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -14,10 +14,11 @@
import com.example.springboot.entity.RolePermission;
import java.util.List;
+import java.util.Map;
@Mapper
public interface HomeMapper {
- //鏌ヨ姣忎釜绗煎瓙鐨勪娇鐢ㄦ儏鍐�
+ // 鏌ヨ姣忎釜绗煎瓙鐨勪娇鐢ㄦ儏鍐�
@Select("select cage,round(100-(21-sum(if(state>0,1,state)))/21*100) as cell,21-sum(if(state>0,1,state)) as state from (select cage,cell,max(state) as state from storage_cage group by cage,cell) as cages group by cage")
List<StorageCage> selectAll();
@@ -39,8 +40,6 @@
// 鏌ヨ5-1绗煎灞傛牸瀛愮姸鎬�
@Select("SELECT case when tier=1 then cage else 0 end as cage,case when tier=1 then state else 0 end as state,sum(case when tier=1 then glasswidth/2750*2 else 0 end) as glasswidth,sum(case when tier=2 then glasswidth/2750*2 else 0 end) as width from storage_cage where cage<=5 group by cage,cell order by cage desc,cell desc")
List<StorageCage> selectRack4();
-
-
// 鏍规嵁浠诲姟绫诲瀷鏌ヨ褰撳墠姝e湪鍑虹墖锛岃繘鐗囩殑鐜荤拑淇℃伅
@Select("select * from storage_cage where state=#{task_type}")
@@ -64,17 +63,17 @@
// 鎵嬪姩瀹屾垚浠诲姟
@Update("update storage_task set task_state=1 where task_type=#{task_type} and glass_id=#{glassid}")
- void UpdateTask(@Param("task_type") Integer task_type,String glassid);
+ void UpdateTask(@Param("task_type") Integer task_type, String glassid);
// 鎵嬪姩瀹屾垚杩涚墖浠诲姟淇敼绗煎瓙鏁版嵁
@Update("update storage_cage set state=1 where glass_id=#{glassid} and state=2")
void UpdateCageTask1(@Param("glassid") String glassid);
- //鑾峰彇鎶ヨ淇℃伅
+ // 鑾峰彇鎶ヨ淇℃伅
@Select("select id,content,timeon as timeons,endTime from alarmmg where endTime is null")
List<alarmmg> SelectAlarmmgInfo();
- //鑾峰彇鐞嗙墖绗煎唴鐜荤拑淇℃伅
+ // 鑾峰彇鐞嗙墖绗煎唴鐜荤拑淇℃伅
@Select("select * from storage_cage where position(#{cage} in ifnull(glass_id,\"\"))")
List<StorageCage> SelectCageInfo(String cage);
@@ -82,11 +81,11 @@
@Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,listid=null,boxid=null,FrameBarcode=null where glass_id=#{glassid}")
void DeleteByGlassID(String glassid);
- //鏌ヨ灏忚溅浣嶇疆
+ // 鏌ヨ灏忚溅浣嶇疆
@Select("select * from car_position")
List<CarPosition> Loadcarlist();
- //鏌ヨ鎿嶄綔瀵嗙爜
+ // 鏌ヨ鎿嶄綔瀵嗙爜
@Select("select dianqimima from user where id=1")
String SelectPassword();
@@ -94,93 +93,95 @@
// @Select("select * from storage_cage where glass_id=#{glassid}")
// StorageCage SelectGlassInfo(String glassid);
- //鏍规嵁鐜荤拑id鏌ヨ鐞嗙墖绗间俊鎭�
+ // 鏍规嵁鐜荤拑id鏌ヨ鐞嗙墖绗间俊鎭�
@Select("select * from storage_cage where glass_id=#{glassid}")
List<StorageCage> SelectStorageInfoByGlassId(String glassid);
- //鏌ヨ鐜荤拑淇℃伅
-// @Select("select * from glass where glassid=#{glassid}")
+ // 鏌ヨ鐜荤拑淇℃伅
+ // @Select("select * from glass where glassid=#{glassid}")
@Select("SELECT ordernumber,listnumber,boxnumber,barcode,glasslength,glassheight,glasslength_mm,glassheight_mm FROM north_glass_buffer1 where barcode=#{barcode}")
north_glass_buffer1 SelectGlassByGlassID(String barcode);
- //鍚敤/绂佺敤鐞嗙墖绗兼牸瀛�
+ // 鍚敤/绂佺敤鐞嗙墖绗兼牸瀛�
@Update("update storage_cage set disabled=#{disabled} where cage=#{cage} and cell=#{cell}")
void Disabled(short cage, short cell, short disabled);
- //鐞嗙墖绗兼柊澧炵幓鐠�
+ // 鐞嗙墖绗兼柊澧炵幓鐠�
@Update("update storage_cage set state=1,glass_id=#{glass.glassId},order_id=#{glass.orderId},glasswidth=#{glass.glasswidth},glassheight=#{glass.glassheight},glasswidthmm=#{glass.glasswidthmm},glassheightmm=#{glass.glassheightmm},listid=#{glass.listId},boxid=#{glass.boxId} where cage=#{cage} and cell=#{cell} and tier=#{tier}")
void Inglassid(Queue glass, short cage, short cell, short tier);
- //鏌ヨ鐞嗙墖绗间腑鏄惁鏈夋鐜荤拑
+ // 鏌ヨ鐞嗙墖绗间腑鏄惁鏈夋鐜荤拑
@Select("select count(*) from storage_cage where glass_id=#{glassId}")
short SelectStorageByGlassId(String glassId);
- //鏍规嵁璁㈠崟鏌ヨ鐜荤拑淇℃伅
+ // 鏍规嵁璁㈠崟鏌ヨ鐜荤拑淇℃伅
@Select("select * from north_glass_buffer1 where position(#{orderid} in ordernumber)")
List<north_glass_buffer1> SelectGlass(String orderid);
- //鑾峰彇涓婄墖闃熷垪淇℃伅
+ // 鑾峰彇涓婄墖闃熷垪淇℃伅
@Select("select * from queue where id=#{id}")
Queue GetQueueInfo(int id);
- //鎵嬪姩娣诲姞鎵爜浣嶇幓鐠�
+ // 鎵嬪姩娣诲姞鎵爜浣嶇幓鐠�
@Update("update queue set glassid=#{queue.glassId},orderid=#{queue.orderId},listId=#{queue.listId},boxId=#{queue.boxId},glasswidth=#{queue.glasswidth},glassheight=#{queue.glassheight},glasswidthmm=#{queue.glasswidthmm},glassheightmm=#{queue.glassheightmm},state=1 where id=#{id}")
- void InsertQueueGlassId(Queue queue,Short id);
+ void InsertQueueGlassId(Queue queue, Short id);
- //纭鎵爜浣嶇幓鐠冧俊鎭�
+ // 纭鎵爜浣嶇幓鐠冧俊鎭�
@Update("update queue set state=1 where id=1")
void UpdateQueueState();
- //鎵嬪姩娣诲姞鎵爜浣嶇幓鐠�
+ // 鎵嬪姩娣诲姞鎵爜浣嶇幓鐠�
@Update("update queue set glassid=null,orderid=null,listid=null,boxid=null,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,state=0 where id=#{id}")
void DeleteQueueGlass(String id);
- //鏌ヨ姝よ鍗曞湪鐞嗙墖绗奸噷鐨勭幓鐠冩暟
+ // 鏌ヨ姝よ鍗曞湪鐞嗙墖绗奸噷鐨勭幓鐠冩暟
@Select("select count(*) from storage_cage where order_id=#{orderid}")
Short SelectGlassNo(String orderid);
- //鏍规嵁鐜荤拑id浠庡鎴疯〃鏌ヨ鏁版嵁
+ // 鏍规嵁鐜荤拑id浠庡鎴疯〃鏌ヨ鏁版嵁
@Select("select * from north_glass_buffer1 where barcode=#{glassid}")
north_glass_buffer1 SelectBoxNo(String glassid);
- //鏌ヨ鍑虹墖闃熷垪淇℃伅
+ // 鏌ヨ鍑虹墖闃熷垪淇℃伅
@Select("select * from out_slice order by sequence")
List<Out_slice> SelectProductionqueue();
- //鏍规嵁鐜荤拑id鏌ヨ绗煎唴鐜荤拑淇℃伅
+ // 鏍规嵁鐜荤拑id鏌ヨ绗煎唴鐜荤拑淇℃伅
@Select("select * from storage_cage where glass_id=#{glassid}")
StorageCage SelectStorageGlassById(String glassid);
- //鏍规嵁鐜荤拑id鏌ヨ绗煎唴鐜荤拑淇℃伅
+ // 鏍规嵁鐜荤拑id鏌ヨ绗煎唴鐜荤拑淇℃伅
@Select("select * from storage_cage where glass_id=#{glassid}")
List<StorageCage> SelectStoragesGlassById(String glassid);
-
// //鏍规嵁鐜荤拑id鍒犻櫎鍑虹墖闃熷垪鐜荤拑
- // @Update("update out_slice set state=4 where barcode=#{FrameNo} and (state=0 or state=1 or state=2)")
+ // @Update("update out_slice set state=4 where barcode=#{FrameNo} and (state=0
+ // or state=1 or state=2)")
// void DeleteProductionQueueGlass(String id);
- //鏍规嵁閾濇id鏌ヨ瀵瑰簲鐜荤拑淇℃伅
+ // 鏍规嵁閾濇id鏌ヨ瀵瑰簲鐜荤拑淇℃伅
@Select("select * from north_glass_buffer1 where FrameBarcode=#{FrameBarcode}")
List<north_glass_buffer1> SelectAluminumFrameInfoById(String FrameBarcode);
-
- //鏍规嵁鐜荤拑id鏌ヨ鍑虹墖闃熷垪淇℃伅
+ // 鏍规嵁鐜荤拑id鏌ヨ鍑虹墖闃熷垪淇℃伅
@Select("select * from out_slice where glassid=#{getbarcode}")
Out_slice SelectQueueByglassid(String getbarcode);
- //娣诲姞鍑虹墖闃熷垪
+ // 娣诲姞鍑虹墖闃熷垪
@Insert("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`, `sequence`, `time` ,`position` ,`orderid` ,`listid` ,`boxid` ,`glasswidthmm` ,`glassheightmm` ,`framewidthmm` ,`frameheightmm` ,`framestate` ) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, #{state}, #{flip}, #{sequence}, now(), #{position}, #{orderid}, #{listid}, #{boxid}, #{glasswidth}, #{glassheight}, #{framewidthmm}, #{frameheightmm}, 0);")
- void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm, int sequence, String position, Short state,String orderid, String listid, String boxid, String glasswidth, String glassheight,String framewidthmm,String frameheightmm);
+ void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm,
+ int sequence, String position, Short state, String orderid, String listid, String boxid, String glasswidth,
+ String glassheight, String framewidthmm, String frameheightmm);
- //鍑虹墖闃熷垪璋冨簭
+ // 鍑虹墖闃熷垪璋冨簭
@Update("update out_slice set sequence=#{sequence} where glassid=#{glassId}")
- void UpdateOutSliceSequence(String glassId,int sequence);
+ void UpdateOutSliceSequence(String glassId, int sequence);
- //鏌ヨ鍑虹墖闃熷垪鏈�澶ч『搴�
+ // 鏌ヨ鍑虹墖闃熷垪鏈�澶ч『搴�
@Select("select ifnull(max(sequence),0)+1 from out_slice ")
Short SelectMaxSquence();
- //鏌ヨ鐢ㄦ埛鏉冮檺
+
+ // 鏌ヨ鐢ㄦ埛鏉冮檺
@Select("select rp.* from role_permission rp inner join user r on rp.role_id=r.role_id and r.username=#{username} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35 or permission_id=36 or permission_id=37 or permission_id=38 or permission_id=39)")
List<RolePermission> SelectPermissionByUserName(String username);
@@ -188,85 +189,84 @@
// @Update("update out_slice set state=2 where id=#{id}")
// void CompleteQueue(String id);
- //鏍规嵁鐜荤拑瀹屾垚鍑虹墖浠诲姟
+ // 鏍规嵁鐜荤拑瀹屾垚鍑虹墖浠诲姟
@Update("update out_slice set state=2 where glassid=#{glassid}")
void CompleteQueueByGlassId(String glassid);
- //鏌ヨ閾濇id瀵瑰簲鐜荤拑瀹屾垚鏁伴噺
+ // 鏌ヨ閾濇id瀵瑰簲鐜荤拑瀹屾垚鏁伴噺
@Select("select count(*) from out_slice where barcode=#{frameid} and state!=4")
Short SelectCountByFrameNo(String frameid);
- //鍒犻櫎宸插畬鎴愮殑浠诲姟
+ // 鍒犻櫎宸插畬鎴愮殑浠诲姟
@Delete("delete from out_slice where Barcode=#{frameid}")
void CompleteQueueByFrameNo(String frameid);
- //鏌ヨ绗煎唴鏍煎瓙鍓╀綑瀹藉害
+ // 鏌ヨ绗煎唴鏍煎瓙鍓╀綑瀹藉害
@Select("Select width from storage_cage where cage=#{cage} and cell=#{cell} limit 1")
Double SelectCageWidth(short cage, short cell);
- //淇敼鍑虹墖闃熷垪鐜荤拑鐘舵�佷负缂哄け
+ // 淇敼鍑虹墖闃熷垪鐜荤拑鐘舵�佷负缂哄け
@Update("update out_slice set state=3 where glassId=#{glassid} and state<3")
void UpdateOutSliceGlass(String glassid);
- //鏌ヨ鏈畬鎴愮殑浠诲姟
+ // 鏌ヨ鏈畬鎴愮殑浠诲姟
@Select("select * from storage_task where task_state=0 and task_type=#{task_type}")
List<StorageTask> SelectTaskByState(int task_type);
- //淇敼鍑虹墖闃熷垪閾濇鐘舵��
+ // 淇敼鍑虹墖闃熷垪閾濇鐘舵��
@Update("update out_slice set framestate=1 where barcode=#{frameno}")
void FrameStateUpdate(String frameno);
- //鏌ヨ褰撳墠閾濇淇℃伅
+ // 鏌ヨ褰撳墠閾濇淇℃伅
@Select("select * from out_slice where framestate=0 order by id limit 1")
Out_slice SelectCurrentFrame();
- //鏍规嵁鐜荤拑id鏌ヨ浠诲姟淇℃伅
+ // 鏍规嵁鐜荤拑id鏌ヨ浠诲姟淇℃伅
@Select("select task_type from storage_task where glass_id=#{glassid} and task_state!=1")
Short SelectTaskByGlassId(String glassid);
- //淇敼鏍煎瓙瀹藉害
+ // 淇敼鏍煎瓙瀹藉害
@Update("update storage_cage set width=width+#{width} where cage=#{cage} and cell=#{cell};")
void UpdataCageWidth(double width, int cage, int cell);
- //鑾峰彇閾濇鏈夋病鏈夋鍦ㄥ嚭鐗囩殑鐜荤拑
+ // 鑾峰彇閾濇鏈夋病鏈夋鍦ㄥ嚭鐗囩殑鐜荤拑
@Select("select count(*) from out_slice where barcode=#{frameNo} and state=1")
Short SelectOutingQueueCount(String frameNo);
-
- //鏌ヨ鐞嗙墖绗煎唴淇℃伅
+ // 鏌ヨ鐞嗙墖绗煎唴淇℃伅
@Select("select * from storage_cage")
List<StorageCage> SelectStorageCageInfo();
- //鍒犻櫎鏍煎瓙鍐呯幓鐠冧俊鎭�
+ // 鍒犻櫎鏍煎瓙鍐呯幓鐠冧俊鎭�
@Update("update storage_cage set width=5000,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,thickness=null,glasstype=null,number=null where cell=#{cell}")
void DeleteStroageCageByCell(Integer cell);
-
- //淇敼鏍煎瓙鐜荤拑鏁伴噺
+
+ // 淇敼鏍煎瓙鐜荤拑鏁伴噺
@Update("update storage_cage set number=ifnull(number,0)+#{num} where cell=#{cell}")
void updateStroageCageByCell(Integer cell, Integer num);
- //璁$畻鏍煎瓙鍐呭墿浣欏搴�
+ // 璁$畻鏍煎瓙鍐呭墿浣欏搴�
@Update("update storage_cage set width=5000-(glasswidth+100)*number where cell=#{cell}")
void UpdateStroageCageWidthByCell(Integer cell);
- //鏍规嵁浠诲姟绫诲瀷鑾峰彇浠诲姟
+ // 鏍规嵁浠诲姟绫诲瀷鑾峰彇浠诲姟
@Select("select * from storage_task where task_type=#{task_type} and task_state=0")
List<StorageTask> SelectStorageTask(int task_type);
-
- //鏍规嵁id浠诲姟
+
+ // 鏍规嵁id浠诲姟
@Select("select * from storage_task where id=#{id}")
StorageTask SelectStorageTaskById(int id);
- //鏍规嵁鏍煎瓙鏌ヨ鐜荤拑淇℃伅
+ // 鏍规嵁鏍煎瓙鏌ヨ鐜荤拑淇℃伅
@Select("select * from storage_cage where cell=#{cell}")
StorageCage SelectStorageByCell(String cell);
- //鎵嬪姩瀹屾垚浠诲姟
+ // 鎵嬪姩瀹屾垚浠诲姟
@Select("update storage_task set task_state=1 where id=1429")
void FinishTask(Integer id);
@Select("select gi.* from glassinfo gi inner join flowcard fc on gi.flowcard=fc.flowcard where fc.state!=2 and position(#{width} in gi.width) and position(#{height} in gi.height) and position(#{thickness} in gi.thickness) and position(#{films} in gi.films) group by gi.id")
- List<GlassInfo> SelectGlassInfo(String width,String height,String thickness,String films);
+ List<GlassInfo> SelectGlassInfo(String width, String height, String thickness, String films);
@Update("update storage_cage set glasstype=#{glassInfo.glasstype},glasswidth=#{glassInfo.width},glassheight=#{glassInfo.height},thickness=#{glassInfo.thickness},films=#{glassInfo.films},number=0 where cell=#{cell}")
void StorageCageAddGlass(String cell, GlassInfo glassInfo);
@@ -284,13 +284,32 @@
void ModeChange(String flowcard, int method);
@Update("update queue set flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},state=1 where state<=0")
- void UpdateQueue(String flowcard,double width,double height,Integer glasstype);
+ void UpdateQueue(String flowcard, double width, double height, Integer glasstype);
@Update("update glassinfo set finishnumber=ifnull(finishnumber,0)+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}")
void AddGlassNo(String flowcard, Integer mateid, Integer geTier);
-
+
+ // 娣诲姞鍑虹墖闃熷垪
+ @Insert("INSERT INTO glassinfo (`flowcard`, `glasstype`, `mateid`, `glassid`, `tier`, `films`, `width`, `height`, `thickness`, `number`, `finishnumber`, `sumtier`, `measurenumber`)"
+ +
+ " VALUES (#{flowcard}, #{glasstype}, #{mateid}, #{glassid}, #{tier}, #{films}, #{width}, #{height}, #{thickness}, #{number}, 0, #{sumtier}, 0)")
+ void AddGlassinfo(String flowcard, Integer glasstype, Integer mateid, String glassid, Integer tier, String films,
+ Double width, Double height, Double thickness, Integer number, Integer sumtier);
+
+ // 鏈�澶х幓鐠冪被鍨�
+ @Select("select max(glasstype)+1 from glassinfo")
+ Integer SelectMaxType();
+
+ // 鏌ヨ鍏ㄩ儴鐜荤拑绫诲瀷
+ @Select("select CONCAT(IFNULL(width,''),'_',IFNULL(height,''),'_',IFNULL(thickness,''),'_',IFNULL(films,'')) as type,glasstype from glassinfo GROUP BY width,height,thickness,films")
+ List<Map> SelectType();
+
+ // 鏌ヨ鎬诲眰鏁�
+ @Select("SELECT CONCAT(IFNULL(flowcard,''),'_',IFNULL(mateid,'')),count(*) as tiersum FROM `glassinfo` group by flowcard,mateid")
+ List<Map> Selecttiersum();
// 鏌ヨ绗煎唴鐜荤拑淇℃伅
@Select("select * from storage_cage where cage=#{cage} order by id desc")
List<StorageCage> SelectStorageCageByCage(Integer cage);
+
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
index e624744..883b3db 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
@@ -5,11 +5,13 @@
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.springboot.common.Result;
+import com.example.springboot.component.PLCAutoMes;
import com.example.springboot.component.Plchome;
import com.example.springboot.component.S7control;
import com.example.springboot.entity.FlowCard;
@@ -17,7 +19,9 @@
import com.example.springboot.entity.Queue;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.StorageTask;
+import com.example.springboot.entity.device.PlcParameterObject;
import com.example.springboot.mapper.HomeMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
@Service
public class StorageCageService {
@@ -236,80 +240,80 @@
return storageTasks;
}
- //鎵嬪姩瀹屾垚浠诲姟
+ // 鎵嬪姩瀹屾垚浠诲姟
public Result FinishTask(Integer id) {
- StorageTask storageTask = homeMapper.SelectStorageTaskById(id);//鑾峰彇浠诲姟淇℃伅
- homeMapper.FinishTask(storageTask.getId());//瀹屾垚浠诲姟
- if(storageTask.getTaskType().equals("0")){
- UpdateStroageCageByCell(Integer.parseInt(storageTask.getLoadrack()),1);//鐜荤拑鏁伴噺+1
- }else{
+ StorageTask storageTask = homeMapper.SelectStorageTaskById(id);// 鑾峰彇浠诲姟淇℃伅
+ homeMapper.FinishTask(storageTask.getId());// 瀹屾垚浠诲姟
+ if (storageTask.getTaskType().equals("0")) {
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getLoadrack()), 1);// 鐜荤拑鏁伴噺+1
+ } else {
StorageCage storageCage = homeMapper.SelectStorageByCell(storageTask.getShelfRack());
- if(storageCage.getNumber()>1){
- UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()),-1);//鐜荤拑鏁伴噺-1
- }else{
- UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()),0);//娓呴櫎鏍煎唴淇℃伅
+ if (storageCage.getNumber() > 1) {
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()), -1);// 鐜荤拑鏁伴噺-1
+ } else {
+ UpdateStroageCageByCell(Integer.parseInt(storageTask.getShelfRack()), 0);// 娓呴櫎鏍煎唴淇℃伅
}
- homeMapper.AddGlassNo(storageTask.getFlowcard(),storageTask.getMateid(),storageTask.geTier());//娣诲姞鍑虹墖瀹屾垚鏁伴噺
+ homeMapper.AddGlassNo(storageTask.getFlowcard(), storageTask.getMateid(), storageTask.geTier());// 娣诲姞鍑虹墖瀹屾垚鏁伴噺
}
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
}
-
- //鏌ヨ鐜荤拑淇℃伅
- public Result SelectGlassInfo(String width,String height,String thickness,String films) {
- List<GlassInfo> glassInfoList = homeMapper.SelectGlassInfo(width,height,thickness,films);
+ // 鏌ヨ鐜荤拑淇℃伅
+ public Result SelectGlassInfo(String width, String height, String thickness, String films) {
+ List<GlassInfo> glassInfoList = homeMapper.SelectGlassInfo(width, height, thickness, films);
Map<String, Object> map = new HashMap<>();
map.put("StorageCageAddInfo", glassInfoList);
return Result.success(map);
}
- //娣诲姞鐜荤拑鍒版牸瀛愬唴
- public Result StorageCageAddGlass(String cell,GlassInfo glassInfo) {
- homeMapper.StorageCageAddGlass(cell,glassInfo);
- UpdateStroageCageByCell(Integer.parseInt(cell),1);
+ // 娣诲姞鐜荤拑鍒版牸瀛愬唴
+ public Result StorageCageAddGlass(String cell, GlassInfo glassInfo) {
+ homeMapper.StorageCageAddGlass(cell, glassInfo);
+ UpdateStroageCageByCell(Integer.parseInt(cell), 1);
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
}
- //鏌ヨ璁㈠崟浠诲姟
+ // 鏌ヨ璁㈠崟浠诲姟
public List<FlowCard> SelectOrderTask() {
- List<FlowCard> OrderTask=homeMapper.SelectOrderTask();
+ List<FlowCard> OrderTask = homeMapper.SelectOrderTask();
for (FlowCard flowcard : OrderTask) {
flowcard.setglassinfo(homeMapper.SelectOrderView(flowcard.getFlowcard()));
}
return OrderTask;
}
- //寮�濮嬩换鍔�
+ // 寮�濮嬩换鍔�
public Result ClaimTasks(String flowcard, Integer state) {
- if(state==1){
- homeMapper.ClaimTasks(flowcard,0);
- }else{
- homeMapper.ClaimTasks(flowcard,1);
+ if (state == 1) {
+ homeMapper.ClaimTasks(flowcard, 0);
+ } else {
+ homeMapper.ClaimTasks(flowcard, 1);
}
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
}
- //浠诲姟妯″紡淇敼
+ // 浠诲姟妯″紡淇敼
public Result ModeChange(String flowcard, Integer method) {
- if(method==1){
- homeMapper.ModeChange(flowcard,0);
- }else{
- homeMapper.ModeChange(flowcard,1);
+ if (method == 1) {
+ homeMapper.ModeChange(flowcard, 0);
+ } else {
+ homeMapper.ModeChange(flowcard, 1);
}
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
}
- //淇敼娴嬮噺淇℃伅
+ // 淇敼娴嬮噺淇℃伅
public Result UpdateQueue(GlassInfo glassInfo) {
- homeMapper.UpdateQueue(glassInfo.getFlowcard(),glassInfo.getWidth(),glassInfo.getHeight(),glassInfo.getGlasstype());
+ homeMapper.UpdateQueue(glassInfo.getFlowcard(), glassInfo.getWidth(), glassInfo.getHeight(),
+ glassInfo.getGlasstype());
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
@@ -319,4 +323,90 @@
return homeMapper.SelectStorageCageByCage(cage);
}
+ // 浜哄伐鎷胯蛋
+ public Result ManualTake(String glassInfo) {
+ // 璇诲彇DB105鍖烘枃浠�
+ PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+ // 绉婚櫎
+ // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
+ // (short) 3);
+ // plcmes.getPlcParameter("GaToMES").setValue("3");
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+ // 閲嶆柊娴嬮噺
+ public Result AnewMeasure(String glassInfo) {
+ // 璇诲彇DB105鍖烘枃浠�
+ PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+ // 閲嶆柊娴嬮噺
+ // S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
+ // (short) 2);
+ // plcmes.getPlcParameter("GaToMES").setValue("2");
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+ // 娣诲姞灏忕墖淇℃伅
+ public Result AddGlassinfo(List<Map> IportDataStr) {
+
+ // 绛涢�夊鐞嗘暟鎹� 1.鍘婚櫎鏃犵敤鏁版嵁 2.璁$畻閰嶇墖ID 3.璁$畻ID 4. 璁$畻鎬诲眰鏁�
+ List<Map> TypeDatas = homeMapper.SelectType();
+ Map<String, String> TypeData = new HashMap<String, String>();// 寰楀埌澶勭悊瀹屽悗鎵�鏈夌殑绫诲瀷
+ Map<String, Integer> groupby=new HashMap<String, Integer>(); // 寰楀埌澶勭悊瀹屽悗鎵�鏈夋�诲眰鏁�;
+
+ List<Map> RemoveErrorData = IportDataStr.stream()
+ .filter(item -> (item.get("order") != null && item.get("glasstype") != null && item.get("tier") != null
+ &&
+ item.get("films") != null && item.get("base") != null && item.get("height") != null
+ && item.get("thickness") != null && item.get("quantity") != null&& item.get("matching") != null))
+ .collect(Collectors.toList());
+
+ TypeDatas.forEach(item -> {
+ TypeData.put(item.get("type").toString(), item.get("glasstype").toString());
+ });
+
+ RemoveErrorData.forEach(item -> {
+ String key=item.get("order").toString()+"_"+item.get("matching").toString();
+ if (groupby.get(key)!=null) {
+ Integer Tiers=groupby.get(key)+1;
+ groupby.put(key, Tiers);
+ }else{
+ groupby.put(key, 1);
+ }
+ });
+
+ System.out.println(RemoveErrorData.size());
+ // 澶勭悊瀹屾垚 娣诲姞鏁版嵁搴�
+ for (Map map : RemoveErrorData) {
+ String key = map.get("base").toString() + "_" + map.get("height").toString() + "_"
+ + map.get("thickness").toString() + "_" + map.get("films").toString();
+
+ String tierkey = map.get("order").toString() + "_" + map.get("matching").toString();
+
+ String value = TypeData.get(key);
+ Integer glasstype;
+ if (TypeData.get(key) == null) {
+ glasstype = homeMapper.SelectMaxType();
+ } else {
+ glasstype = Integer.valueOf(value);
+ }
+ homeMapper.AddGlassinfo(map.get("order").toString(), glasstype,
+ Integer.parseInt(map.get("glasstype").toString()) // 闇�瑕佽绠� 閰嶇墖ID
+ , glasstype+"" // 闇�瑕佽绠� 鐜荤拑ID
+ , Integer.parseInt(map.get("tier").toString()), map.get("films").toString(),
+ Double.parseDouble(map.get("base").toString()), Double.parseDouble(map.get("height").toString()),
+ Double.parseDouble(map.get("thickness").toString()),
+ Integer.parseInt(map.get("quantity").toString()),groupby.get(tierkey));// 闇�瑕佽绠楁�诲眰鏁�
+ }
+ Map<String, Object> ResultCode = new HashMap<>();
+ ResultCode.put("message", "200");
+ return Result.success(ResultCode);
+ }
+
+
+
+
}
--
Gitblit v1.8.0