Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject
| | |
| | | * 准备出笼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; |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.mes.engineering.entity.Engineering; |
| | | import com.mes.glassinfo.entity.GlassInfo; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | 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 |
| | |
| | | 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; |
| | |
| | | OptimizeProjectMapper optimizeProjectMapper; |
| | | @Autowired |
| | | private EngineeringMapper engineeringMapper; |
| | | @Autowired |
| | | private GlassInfoMapper glassInfoMapper; |
| | | |
| | | //开始/暂停任务 |
| | | @Override |
| | |
| | | } |
| | | |
| | | @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 |
| | |
| | | * 栅格号 |
| | | */ |
| | | private String slot; |
| | | /** |
| | | * 设备id |
| | | */ |
| | | private Integer deviceId; |
| | | } |
| | |
| | | String outWarehousingRequest(int leftingStation); |
| | | |
| | | boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) throws Exception; |
| | | |
| | | String shelfReset(Long slot); |
| | | } |
| | |
| | | |
| | | @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"; |
| | | } |
| | | |
| | |
| | | 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"; |
| | | } |
| | | } |
| | |
| | | log.info("执行入库任务"); |
| | | return; |
| | | } |
| | | flag = shelfResetTask(); |
| | | if (flag) { |
| | | log.info("执行复位任务"); |
| | | return; |
| | | } |
| | | log.info("无任务执行,结束"); |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 入库任务:吊装位有玻璃,先去工位表查询空格子,生成入库任务从吊装位到目标格子 |
| | | * |
| | |
| | | return Result.build( |
| | | 200, "入库已完成,等待任务执行", rawGlassStorageDetailsService.outWarehousingRequest(leftingStation)); |
| | | } |
| | | |
| | | @ApiOperation("架子复位") |
| | | @PostMapping("/shelfReset") |
| | | public Result<String> shelfReset(Long slot) { |
| | | return Result.success(rawGlassStorageDetailsService.shelfReset(slot)); |
| | | } |
| | | } |
| | |
| | | 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); |
| | |
| | | }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); |
| | | } |
| | | |
| | | } |