wangfei
2025-02-19 30fd531c95ece1c0e7306cad138307dedd459d9a
Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject
9个文件已修改
125 ■■■■■ 已修改文件
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -247,12 +247,14 @@
     * 准备出笼102
     * 执行中103
     * 在车上104
     * 准备复位105
     */
    public static final Integer RAW_GLASS_STATE_IN = 100;
    public static final Integer RAW_GLASS_STATE_OUT = 101;
    public static final Integer RAW_GLASS_STATE_WAIT_OUT = 102;
    public static final Integer RAW_GLASS_STATE_RUNNING = 103;
    public static final Integer RAW_GLASS_STATE_CAR = 104;
    public static final Integer RAW_GLASS_STATE_RESET = 105;
    public static final List<Integer> RAW_GLASS_STATE_IN_ALL = Arrays.asList(100, 102, 103);
    public static final Integer RAW_GLASS_TASK_NEW = 0;
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.engineering.entity.Engineering;
import com.mes.glassinfo.entity.GlassInfo;
import java.util.List;
@@ -40,13 +41,19 @@
    Engineering selectInitiate(Integer state);
    Engineering selectInitiates(Integer state,Integer cell);
    /**
     * 查询是否有上片任务yw
     * 查询工程表是否已有工程号
     *
     * @return Engineering
     */
    Engineering selectUpInitiate(Integer state, Integer equipmentId);
    Engineering selectUpInitiate(String engineerId);
    /**
     * 查询小片表是否已有工程号
     *
     * @return Engineering
     */
    GlassInfo selectGlassinfoIsnull(String engineerId);
    /**
     * 查询上片任务
     *
     * @return Engineering
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -7,6 +7,8 @@
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.engineering.service.EngineeringService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.pp.entity.OptimizeProject;
import com.mes.pp.mapper.OptimizeProjectMapper;
import lombok.extern.slf4j.Slf4j;
@@ -33,6 +35,8 @@
    OptimizeProjectMapper optimizeProjectMapper;
    @Autowired
    private EngineeringMapper engineeringMapper;
    @Autowired
    private GlassInfoMapper glassInfoMapper;
    //开始/暂停任务
    @Override
@@ -114,8 +118,21 @@
    }
    @Override
    public Engineering selectUpInitiate(Integer state, Integer equipmentId) {
        return null;
    public Engineering selectUpInitiate(String engineerId) {
        QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
        wrapper.eq("engineer_id", engineerId)
                .last("limit 1");
        return engineeringMapper.selectOne(wrapper);
    }
    @Override
    public GlassInfo selectGlassinfoIsnull(String engineerId) {
        QueryWrapper<GlassInfo> wrapper = new QueryWrapper<>();
        wrapper.eq("engineer_id", engineerId)
                .last("limit 1");
        return glassInfoMapper.selectOne(wrapper);
    }
    @Override
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/entity/request/RawGlassRequest.java
@@ -39,4 +39,8 @@
     * 栅格号
     */
    private String slot;
    /**
     * 设备id
     */
    private Integer deviceId;
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
@@ -42,4 +42,6 @@
    String outWarehousingRequest(int leftingStation);
    boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) throws Exception;
    String shelfReset(Long slot);
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -103,11 +103,24 @@
    @Override
    public String UpdateQuantity(RawGlassRequest request) {
        update(
                new LambdaUpdateWrapper<RawGlassStorageDetails>()
                        .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity())
                        .eq(RawGlassStorageDetails::getSlot, request.getSlot())
                        .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
        RawGlassStorageDetails one = getOne(new LambdaQueryWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, request.getSlot())
                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
        if (null == one) {
            RawGlassStorageDetails details = new RawGlassStorageDetails();
            BeanUtils.copyProperties(request, details);
            details.setState(Const.RAW_GLASS_STATE_IN);
            save(details);
        }else{
            update(
                    new LambdaUpdateWrapper<RawGlassStorageDetails>()
                            .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity())
                            .set(RawGlassStorageDetails::getPatternWidth, request.getPatternWidth())
                            .set(RawGlassStorageDetails::getPatternHeight, request.getPatternHeight())
                            .set(RawGlassStorageDetails::getPatternThickness, request.getPatternThickness())
                            .set(RawGlassStorageDetails::getFilmsId, request.getFilmsId())
                            .eq(RawGlassStorageDetails::getSlot, request.getSlot())
                            .eq(RawGlassStorageDetails::getSlot, Const.RAW_GLASS_STATE_IN));
        }
        return "success";
    }
