From c41f915262427a9469880ae1a7f71c50f1992a63 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 01 九月 2025 15:17:14 +0800 Subject: [PATCH] 添加盘点跑库功能 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java | 4 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 4 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java | 90 ++++++++++------------ rsf-admin/src/page/work/components/StaSelect.jsx | 2 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TaskInParam.java | 2 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InTaskMsgDto.java | 2 rsf-server/src/main/resources/application.yml | 2 rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java | 6 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java | 90 +++++++++++++++++++--- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java | 4 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/DeviceSite.java | 2 11 files changed, 131 insertions(+), 77 deletions(-) diff --git a/rsf-admin/src/page/work/components/StaSelect.jsx b/rsf-admin/src/page/work/components/StaSelect.jsx index 64fffb8..d033b5f 100644 --- a/rsf-admin/src/page/work/components/StaSelect.jsx +++ b/rsf-admin/src/page/work/components/StaSelect.jsx @@ -47,7 +47,7 @@ .map((item) => { return { id: item.site, - name: item.site$ + name: item.site } })); } else { diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TaskInParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TaskInParam.java index 32d3435..2291035 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TaskInParam.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/TaskInParam.java @@ -14,7 +14,7 @@ private Integer ioType; //浣滀笟绫诲瀷 @ApiModelProperty("浣滀笟绔欑偣 or 鏉ユ簮绔欑偣") - private Integer sourceStaNo; //浣滀笟绔欑偣 or 鏉ユ簮绔欑偣 + private String sourceStaNo; //浣滀笟绔欑偣 or 鏉ユ簮绔欑偣 @ApiModelProperty("瀹瑰櫒鏉$爜") private String barcode; //瀹瑰櫒鏉$爜 diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InTaskMsgDto.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InTaskMsgDto.java index c4ba4e6..f4e01c9 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InTaskMsgDto.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/dto/InTaskMsgDto.java @@ -4,7 +4,7 @@ @Data public class InTaskMsgDto { - private Integer sourceStaNo; + private String sourceStaNo; private Integer staNo; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java index 117d58e..901ad04 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java @@ -48,19 +48,19 @@ @Override public R getStaMsgSelect(Map<String, Object> params) { String sta = params.get("sta").toString(); - if (Cools.isEmpty(sta)){ + if (Cools.isEmpty(sta)) { throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�"); } BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>() .eq(BasStation::getStationName, sta) .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_O.type) ); - if (Cools.isEmpty(basStation)){ + if (Cools.isEmpty(basStation)) { throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�"); } - List<Long> ids = new ArrayList<>(); + List<Long> ids = new ArrayList<>(); ids.add(basStation.getArea()); - if (basStation.getIsCrossZone() == 1){ + if (basStation.getIsCrossZone() == 1) { String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1); String[] parts = content.split(","); for (int i = 0; i < parts.length; i++) { @@ -79,115 +79,109 @@ } - - @Override @Transactional(rollbackFor = Exception.class) - public R AGVInTaskStart(Map<String, Object> params,Long loginUserId ) { + public R AGVInTaskStart(Map<String, Object> params, Long loginUserId) { String sta = params.get("sta").toString(); String area = params.get("area").toString(); - if (Cools.isEmpty(sta)){ + if (Cools.isEmpty(sta)) { throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�"); } - if (Cools.isEmpty(area)){ + if (Cools.isEmpty(area)) { throw new CoolException("鐩爣搴撳尯涓嶈兘涓虹┖"); } BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>() .eq(BasStation::getStationName, sta) - .eq(BasStation::getUseStatus,LocStsType.LOC_STS_TYPE_F.type) + .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type) ); - if (Cools.isEmpty(basStation)){ + if (Cools.isEmpty(basStation)) { throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�"); } - if (Cools.isEmpty(basStation.getBarcode())){ + if (Cools.isEmpty(basStation.getBarcode())) { throw new CoolException("鏁版嵁閿欒锛屾帴椹崇珯鏃犳潯鐮佷俊鎭�"); } WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() .eq(WaitPakin::getBarcode, basStation.getBarcode()) - .eq(WaitPakin::getIoStatus,PakinIOStatus.PAKIN_IO_STATUS_DONE.val) + .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val) ); - if (Cools.isEmpty(waitPakin)){ + if (Cools.isEmpty(waitPakin)) { throw new CoolException("鏈壘鍒扮粍鎵樻暟鎹�,璇锋鏌ョ姸鎬�"); } String targetLoc = LocManageUtil.getTargetLoc(Long.parseLong(area)); - taskService.generateAGVTasks(waitPakin,targetLoc,sta,loginUserId); + taskService.generateAGVTasks(waitPakin, targetLoc, sta, loginUserId); basStation.setUseStatus(LocStsType.LOC_STS_TYPE_R.type); - if (!basStationService.updateById(basStation)){ + if (!basStationService.updateById(basStation)) { throw new CoolException("鏇存柊绔欑偣鐘舵�佸け璐�"); } - - return R.ok(); } - @Override public R AGVStaUnBind(Map<String, Object> params) { String sta = params.get("sta").toString(); - if (Cools.isEmpty(sta)){ + if (Cools.isEmpty(sta)) { throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�"); } BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>() .eq(BasStation::getStationName, sta) - .eq(BasStation::getUseStatus,LocStsType.LOC_STS_TYPE_F.type) + .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type) ); - if (Cools.isEmpty(basStation)){ + if (Cools.isEmpty(basStation)) { throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�"); } - if (Cools.isEmpty(basStation.getBarcode())){ + if (Cools.isEmpty(basStation.getBarcode())) { throw new CoolException("鏁版嵁閿欒锛屾帴椹崇珯鏃犳潯鐮佷俊鎭�"); } WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() .eq(WaitPakin::getBarcode, basStation.getBarcode()) - .eq(WaitPakin::getIoStatus,PakinIOStatus.PAKIN_IO_STATUS_DONE.val) + .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val) ); - if (Cools.isEmpty(waitPakin)){ + if (Cools.isEmpty(waitPakin)) { throw new CoolException("鏈壘鍒扮粍鎵樻暟鎹�,璇锋鏌ョ姸鎬�"); } basStation.setBarcode(null); basStation.setUseStatus(LocStsType.LOC_STS_TYPE_O.type); - if (!basStationService.updateById(basStation)){ + if (!basStationService.updateById(basStation)) { throw new CoolException("鏇存柊绔欑偣鐘舵�佸け璐�"); } return R.ok("瑙g粦鎴愬姛"); } - @Override public R getStaBindList(Map<String, Object> params) { String sta = params.get("sta").toString(); - if (Cools.isEmpty(sta)){ + if (Cools.isEmpty(sta)) { throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�"); } BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>() .eq(BasStation::getStationName, sta) - .eq(BasStation::getUseStatus,LocStsType.LOC_STS_TYPE_F.type) + .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type) ); - if (Cools.isEmpty(basStation)){ + if (Cools.isEmpty(basStation)) { throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�"); } - if (Cools.isEmpty(basStation.getBarcode())){ + if (Cools.isEmpty(basStation.getBarcode())) { throw new CoolException("鏁版嵁閿欒锛屾帴椹崇珯鏃犳潯鐮佷俊鎭�"); } WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() .eq(WaitPakin::getBarcode, basStation.getBarcode()) - .eq(WaitPakin::getIoStatus,PakinIOStatus.PAKIN_IO_STATUS_DONE.val) + .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val) ); - if (Cools.isEmpty(waitPakin)){ + if (Cools.isEmpty(waitPakin)) { throw new CoolException("鏈壘鍒扮粍鎵樻暟鎹�,璇锋鏌ョ姸鎬�"); } List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, waitPakin.getId())); - if (Cools.isEmpty(waitPakinItems)){ + if (Cools.isEmpty(waitPakinItems)) { throw new CoolException("鏁版嵁閿欒锛屾湭鎵惧埌缁勬墭鏄庣粏"); } - List<Long> ids = new ArrayList<>(); + List<Long> ids = new ArrayList<>(); ids.add(basStation.getArea()); - if (basStation.getIsCrossZone() == 1){ + if (basStation.getIsCrossZone() == 1) { String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1); String[] parts = content.split(","); for (int i = 0; i < parts.length; i++) { @@ -207,7 +201,6 @@ } - @Override @Transactional(rollbackFor = Exception.class) public R getAGVStaBind(Map<String, Object> params) { @@ -218,45 +211,44 @@ //鏇存柊绔欑偣鐘舵�� basStation.setUseStatus(LocStsType.LOC_STS_TYPE_F.type); basStation.setBarcode(barcode); - if (!basStationService.updateById(basStation)){ + if (!basStationService.updateById(basStation)) { throw new CoolException("鏇存柊绔欑偣鐘舵�佸け璐�"); } return R.ok("缁戝畾鎴愬姛"); } - - private BasStation checkStaStatus(String barcode, String sta){ - if (Cools.isEmpty(barcode)){ + private BasStation checkStaStatus(String barcode, String sta) { + if (Cools.isEmpty(barcode)) { throw new CoolException("瀹瑰櫒鐮佷笉鑳戒负绌�"); } - if (Cools.isEmpty(sta)){ + if (Cools.isEmpty(sta)) { throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�"); } WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() .eq(WaitPakin::getBarcode, barcode) .eq(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val) ); - if (Cools.isEmpty(waitPakin)){ + if (Cools.isEmpty(waitPakin)) { throw new CoolException("瀹瑰櫒鐮佹湭鎵惧埌缁勬墭淇℃伅,璇锋鏌ョ粍鎵樼姸鎬�"); } BasStation isBarcodeSta = basStationService.getOne(new LambdaQueryWrapper<BasStation>() .eq(BasStation::getBarcode, barcode) - ,false + , false ); - if (!Cools.isEmpty(isBarcodeSta)){ - throw new CoolException("璇ユ潯鐮佸凡琚�"+isBarcodeSta.getStationName()+"绔欑粦瀹�"); + if (!Cools.isEmpty(isBarcodeSta)) { + throw new CoolException("璇ユ潯鐮佸凡琚�" + isBarcodeSta.getStationName() + "绔欑粦瀹�"); } BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>() .eq(BasStation::getStationName, sta) ); - if (Cools.isEmpty(basStation)){ + if (Cools.isEmpty(basStation)) { throw new CoolException("鏈壘鍒扮珯鐐逛俊鎭�"); } - if (!basStation.getUseStatus().equals("O")){ + if (!basStation.getUseStatus().equals("O")) { throw new CoolException("绔欑偣鐘舵�佷笉涓虹┖闂�"); } - if (!Cools.isEmpty(basStation.getContainerType())){ + if (!Cools.isEmpty(basStation.getContainerType())) { List<Long> longs1 = JSONObject.parseArray(basStation.getContainerType(), Long.class); List<BasContainer> containers = basContainerService.list( new LambdaQueryWrapper<BasContainer>() diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java index 613f2bb..f765964 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java @@ -552,7 +552,7 @@ } } - private InTaskMsgDto getLocNoCrn(String orgLoc, DeviceBind deviceBind, Long area, Integer sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { + private InTaskMsgDto getLocNoCrn(String orgLoc, DeviceBind deviceBind, Long area, String sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { if (Cools.isEmpty(matnr)) { //鐗╂枡鍙� matnr = ""; } @@ -805,7 +805,7 @@ return inTaskMsgDto; } - private InTaskMsgDto getLocNoCtu(DeviceBind deviceBind, Long area, Integer sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { + private InTaskMsgDto getLocNoCtu(DeviceBind deviceBind, Long area, String sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { if (Cools.isEmpty(matnr)) { //鐗╂枡鍙� matnr = ""; } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java index 9d7c34b..2cfc21a 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java @@ -110,13 +110,13 @@ } //鑾峰彇绔欑偣瀵瑰簲鐨勫簱绫诲瀷 - public static Long getAreaType(Integer sourceStaNo) { + public static Long getAreaType(String sourceStaNo) { DeviceBindService rowLastnoService = SpringUtils.getBean(DeviceBindService.class); List<DeviceBind> deviceBinds = rowLastnoService.list(new LambdaQueryWrapper<DeviceBind>()); for (DeviceBind deviceBind : deviceBinds) { String[] staNoList = deviceBind.getStaList().split(";"); for (String staNo : staNoList) { - if (staNo.equals(sourceStaNo.toString())) { + if (staNo.equals(sourceStaNo)) { return deviceBind.getId(); } } @@ -242,7 +242,7 @@ * @param ioType 浣滀笟绫诲瀷锛�*蹇呬紶鍙傛暟锛� * @return */ - public static InTaskMsgDto getLocNoCrn(DeviceBind deviceBind, Long area, Integer sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { + public static InTaskMsgDto getLocNoCrn(DeviceBind deviceBind, Long area, String sourceStaNo, String matnr, String batch, LocTypeDto locTypeDto, int times, Integer ioType) { DeviceBindService deviceBindService = SpringUtils.getBean(DeviceBindService.class); DeviceSiteService deviceSiteService = SpringUtils.getBean(DeviceSiteService.class); LocService locService = SpringUtils.getBean(LocService.class); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/DeviceSite.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/DeviceSite.java index d8faaa2..242362e 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/DeviceSite.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/DeviceSite.java @@ -200,7 +200,7 @@ public String getSite$() { if (this.site == null) {return null;} BasStationService service = SpringUtils.getBean(BasStationService.class); - BasStation station = service.getById(this.site); + BasStation station = service.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, this.site)); if (Objects.isNull(station)) {return null;} return station.getStationName(); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java index 2728d00..675d76c 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java @@ -1,6 +1,7 @@ package com.vincent.rsf.server.manager.schedules; 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; @@ -11,6 +12,7 @@ import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.*; import com.vincent.rsf.server.manager.service.*; +import com.vincent.rsf.server.manager.service.impl.DeviceSiteServiceImpl; import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.service.ConfigService; import com.vincent.rsf.server.system.utils.SerialRuleUtils; @@ -18,7 +20,9 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.util.*; @@ -33,25 +37,87 @@ @Autowired private LocService locService; - @Autowired private ConfigService configService; - @Autowired private BasStationService stationService; - @Autowired private TaskService taskService; - - @Autowired private TaskItemService taskItemService; - @Autowired private MatnrService matnrService; - @Autowired private LocItemService locItemService; + @Autowired + private DeviceSiteService deviceSiteService; + + /** + * @author Ryan + * @date 2025/9/1 + * @description: 鑷姩鐢熸垚鐩樼偣璺戝簱鍗� + * @version 1.0 + */ + public void autoCheckOrders() { + List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).last("limit 1")); + locs.forEach(loc -> { + List<LocItem> locItems = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, loc.getId())); + if (!locItems.isEmpty()) { + DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>().eq(DeviceSite::getType, TaskType.TASK_TYPE_CHECK_OUT.type), false); + //鐢熸垚鐩樼偣浠诲姟鍙傛暟 + LocToTaskParams locToTaskParams = new LocToTaskParams(); + locToTaskParams.setType(Constants.TASK_TYPE_OUT_CHECK) + .setItems(locItems) + .setSiteNo(deviceSite.getSite()) + .setOrgLoc(loc.getCode()); + try { + locItemService.generateTask(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val, locToTaskParams, getLoginUserId()); + } catch (Exception e) { + throw new CoolException(e.getMessage()); + } + } + }); + } + + /** + * @author Ryan + * @date 2025/9/1 + * @description: 鑷姩瀹屾垚鐩樼偣鍔熻兘 + * @version 1.0 + */ + public void autoCheckComplete() { + //鑾峰彇浠诲姟鍒楄〃涓紝涓虹洏鐐瑰嚭搴撶殑浠诲姟 + List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>() + .in(Task::getTaskType, Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type))); + if (!tasks.isEmpty()) { + tasks.forEach(task -> { + if (task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)) { + if (task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id)) { + task.setTaskStatus(TaskStsType.COMPLETE_IN.id); + if (!taskService.updateById(task)) { + throw new CoolException("鐩樼偣鍐嶅叆搴撲换鍔″畬鎴愬け璐ワ紒锛�"); + } + } + } else { + //鍒涘缓鍑哄簱浠诲姟鐘舵�� + if (task.getTaskStatus().equals(TaskStsType.GENERATE_OUT.id)) { + task.setTaskStatus(TaskStsType.COMPLETE_OUT.id); + if (!taskService.updateById(task)) { + throw new CoolException("鐩樼偣鍑哄簱浠诲姟瀹屾垚澶辫触锛侊紒"); + } + //鍑哄簱宸插畬鎴愶紝绛夊緟鐩樼偣涓� + } else if (task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id)) { + try { + taskService.pickOrCheckTask(task.getId(), Constants.TASK_TYPE_OUT_CHECK); + } catch (Exception e) { + throw new CoolException(e.getMessage()); + } + } + } + }); + } + } + public void genRun() { String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class); @@ -79,14 +145,14 @@ break; } } - } - private void autoRun(List<Integer> locGroupList, List<String> staGroupList) { - List<String> staPreNos = getStaPrefixes(staGroupList); String staTaskMemo = "DEMO_STA_" + String.join("-", staPreNos); + log.error("=========>"); + log.info(staTaskMemo); + System.out.println(staTaskMemo); List<Task> list = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getMemo, staTaskMemo)); if (!Cools.isEmpty(list) && list.size() > 30) { @@ -94,19 +160,17 @@ } // 鍏ュ簱 搴旇鏍规嵁宸ヤ綔妗e洖鍘� this.runStaToLoc(locGroupList, staGroupList, staTaskMemo); + // 鍑哄簱,闇�瑕佹牎楠屽伐浣滄。鏄惁瀛樺湪锛屽瓨鍦ㄥ氨璇存槑绔欑偣澶勪簬蹇欑鐘舵�� this.runLocToSta(locGroupList, staGroupList, staTaskMemo); - // 绉诲簱 this.runLocToLoc(locGroupList, staTaskMemo); } - // 鍏ュ簱 private void runStaToLoc(List<Integer> locGroupList, List<String> staGroupList, String memo) { Integer startRow = Collections.min(locGroupList); Integer endRow = Collections.max(locGroupList); - // STA IDLE LambdaQueryWrapper<BasStation> idleWrapper = new LambdaQueryWrapper<BasStation>().eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).in(BasStation::getStationName, staGroupList); diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java index c2b3cbb..a3bd489 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java @@ -72,9 +72,7 @@ if (Objects.isNull(map.getItems()) || map.getItems().isEmpty()) { throw new CoolException("鏄庣粏涓嶈兘涓虹┖锛�"); } - String siteNo = map.getSiteNo(); - List<LocItem> items = map.getItems(); Map<Long, List<LocItem>> listMap = items.stream().collect(Collectors.groupingBy(LocItem::getLocId)); WkOrder order; @@ -303,7 +301,7 @@ TaskInParam param = new TaskInParam(); param.setIoType(TaskType.TASK_TYPE_OUT.type) .setOrgLoc(map.getOrgLoc()) - .setSourceStaNo(Integer.parseInt(deviceSite.getSite())) + .setSourceStaNo(deviceSite.getSite()) .setLocType1(Integer.parseInt(orgLoc.getType()) ); InTaskMsgDto locNo; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java index d3fc7c2..0604bc7 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java @@ -285,7 +285,7 @@ if (Objects.isNull(deviceSite)) { throw new CoolException("绔欑偣涓嶅瓨鍦紒锛�"); } - DeviceBind deviceBind = deviceBindService.getById(LocUtils.getAreaType(Integer.valueOf(deviceSite.getSite()))); + DeviceBind deviceBind = deviceBindService.getById(LocUtils.getAreaType(deviceSite.getSite())); if (Cools.isEmpty(deviceBind)) { throw new CoolException("搴撲綅瑙勫垯鏈煡"); } @@ -970,7 +970,7 @@ .setTaskStatus(TaskStsType.GENERATE_IN.id); TaskInParam param = new TaskInParam(); - param.setSourceStaNo(Integer.parseInt(task.getTargSite())) + param.setSourceStaNo(task.getTargSite()) .setIoType(type) .setLocType1(Integer.parseInt(loc.getType())); //鑾峰彇鏂板簱浣� diff --git a/rsf-server/src/main/resources/application.yml b/rsf-server/src/main/resources/application.yml index db51329..ac31a5b 100644 --- a/rsf-server/src/main/resources/application.yml +++ b/rsf-server/src/main/resources/application.yml @@ -25,7 +25,7 @@ # global-config: # field-strategy: 0 configuration: - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl +# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl map-underscore-to-camel-case: true cache-enabled: true call-setters-on-nulls: true -- Gitblit v1.9.1