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