@@ -190,4 +203,13 @@
        readWriteEntity.setValue(value);
        return readWriteEntity;
    }
    @Override
    public String shelfReset(Long slot) {
        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slot)
                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RESET));
        //生成一条详情数据  仅记录架子状态
        return "success";
    }
}
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassTask.java
@@ -117,6 +117,11 @@
            log.info("执行入库任务");
            return;
        }
        flag = shelfResetTask();
        if (flag) {
            log.info("执行复位任务");
            return;
        }
        log.info("无任务执行,结束");
    }
@@ -280,6 +285,37 @@
        return Boolean.TRUE;
    }
    /**
     * 复位任务:1、点复位,立马生成复位任务 2、点出库修改工位详情内的状态为架子复位,定时任务扫描生成复位任务
     */
    public boolean shelfResetTask() throws Exception {
        List<RawGlassStorageDetails> rawGlassList = rawGlassStorageDetailsService.list(new LambdaQueryWrapper<RawGlassStorageDetails>()
                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RESET)
                .inSql(RawGlassStorageDetails::getSlot, "select slot from raw_glass_storage_station where enable_state = 1"));
        if (CollectionUtil.isEmpty(rawGlassList)) {
            log.info("系统没有需要复位的原片信息");
            return Boolean.FALSE;
        }
        //生成复位任务
        rawGlassStorageDetailsService.generateTask(rawGlassList.get(0).getSlot(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getShelf(), rawGlassList.get(0).getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_DISPATCH);
//        List<ReadWriteEntity> list = new ArrayList<>();
//        list.add(generateReadWriteEntity("CC.CC.taskWord", 1));
//        list.add(generateReadWriteEntity("CC.CC.taskSending", 1));
//        list.add(generateReadWriteEntity("CC.CC.startSlot", startSlot));
//        list.add(generateReadWriteEntity("CC.CC.endSlot", lefting));
//        miloService.writeToOpcWord(list);
        //修改复位任务状态
        rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
                .eq(RawGlassStorageDetails::getSlot, rawGlassList.get(0).getSlot())
                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RESET)
                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING));
        return Boolean.TRUE;
    }
    /**
     * 入库任务:吊装位有玻璃,先去工位表查询空格子,生成入库任务从吊装位到目标格子
     *
hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java
@@ -62,4 +62,10 @@
    return Result.build(
            200, "入库已完成,等待任务执行", rawGlassStorageDetailsService.outWarehousingRequest(leftingStation));
  }
  @ApiOperation("架子复位")
  @PostMapping("/shelfReset")
  public Result<String> shelfReset(Long slot) {
    return Result.success(rawGlassStorageDetailsService.shelfReset(slot));
  }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -77,12 +77,14 @@
    public  Result <Boolean> changeTask(@RequestBody Engineering engineering) {
        log.info("engineeringId:{}", engineering);
        UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
        if (upPattenUsage != null) {
        Engineering engineerings = engineeringService.selectUpInitiate(engineering.getEngineerId());
        GlassInfo glassInfos = engineeringService.selectGlassinfoIsnull(engineering.getEngineerId());
        if (upPattenUsage != null && engineerings != null && glassInfos != null) {
            boolean work = engineeringService.changeTasks(engineering);
            List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
            optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
            return Result.build(200, "开始上片", work);
        } else {
        } else if (upPattenUsage == null && engineerings == null && glassInfos == null) {
            List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectSaveUpPattenUsage(engineering.getEngineerId());
            log.info("将查询出的UpPattenUsage数据保存到数据库表里");
            upPattenUsageService.saveUpPattenUsage(upPattenUsages);
@@ -102,6 +104,11 @@
            }else {
                return Result.build(200, "保存失败"+engineering.getEngineerId(), false);
            }
        } else {
            upPattenUsageService.deleteTask(engineering.getEngineerId());
            engineeringService.deleteTask(engineering.getEngineerId());
            glassInfoService.deleteTask(engineering.getEngineerId());
            return Result.build(200, "请重新点击上片" + engineering.getEngineerId(), true);
        }
    }