123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- package com.rongwei.rwapsserver.aps.controller;
- import cn.hutool.core.date.DateUtil;
- import cn.hutool.core.util.IdcardUtil;
- import com.rongwei.rwapsserver.aps.domain.EquipmentRunTime;
- import com.rongwei.rwapsserver.aps.domain.ProduceOrder;
- import com.rongwei.rwapsserver.aps.domain.ProductionProcesses;
- import com.rongwei.rwapsserver.aps.service.ProductionScheduleService;
- import com.rongwei.rwapsserver.aps.util.ApsException;
- import com.rongwei.rwapsserver.aps.vo.ProductionScheduleRetVo;
- import com.rongwei.rwapsserver.aps.vo.ProductionScheduleVo;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.cloud.commons.util.IdUtils;
- import org.springframework.web.bind.annotation.*;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.UUID;
- /**
- * APS排程接口
- */
- @RestController
- @RequestMapping("apsSchedule")
- @Slf4j
- public class ApsSchedulingController {
- @Autowired
- private ProductionScheduleService productionScheduleService;
- /**
- * 流程任务运行API
- * @param productionScheduleVo
- * @return
- */
- @PostMapping("/productionSchedule")
- public ProductionScheduleRetVo productionSchedule(@RequestBody ProductionScheduleVo productionScheduleVo) throws Exception{
- ProductionScheduleRetVo productionScheduleRetVo = null;
- try{
- productionScheduleRetVo = productionScheduleService.productionSchedule(productionScheduleVo);
- productionScheduleRetVo.setCode("200");
- }catch(ApsException ae){
- productionScheduleRetVo = new ProductionScheduleRetVo();
- productionScheduleRetVo.setCode("500");
- productionScheduleRetVo.setMsg(ae.getMessage());
- }catch(Exception e){
- e.printStackTrace();
- log.error("排程平台异常:",e);
- productionScheduleRetVo = new ProductionScheduleRetVo();
- productionScheduleRetVo.setCode("500");
- productionScheduleRetVo.setMsg("排程异常,请联系管理员");
- }
- return productionScheduleRetVo;
- }
- /**
- * test
- * @return
- */
- @PostMapping("/test")
- public ProductionScheduleRetVo test(@RequestBody ProductionScheduleVo productionScheduleVo) throws Exception{
- productionScheduleVo.setProcesses(processesInit());
- ProductionScheduleRetVo productionScheduleRetVo = productionScheduleService.productionSchedule(productionScheduleVo);
- return productionScheduleRetVo;
- }
- private List<ProductionProcesses> processesInit(){
- List<ProductionProcesses> processes = new ArrayList<>();
- for(int i=0;i<5;i++){
- String id1 = (i*2+1)+"";
- String id2 = (i*2+2)+"";
- ProductionProcesses processes1 = new ProductionProcesses();
- processes1.setId(id1);
- processes1.setCutfinishmin(70);
- processes1.setIfLock(false);
- processes1.setSeriesProduceMark("1100^_^1100H14冷轧卷普料 厚6.8*宽1025mm 6吨^_^1025.00");
- processes1.setProduceTime(720);
- processes1.setPrepressworkmin(55);
- processes1.setNextProcessesIds(Arrays.asList(new String[]{id2}));
- ProduceOrder produceOrder1 = new ProduceOrder("34f200bcbac748fb8f817eea88fb9a5d","订单1", DateUtil.parseDateTime("2024-06-22 08:00:00"));
- processes1.setProduceOrder(Arrays.asList(new ProduceOrder[]{produceOrder1}));
- processes1.setMinWaitTime(600);
- processes1.setVolumeMetal("1100");
- processes1.setOptionalEquipments(Arrays.asList(new String[]{"0001be252874536843730b100018","0001be252874536843730b100017","0001be252874536843730b100016"}));
- processes1.setUnitProduceTime(360);
- processes1.setProcessType("铸轧");
- processes1.setBsProcessesId(Arrays.asList(new String[]{"f29671831358404ab047848aade7e681"}));
- ProductionProcesses processes2 = new ProductionProcesses();
- processes2.setId(id2);
- processes2.setIfLock(false);
- processes2.setSeriesProduceMark("1100^_^1100H14冷轧卷普料 厚6.8*宽1025mm 6吨^_^1025.00");
- processes2.setProduceTime(1440);
- processes2.setPreviousProcessesIds(Arrays.asList(new String[]{id1}));
- processes2.setProduceOrder(Arrays.asList(new ProduceOrder[]{produceOrder1}));
- processes2.setMinWaitTime(310);
- processes2.setMaxWaitTime(3000);
- processes2.setVolumeMetal("1100");
- processes2.setOptionalEquipments(Arrays.asList(new String[]{"0001be252874536843730b100158","0001be252874536843730b100162","0001be252874536843730b100160"}));
- processes2.setUnitProduceTime(3100);
- processes2.setVolumeWidth(new BigDecimal("1025"));
- processes2.setSinglerollweight(new BigDecimal("5.8"));
- processes2.setBottleneck(true);
- processes2.setProcessType("成退");
- processes2.setBsProcessesId(Arrays.asList(new String[]{"d8ac56ea9335401f871cd691d1ba9442"}));
- processes.add(processes1);
- processes.add(processes2);
- }
- for(int i=6;i<14;i++){
- String id1 = (i*2+1)+"";
- String id2 = (i*2+2)+"";
- ProductionProcesses processes1 = new ProductionProcesses();
- processes1.setId(id1);
- processes1.setCutfinishmin(70);
- processes1.setIfLock(false);
- processes1.setSeriesProduceMark("1100^_^1100H14冷轧卷普料 厚6.8*宽1025mm 6吨^_^1025.00");
- processes1.setProduceTime(600);
- processes1.setPrepressworkmin(55);
- processes1.setNextProcessesIds(Arrays.asList(new String[]{id2}));
- ProduceOrder produceOrder1 = new ProduceOrder("34f200bcbac748fb8f817eea88fb9a5d","订单1", DateUtil.parseDateTime("2024-06-22 08:00:00"));
- processes1.setProduceOrder(Arrays.asList(new ProduceOrder[]{produceOrder1}));
- processes1.setMinWaitTime(600);
- processes1.setVolumeMetal("1100");
- processes1.setOptionalEquipments(Arrays.asList(new String[]{"0001be252874536843730b100018","0001be252874536843730b100017","0001be252874536843730b100016"}));
- processes1.setUnitProduceTime(360);
- processes1.setProcessType("铸轧");
- processes1.setBsProcessesId(Arrays.asList(new String[]{"f29671831358404ab047848aade7e682"}));
- ProductionProcesses processes2 = new ProductionProcesses();
- processes2.setId(id2);
- processes2.setIfLock(false);
- processes2.setSeriesProduceMark("1100^_^1100H14冷轧卷普料 厚6.8*宽1025mm 6吨^_^1025.00");
- processes2.setProduceTime(1680);
- processes2.setPreviousProcessesIds(Arrays.asList(new String[]{id1}));
- processes2.setProduceOrder(Arrays.asList(new ProduceOrder[]{produceOrder1}));
- processes2.setMinWaitTime(310);
- processes2.setMaxWaitTime(3000);
- processes2.setVolumeMetal("1100");
- processes2.setOptionalEquipments(Arrays.asList(new String[]{"0001be252874536843730b100158","0001be252874536843730b100162","0001be252874536843730b100160"}));
- processes2.setUnitProduceTime(3100);
- processes2.setBottleneck(true);
- processes2.setVolumeWidth(new BigDecimal("1100"));
- processes2.setSinglerollweight(new BigDecimal("7.2"));
- processes2.setProcessType("成退");
- processes2.setBsProcessesId(Arrays.asList(new String[]{"d8ac56ea9335401f871cd691d1ba9443"}));
- processes.add(processes1);
- processes.add(processes2);
- }
- return processes;
- }
- }
|