| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.kangaroohy.milo.model.ReadWriteEntity; |
| | | import com.kangaroohy.milo.service.MiloService; |
| | | import com.mes.common.config.Const; |
| | | import com.mes.rawglassdetails.entity.RawGlassStorageDetails; |
| | | import com.mes.rawglassdetails.entity.request.RawGlassRequest; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | RawGlassStorageTaskService rawGlassStorageTaskService; |
| | | |
| | | @Autowired(required = false) |
| | | MiloService miloService; |
| | | |
| | | @Override |
| | | public boolean deleteRawGlassStorageDetails(String device_id) { |
| | |
| | | } |
| | | Integer shelf = shelfList.get(0); |
| | | log.info("生成任务"); |
| | | try { |
| | | generateTask(shelf, leftingStation, shelf, 0, Const.RAW_GLASS_TASK_TYPE_IN_REQUEST); |
| | | } catch (Exception e) { |
| | | return "fail"; |
| | | } |
| | | //生成一条详情数据 仅记录架子状态 |
| | | RawGlassStorageDetails details = new RawGlassStorageDetails(); |
| | | details.setSlot(shelf); |
| | |
| | | if (null == glassStorageDetails) { |
| | | log.info("当前吊装位没有架子"); |
| | | } |
| | | //todo:原片信息存入详情表 |
| | | //原片信息存入详情表 |
| | | BeanUtils.copyProperties(request, glassStorageDetails); |
| | | log.info("覆盖后得到的工位详情信息为:{}", glassStorageDetails); |
| | | updateById(glassStorageDetails); |
| | |
| | | .eq(RawGlassStorageDetails::getSlot, details.getSlot()) |
| | | .eq(RawGlassStorageDetails::getState, Const.GLASS_STATE_IN) |
| | | .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RUNNING)); |
| | | try { |
| | | generateTask(leftingStation, details.getShelf(), details.getShelf(), details.getRemainQuantity(), Const.RAW_GLASS_TASK_TYPE_OUT_REQUEST); |
| | | } catch (Exception e) { |
| | | return "fail"; |
| | | } |
| | | return "success"; |
| | | } |
| | | |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) { |
| | | public boolean generateTask(int startSlot, int endSlot, int shelf, int patternQuantity, int taskType) throws Exception { |
| | | RawGlassStorageTask task = RawGlassStorageTask.builder() |
| | | .startSlot(startSlot) |
| | | .endSlot(endSlot) |
| | |
| | | .taskState(Const.RAW_GLASS_TASK_NEW) |
| | | .shelf(shelf) |
| | | .createTime(new Date()).build(); |
| | | return rawGlassStorageTaskService.save(task); |
| | | rawGlassStorageTaskService.save(task); |
| | | |
| | | |
| | | List<ReadWriteEntity> list = new ArrayList<>(); |
| | | list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1)); |
| | | list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1)); |
| | | list.add(generateReadWriteEntity("A01-CC.dev.startSlot", startSlot)); |
| | | list.add(generateReadWriteEntity("A01-CC.dev.endSlot", endSlot)); |
| | | miloService.writeToOpcWord(list); |
| | | return Boolean.TRUE; |
| | | } |
| | | |
| | | private ReadWriteEntity generateReadWriteEntity(String identifier, int value) { |
| | | ReadWriteEntity readWriteEntity = new ReadWriteEntity(); |
| | | readWriteEntity.setIdentifier(identifier); |
| | | readWriteEntity.setValue(value); |
| | | return readWriteEntity; |
| | | } |
| | | } |