*
L
2026-04-23 16c2b2af2ac3c9c4bc2496a171d041a48514906e
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,17 +1,18 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.Utils;
import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.RgvSlave;
@@ -20,6 +21,7 @@
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;
@@ -39,12 +41,17 @@
    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()));
        WrkMast wrkMast1 = wrkMastService.getOne(new QueryWrapper<WrkMast>().eq("wrk_no", param.getTaskNo()));
        if (!Cools.isEmpty(wrkMast1)){
            return R.error("工作号已存在").add("工作号已存在,taskNo="+param.getTaskNo());
        }
@@ -56,7 +63,7 @@
        wrkMast.setIoType(1);
        wrkMast.setModiTime(now);
        wrkMast.setAppeTime(now);
        wrkMastService.insert(wrkMast);
        wrkMastService.save(wrkMast);
        return R.ok();
    }
@@ -67,7 +74,9 @@
            WcsDataSynchronizationParam wcsDataSynchronizationParam = new WcsDataSynchronizationParam();
            List<WcsTaskListParam> wcsTaskListParamList = new ArrayList<>();
            List<WcsRgvListParam> wcsRgvListParamList = new ArrayList<>();
            List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<>());
            List<WrkMast> wrkMastList = wrkMastService.list(new QueryWrapper<>());
            List<BasDevpPosition> basDevpPositions = basDevpPositionService.list(new QueryWrapper<BasDevpPosition>().orderByAsc("plc_position"));
            for (WrkMast wrkMast : wrkMastList){
                WcsTaskListParam wcsTaskListParam = new WcsTaskListParam(wrkMast);
                wcsTaskListParamList.add(wcsTaskListParam);
@@ -85,7 +94,9 @@
                WcsRgvListParam wcsRgvListParam = new WcsRgvListParam();
                wcsRgvListParam.setRgvNo(rgv.getId().toString());
                wcsRgvListParam.setTaskNo(Cools.isEmpty(rgvProtocol.getTaskNo1()) ? null:rgvProtocol.getTaskNo1().toString());
                wcsRgvListParam.setStatus(rgvProtocol.statusType.desc);
                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$());