| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.vincent.rsf.framework.common.Cools; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.common.constant.Constants; |
| | |
| | | import com.vincent.rsf.server.manager.constant.StaGroupConstant; |
| | | import com.vincent.rsf.server.manager.controller.params.LocToTaskParams; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.enums.*; |
| | | import com.vincent.rsf.server.manager.enums.LocStsType; |
| | | import com.vincent.rsf.server.manager.enums.TaskResouceType; |
| | | import com.vincent.rsf.server.manager.enums.TaskStsType; |
| | | import com.vincent.rsf.server.manager.enums.TaskType; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.manager.service.impl.BasStationServiceImpl; |
| | | import com.vincent.rsf.server.system.constant.GlobalConfigCode; |
| | | import com.vincent.rsf.server.system.constant.SerialRuleCode; |
| | | import com.vincent.rsf.server.system.entity.Config; |
| | | import com.vincent.rsf.server.system.service.ConfigService; |
| | | import com.vincent.rsf.server.system.utils.SerialRuleUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | |
| | | // throw new CoolException("站点状态修改失败!!"); |
| | | } |
| | | try { |
| | | taskService.pickOrCheckTask(task.getId(), task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) ? Constants.TASK_TYPE_OUT_CHECK : ""); |
| | | taskService.pickOrCheckTask(task.getId(), task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) ? Constants.TASK_TYPE_OUT_CHECK : ""); |
| | | |
| | | } catch (Exception e) { |
| | | log.error("error====>", e); |
| | |
| | | |
| | | /** |
| | | * 生成移库任务 |
| | | * |
| | | * @param |
| | | * @param |
| | | */ |
| | |
| | | if (!Boolean.parseBoolean(config.getVal())) { |
| | | return; |
| | | } |
| | | Integer maxThread = 50; |
| | | Config confNum = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_MOVE_THEAD_MAX)); |
| | | if (!Objects.isNull(confNum)) { |
| | | maxThread = Integer.valueOf(confNum.getVal()); |
| | | } |
| | | |
| | | List<Integer> locGroupList = new ArrayList<>(); |
| | | //获取任务列表中,为盘点出库的任务 |
| | | List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() |
| | | .eq(Task::getTaskType, TaskType.TASK_TYPE_LOC_MOVE.type)); |
| | | if (!tasks.isEmpty() && tasks.size() >= maxThread) { |
| | | return; |
| | | } |
| | | String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class); |
| | | if (Cools.isEmpty(autoRunArea)) { |
| | | return; |
| | |
| | | for (char c : autoRunArea.toCharArray()) { |
| | | switch (c) { |
| | | case '1': |
| | | locGroupList = LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST; |
| | | xx(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST); |
| | | break; |
| | | case '2': |
| | | locGroupList = LocGroupConstant.RIGHT_LOC_ROW_LIST; |
| | | xx(LocGroupConstant.RIGHT_LOC_ROW_LIST); |
| | | break; |
| | | case '3': |
| | | locGroupList = LocGroupConstant.MIDDLE_LOC_ROW_LIST; |
| | | xx(LocGroupConstant.MIDDLE_LOC_ROW_LIST); |
| | | break; |
| | | case '4': |
| | | locGroupList = LocGroupConstant.LEFT_LOC_ROW_LIST; |
| | | xx(LocGroupConstant.LEFT_LOC_ROW_LIST); |
| | | break; |
| | | case '5': |
| | | locGroupList = LocGroupConstant.FAR_LEFT_LOC_ROW_LIST; |
| | | xx(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | private void xx(List<Integer> locGroupList) { |
| | | Integer startRow = Collections.min(locGroupList); |
| | | Integer endRow = Collections.max(locGroupList); |
| | | |
| | | String memo = "DEMO_LOC_" + startRow + "-" + endRow; |
| | | |
| | | |
| | | Integer maxThread = 40; |
| | | Config confNum = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_MOVE_THEAD_MAX)); |
| | | if (!Objects.isNull(confNum)) { |
| | | maxThread = Integer.valueOf(confNum.getVal()); |
| | | } |
| | | |
| | | List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() |
| | | .eq(Task::getMemo,memo)); |
| | | if (!tasks.isEmpty() && tasks.size() >= maxThread) { |
| | | return; |
| | | } |
| | | |
| | | // STOCK |
| | | LambdaQueryWrapper<Loc> stockWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type); |
| | | if (null != startRow) { |
| | |
| | | } catch (Exception e) { |
| | | log.info("生成出库任务失败", e); |
| | | } |
| | | |
| | | } |
| | | |
| | | public static List<String> getStaPrefixes(List<String> staGroupList) { |