From 162072ac75b009a24cb84569ea7000a782c0fa34 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 14 五月 2025 16:00:48 +0800 Subject: [PATCH] 质检单问题修复 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java | 69 ++++++++++++++++++++++++---------- 1 files changed, 48 insertions(+), 21 deletions(-) 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 8bd62d6..4e610b6 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 @@ -7,18 +7,13 @@ import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto; import com.vincent.rsf.server.api.entity.dto.LocTypeDto; import com.vincent.rsf.server.api.controller.params.TaskInParam; -import com.vincent.rsf.server.api.entity.enums.LocUseStatusType; -import com.vincent.rsf.server.api.entity.enums.OrderType; -import com.vincent.rsf.server.api.entity.enums.TaskStsType; -import com.vincent.rsf.server.api.entity.enums.TaskType; +import com.vincent.rsf.server.manager.enums.*; import com.vincent.rsf.server.api.service.WcsService; import com.vincent.rsf.server.api.utils.LocUtils; import com.vincent.rsf.server.api.utils.SlaveProperties; import com.vincent.rsf.server.manager.entity.*; -import com.vincent.rsf.server.manager.enums.PakinIOStatus; import com.vincent.rsf.server.manager.service.*; import com.vincent.rsf.server.manager.service.impl.LocServiceImpl; -import com.vincent.rsf.server.manager.utils.LocManageUtil; import com.vincent.rsf.server.system.constant.SerialRuleCode; import com.vincent.rsf.server.system.enums.LocStsType; import com.vincent.rsf.server.system.utils.SerialRuleUtils; @@ -28,7 +23,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -55,6 +49,37 @@ private TaskItemService taskItemService; @Autowired private WaitPakinItemService waitPakinItemService; + @Autowired + private BasStationService basStationService; + + + @Override + @Transactional(rollbackFor = Exception.class) + public void agvTaskPickUpComplete(TaskInParam param) { + Task task = taskService.getOne(new LambdaQueryWrapper<Task>() + .eq(Task::getBarcode, param.getBarcode()) + ); + if (null == task) { + throw new CoolException("鏈壘鍒颁换鍔′俊鎭�"); + } +// if (!task.getTaskStatus().equals(TaskStsType.WCS_CONVEYOR_START.id)){ +// throw new CoolException("浠诲姟鐘舵�佹湁璇�"); +// } + BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>() + .eq(BasStation::getStationName, param.getSourceStaNo()) + ); + if (null == basStation) { + throw new CoolException("鏈壘鍒扮珯鐐逛俊鎭�"); + } + task.setTaskStatus(TaskStsType.WCS_EXECUTE_OUT_TOTE_LOAD.id); + taskService.updateById(task); + + basStation.setUseStatus(StaUseStatusType.TYPE_O.type); + basStation.setBarcode(null); + basStationService.updateById(basStation); + + + } @Override @Transactional(rollbackFor = Exception.class) @@ -91,6 +116,8 @@ locNo.setWorkNo(ruleCode); return locNo; } + + /** * 楠岃瘉璁惧绔欑偣 @@ -189,7 +216,7 @@ BeanUtils.copyProperties(item, taskItem); return taskItem.setTaskId(taskId) - .setOrderType(OrderType.ORDER_RECEIPT.type) + .setOrderType(OrderType.ORDER_IN.type) .setSource(item.getId()) .setTrackCode(item.getTrackCode()) .setCreateBy(loginUserId) @@ -387,7 +414,7 @@ String shallowLocNo = LocUtils.getShallowLoc(slaveProperties, loc1.getCode()); // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣� Loc shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode,shallowLocNo)); - if (shallowLoc != null && shallowLoc.getUseStatus().equals(LocUseStatusType.Empty_Slot.type)) { + if (shallowLoc != null && shallowLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) { if (LocUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) { loc = shallowLoc; deviceNo = shallowLoc.getDeviceNo(); @@ -446,7 +473,7 @@ List<Loc> locMasts = null; locMasts = locService.list(new LambdaQueryWrapper<Loc>() .eq(Loc::getRow, nearRow) - .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type) + .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type) .eq(Loc::getType, locTypeDto.getLocType1()) .eq(Loc::getAreaId,area) .orderByAsc(Loc::getLev) @@ -461,7 +488,7 @@ //鐩镐技鐗╂枡鎵撳紑锛屽垽鏂繁搴撲綅鏈夋病鏈夎揣锛屾病璐у氨鏀炬繁搴撲綅锛屾湁璐у氨涓嶆搷浣� Loc locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>() .eq(Loc::getRow, shallowLoc) - .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type) + .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type) .eq(Loc::getAreaId,area) ); if (!Cools.isEmpty(locMast2)) { @@ -472,7 +499,7 @@ //鐩镐技鐗╂枡鍏抽棴锛屽垽鏂繁搴撲綅鏈夋病鏈夎揣锛屾湁璐у氨鏀炬祬搴撲綅锛屾棤璐у氨涓嶆搷浣� Loc locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>() .eq(Loc::getCode, shallowLoc) - .in(Loc::getUseStatus, LocUseStatusType.Empty_Pallet.type,LocUseStatusType.In_Stock.type) + .in(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_D.type,LocStsType.LOC_STS_TYPE_F.type) .eq(Loc::getAreaId,area) ); if (!Cools.isEmpty(locMast2)) { @@ -481,7 +508,7 @@ }else{ locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>() .eq(Loc::getCode, shallowLoc) - .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type) + .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type) .eq(Loc::getAreaId,area) ); if (!Cools.isEmpty(locMast2)) { @@ -500,7 +527,7 @@ String shallowLoc = LocUtils.getDeepLoc(slaveProperties, locMast1.getCode()); Loc locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>() .eq(Loc::getCode, shallowLoc) - .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type) + .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type) .eq(Loc::getAreaId,area) ); if (!Cools.isEmpty(locMast2)) { @@ -509,7 +536,7 @@ } else { locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>() .eq(Loc::getCode, shallowLoc) - .in(Loc::getUseStatus, LocUseStatusType.Empty_Pallet.type,LocUseStatusType.In_Stock.type) + .in(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_D.type,LocStsType.LOC_STS_TYPE_D.type) .eq(Loc::getAreaId,area) ); if (!Cools.isEmpty(locMast2)) { @@ -528,7 +555,7 @@ } //鏌ヨ褰撳墠搴撲綅绫诲瀷绌哄簱浣� 灏忎簬5涓垯locmast = null List<Loc> locTypeLocMasts = locService.list(new LambdaQueryWrapper<Loc>() - .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type) + .eq(Loc::getUseStatus,LocStsType.LOC_STS_TYPE_O.type) .eq(Loc::getDeviceNo, deviceNo) .eq(Loc::getType, locTypeDto.getLocType1()) .eq(Loc::getAreaId,area) @@ -537,7 +564,7 @@ loc = null; } // 閫掑綊鏌ヨ - if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocUseStatusType.Empty_Slot.type)) { + if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) { // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊 if (times < rowCount * 2) { times = times + 1; @@ -574,11 +601,11 @@ InTaskMsgDto inTaskMsgDto = new InTaskMsgDto(); List<Loc> loc1 = locService.list(new LambdaQueryWrapper<Loc>() .eq(Loc::getAreaId, area) - .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type) + .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type) .eq(Loc::getType, locTypeDto.getLocType1()) - .orderByAsc(Loc::getRow) - .orderByAsc(Loc::getCol) .orderByAsc(Loc::getLev) + .orderByAsc(Loc::getCol) + .orderByAsc(Loc::getRow) ); for (Loc loc2 :loc1){ if (!LocUtils.locMoveCheckLocTypeComplete(loc2, locTypeDto)) { @@ -600,7 +627,7 @@ inTaskMsgDto.setStaNo(Integer.parseInt(deviceSite.getDeviceSite())); } // 閫掑綊鏌ヨ - if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocUseStatusType.Empty_Slot.type)) { + if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) { // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊 if (times < 5) { times = times + 1; -- Gitblit v1.9.1