From a4318c3f4c1424de21bc5dc42b3d986b171c1432 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期二, 04 三月 2025 14:18:27 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 85 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 3c9d90a..860e32e 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -1,13 +1,34 @@ package com.zy.asrs.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; import com.core.common.R; +import com.zy.asrs.domain.param.RingThroughParam; +import com.zy.asrs.entity.BasDevpPosition; import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.param.WcsDataSynchronizationParam; +import com.zy.asrs.entity.param.WcsRgvListParam; import com.zy.asrs.entity.param.WcsTaskDistributionParam; +import com.zy.asrs.entity.param.WcsTaskListParam; +import com.zy.asrs.service.BasDevpPositionService; import com.zy.asrs.service.OpenService; +import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil; +import com.zy.asrs.utils.Utils; +import com.zy.core.cache.SlaveConnection; +import com.zy.core.enums.SlaveType; +import com.zy.core.model.RgvSlave; +import com.zy.core.model.protocol.RgvProtocol; +import com.zy.core.properties.SlaveProperties; +import com.zy.core.thread.RgvThread; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -17,22 +38,81 @@ @Service public class OpenServiceImpl implements OpenService { - @Override - @Transactional - public List<String> queryStock() { - return null; - } + + @Autowired + private SlaveProperties slaveProperties; + @Autowired + private WrkMastService wrkMastService; + @Autowired + private BasDevpPositionService basDevpPositionService; + + @Value("${constant-parameters.perimeter}") + private Long perimeter; @Override @Transactional public R wcsTaskDistribution(WcsTaskDistributionParam param) { + Date now = new Date(); + WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", param.getTaskNo())); + if (!Cools.isEmpty(wrkMast1)){ + return R.error("宸ヤ綔鍙峰凡瀛樺湪").add("宸ヤ綔鍙峰凡瀛樺湪锛宼askNo="+param.getTaskNo()); + } WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(param.getTaskNo()); wrkMast.setSourceStaNo(param.getStartSta$()); wrkMast.setStaNo(param.getEndSta$()); wrkMast.setWrkSts(1L); wrkMast.setIoType(1); + wrkMast.setModiTime(now); + wrkMast.setAppeTime(now); + wrkMastService.insert(wrkMast); return R.ok(); } + @Override + @Transactional + public R wcsTaskStatus(Long timestamp) { + try{ + WcsDataSynchronizationParam wcsDataSynchronizationParam = new WcsDataSynchronizationParam(); + List<WcsTaskListParam> wcsTaskListParamList = new ArrayList<>(); + List<WcsRgvListParam> wcsRgvListParamList = new ArrayList<>(); + List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<>()); + List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position",true)); + + for (WrkMast wrkMast : wrkMastList){ + WcsTaskListParam wcsTaskListParam = new WcsTaskListParam(wrkMast); + wcsTaskListParamList.add(wcsTaskListParam); + } + for (RgvSlave rgv : slaveProperties.getRgv()) { + // 鑾峰彇RGV淇℃伅 + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); + if (rgvThread == null) { + continue; + } + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + continue; + } + WcsRgvListParam wcsRgvListParam = new WcsRgvListParam(); + wcsRgvListParam.setRgvNo(rgv.getId().toString()); + wcsRgvListParam.setTaskNo(Cools.isEmpty(rgvProtocol.getTaskNo1()) ? null:rgvProtocol.getTaskNo1().toString()); + wcsRgvListParam.setStatus(rgvProtocol.statusType.id); + wcsRgvListParam.setCurrPos(rgvProtocol.RgvPos); + wcsRgvListParam.setCurrSta(SortTheExecutionOfTheCarUtil.LatelyAndLessThanWcs(basDevpPositions,rgvProtocol.getRgvPos(),perimeter).toString()); + List<String> arrayList = new ArrayList<>(); + if (rgvProtocol.getAlarm()!=0){ + arrayList.add(rgvProtocol.getAlarm$()); + } + wcsRgvListParam.setError(arrayList); + wcsRgvListParamList.add(wcsRgvListParam); + } + wcsDataSynchronizationParam.setTaskList(wcsTaskListParamList); + wcsDataSynchronizationParam.setRgvList(wcsRgvListParamList); + wcsDataSynchronizationParam.setTimestamp(timestamp); + return R.ok().add(wcsDataSynchronizationParam); + } catch (Exception e){ + return R.error("寮傚父").add("寮傚父淇℃伅锛�"+e); + } + } + } -- Gitblit v1.9.1