| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.vincent.rsf.framework.common.Cools; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.manager.controller.params.LocToTaskParams; |
| | | import com.vincent.rsf.server.manager.entity.Loc; |
| | | import com.vincent.rsf.server.manager.entity.WarehouseAreas; |
| | | import com.vincent.rsf.server.manager.enums.LocStsType; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.manager.service.impl.WarehouseAreasServiceImpl; |
| | | import com.vincent.rsf.server.system.constant.GlobalConfigCode; |
| | | import com.vincent.rsf.server.system.entity.Config; |
| | | import com.vincent.rsf.server.system.service.ConfigService; |
| | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * @author Munch D. Luffy |
| | |
| | | private TaskService taskService; |
| | | @Autowired |
| | | private ConfigService configService; |
| | | @Autowired |
| | | private WarehouseAreasServiceImpl warehouseAreasService; |
| | | @Autowired |
| | | private LocService locService; |
| | | @Autowired |
| | | private LocItemService locItemService; |
| | | |
| | | /** |
| | | * @author Munch D. Luffy |
| | |
| | | return; |
| | | } |
| | | |
| | | String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class); |
| | | if (Cools.isEmpty(autoRunArea)) { |
| | | String autoRunAreaStartYz = configService.getVal("AUTO_RUN_AREA_START_YZ", String.class); |
| | | if (Cools.isEmpty(autoRunAreaStartYz)) { |
| | | return; |
| | | } |
| | | List<Integer> array = new ArrayList<>(); |
| | | for (char c : autoRunArea.toCharArray()) { |
| | | switch (c) { |
| | | case '1': |
| | | default: |
| | | break; |
| | | } |
| | | |
| | | String autoRunAreaEndYz = configService.getVal("AUTO_RUN_AREA_END_YZ", String.class); |
| | | if (Cools.isEmpty(autoRunAreaEndYz)) { |
| | | return; |
| | | } |
| | | String curLoc = null; |
| | | String deepLoc = null; |
| | | try{ |
| | | String[] split = autoRunAreaStartYz.split(";"); |
| | | for (String c : split) { |
| | | WarehouseAreas byId = warehouseAreasService.getById(Integer.parseInt(c)); |
| | | if (!Cools.isEmpty(byId)) { |
| | | Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getWarehouseId, byId.getWarehouseId()).eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type),false); |
| | | if (!Objects.isNull(loc)) { |
| | | curLoc = loc.getCode(); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e){ |
| | | log.error("配置参数AUTO_RUN_AREA_START_YZ解析失败,请检查!!!"); |
| | | } |
| | | try{ |
| | | String[] split = autoRunAreaEndYz.split(";"); |
| | | for (String c : split) { |
| | | WarehouseAreas byId = warehouseAreasService.getById(Integer.parseInt(c)); |
| | | if (!Cools.isEmpty(byId)) { |
| | | Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getWarehouseId, byId.getWarehouseId()).eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type),false); |
| | | if (!Objects.isNull(loc)) { |
| | | deepLoc = loc.getCode(); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e){ |
| | | log.error("配置参数AUTO_RUN_AREA_START_YZ解析失败,请检查!!!"); |
| | | } |
| | | |
| | | if (curLoc == null || deepLoc == null) { |
| | | return; |
| | | } |
| | | LocToTaskParams params = new LocToTaskParams(); |
| | | params.setOrgLoc(curLoc).setTarLoc(deepLoc); |
| | | //生成移库位任务 |
| | | locItemService.genMoveTask(params, 9999L); |
| | | } |
| | | |
| | | /** |