From 1de6b39bfe3967916dcab8122be0d69fbaba8cca Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 30 五月 2025 17:29:06 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 78 +++++++++++++++++++++++++++------------ 1 files changed, 54 insertions(+), 24 deletions(-) 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 cac3725..43a083b 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 @@ -1,7 +1,5 @@ package com.vincent.rsf.server.manager.service.impl; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; @@ -14,7 +12,6 @@ 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.LocType; import com.vincent.rsf.server.manager.mapper.LocItemMapper; import com.vincent.rsf.server.manager.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -27,7 +24,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.lang.reflect.Array; import java.util.*; import java.util.stream.Collectors; @@ -45,8 +41,6 @@ @Autowired private DeviceSiteService deviceSiteService; @Autowired - private SlaveProperties slaveProperties; - @Autowired private WcsService wcsService; @@ -55,12 +49,13 @@ * type: check 鐩樼偣, stock: 搴撳瓨鍑哄簱 * * @param map + * @param loginUserId * @return */ @Override @Synchronized @Transactional(rollbackFor = Exception.class) - public R generateTask(LocToTaskParams map) { + public R generateTask(LocToTaskParams map, Long loginUserId) { if (Objects.isNull(map.getSiteNo())) { throw new CoolException("绔欑偣涓嶈兘涓虹┖锛�"); } @@ -84,9 +79,9 @@ } Task moveTask = new Task(); - if (!LocUtils.isShallowLoc(slaveProperties, loc.getCode())) { + if (!LocUtils.isShallowLoc(loc.getCode())) { //鑾峰彇娣卞簱浣嶅搴旀祬搴撲綅 - String shallowLoc = LocUtils.getShallowLoc(slaveProperties, loc.getCode()); + String shallowLoc = LocUtils.getShallowLoc(loc.getCode()); Loc one = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc)); if (Objects.isNull(one)) { throw new CoolException("瀵瑰簲搴撲綅涓嶅瓨鍦紒锛�"); @@ -94,7 +89,7 @@ map.setOrgLoc(one.getCode()); //浼樺厛鐢熸垚绉诲簱浠诲姟 if (!one.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) { - moveTask = genMoveTask(map); + moveTask = genMoveTask(map, loginUserId); } } @@ -103,6 +98,11 @@ .setTaskCode(ruleCode) .setParentId(moveTask.getId()) .setTargSite(siteNo) + .setSort(Constants.TASK_SORT_DEFAULT_VALUE) + .setUpdateBy(loginUserId) + .setCreateBy(loginUserId) + .setCreateTime(new Date()) + .setUpdateTime(new Date()) .setTaskStatus(TaskStsType.GENERATE_OUT.id) .setBarcode(loc.getBarcode()); @@ -125,8 +125,6 @@ Double useQty = Math.round((outQty + workQty) * 10000) / 10000.0; if (orgQty.compareTo(useQty) > 0) { //鎷f枡鍑哄簱 - task.setTaskType(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type); - DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() .eq(DeviceSite::getSite, siteNo) .eq(DeviceSite::getChannel, loc.getChannel()) @@ -134,19 +132,21 @@ if (Objects.isNull(deviceSite)) { throw new CoolException("绔欑偣涓嶆敮鎸佹嫞鏂欏嚭搴擄紒锛�"); } + task.setTaskType(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type).setWarehType(deviceSite.getDevice()); + } else { //鍏ㄦ澘鍑哄簱 - task.setTaskType(TaskType.TASK_TYPE_OUT.type); DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() .eq(DeviceSite::getChannel, loc.getChannel()) .eq(DeviceSite::getSite, siteNo).eq(DeviceSite::getType, TaskType.TASK_TYPE_OUT.type)); if (Objects.isNull(deviceSite)) { throw new CoolException("绔欑偣涓嶆敮鎸佸叏鏉垮嚭搴擄紒锛�"); } + task.setTaskType(TaskType.TASK_TYPE_OUT.type).setWarehType(deviceSite.getDevice()); + } } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK)) { //鐩樼偣鍑哄簱 - task.setTaskType(TaskType.TASK_TYPE_CHECK_OUT.type); DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>() .eq(DeviceSite::getChannel, loc.getChannel()) .eq(DeviceSite::getSite, siteNo) @@ -154,11 +154,21 @@ if (Objects.isNull(deviceSite)) { throw new CoolException("褰撳墠绔欑偣涓嶆敮鎸佺洏鐐瑰嚭搴擄紒锛�"); } + + task.setTaskType(TaskType.TASK_TYPE_CHECK_OUT.type).setWarehType(deviceSite.getDevice()); } if (!taskService.save(task)) { throw new CoolException("浠诲姟鍒涘缓澶辫触锛侊紒"); } + + if (!Objects.isNull(moveTask.getId())) { + moveTask.setParentId(task.getId()); + if (!taskService.saveOrUpdate(moveTask)) { + throw new CoolException("浠诲姟淇℃伅淇敼澶辫触锛侊紒"); + } + } + List<TaskItem> taskItems = new ArrayList<>(); listMap.get(key).forEach(item -> { TaskItem taskItem = new TaskItem(); @@ -166,6 +176,13 @@ taskItem.setTaskId(task.getId()) .setAnfme(item.getOutQty()) .setBatch(item.getBatch()) + .setUpdateBy(loginUserId) + .setCreateBy(loginUserId) + .setSource(item.getId()) + .setSourceId(item.getLocId()) + .setSourceCode(item.getLocCode()) + .setCreateTime(new Date()) + .setUpdateTime(new Date()) .setOrderType(OrderType.ORDER_OUT.type) .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type)); taskItems.add(taskItem); @@ -186,6 +203,8 @@ } else { item.setWorkQty(qty); } + item.setUpdateBy(loginUserId).setUpdateTime(new Date()); + if (!locItemService.updateById(item)) { throw new CoolException("搴撳瓨淇℃伅淇敼澶辫触锛侊紒"); } @@ -203,11 +222,12 @@ * 鐢熸垚绉诲簱浠诲姟 * * @param map + * @param loginUserId * @return */ @Override @Transactional(rollbackFor = Exception.class) - public Task genMoveTask(LocToTaskParams map) { + public Task genMoveTask(LocToTaskParams map, Long loginUserId) { if (Objects.isNull(map.getOrgLoc()) || StringUtils.isBlank(map.getOrgLoc())) { throw new CoolException("婧愬簱浣嶄笉鑳戒负绌猴紒"); } @@ -217,11 +237,11 @@ throw new CoolException("婧愬簱浣嶄笉瀛樺湪锛侊紒"); } - if (orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_R.type) - || orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_S.type) - || orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_X.type ) ) { - throw new CoolException("婧愬簱浣嶆湁浠诲姟姝e湪鎵ц涓�..."); - } +// if (orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_R.type) +// || orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_S.type) +// || orgLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_X.type ) ) { +// throw new CoolException("婧愬簱浣嶆湁浠诲姟姝e湪鎵ц涓�..."); +// } orgLoc.setUseStatus(LocStsType.LOC_STS_TYPE_R.type); @@ -240,8 +260,10 @@ } TaskInParam param = new TaskInParam(); param.setIoType(TaskType.TASK_TYPE_OUT.type) + .setOrgLoc(map.getOrgLoc()) .setSourceStaNo(Integer.parseInt(deviceSite.getSite())) - .setLocType1(Integer.parseInt(orgLoc.getType())); + .setLocType1(Integer.parseInt(orgLoc.getType()) + ); InTaskMsgDto locNo = null; try { locNo = wcsService.getLocNo(param); @@ -270,7 +292,10 @@ .setTaskCode(ruleCode) .setTaskType(TaskType.TASK_TYPE_LOC_MOVE.type) .setTargLoc(targetLoc.getCode()) - .setTaskStatus(TaskStsType.GENERATE_IN.id) + .setUpdateBy(loginUserId) + .setSort(Constants.TASK_SORT_DEFAULT_VALUE) + .setUpdateTime(new Date()) + .setTaskStatus(TaskStsType.GENERATE_OUT.id) .setBarcode(orgLoc.getBarcode()); if (!taskService.save(task)) { @@ -286,8 +311,13 @@ taskItem.setTaskId(task.getId()) .setAnfme(item.getAnfme()) .setBatch(item.getBatch()) - .setOrderType(OrderType.ORDER_IN.type) - .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER_IN.type)); + .setUpdateBy(loginUserId) + .setSourceId(item.getLocId()) + .setSourceCode(item.getLocCode()) + .setSource(item.getId()) + .setUpdateTime(new Date()) + .setOrderType(OrderType.ORDER_OUT.type) + .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER.type)); taskItems.add(taskItem); } if (!taskItemService.saveBatch(taskItems)) { -- Gitblit v1.9.1