Commit b9a2d4b9e5a75a6b5b4e18ab74c1a908b28892a1
1 parent
a1076d99
一个库位 不能有多个容器
Showing
3 changed files
with
32 additions
and
23 deletions
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
@@ -13,6 +13,7 @@ import org.jeecg.modules.wms.config.container.entity.Container; | @@ -13,6 +13,7 @@ import org.jeecg.modules.wms.config.container.entity.Container; | ||
13 | import org.jeecg.modules.wms.config.container.mapper.ContainerMapper; | 13 | import org.jeecg.modules.wms.config.container.mapper.ContainerMapper; |
14 | import org.jeecg.modules.wms.config.container.service.IContainerService; | 14 | import org.jeecg.modules.wms.config.container.service.IContainerService; |
15 | import org.jeecg.modules.wms.config.containerType.service.IContainerTypeService; | 15 | import org.jeecg.modules.wms.config.containerType.service.IContainerTypeService; |
16 | +import org.jeecg.utils.StringUtils; | ||
16 | import org.jeecg.utils.constant.QuantityConstant; | 17 | import org.jeecg.utils.constant.QuantityConstant; |
17 | import org.springframework.stereotype.Service; | 18 | import org.springframework.stereotype.Service; |
18 | 19 | ||
@@ -77,6 +78,15 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container | @@ -77,6 +78,15 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container | ||
77 | 78 | ||
78 | @Override | 79 | @Override |
79 | public boolean updateLocationCodeAndStatus(String containerCode, String locationCode, String status, String warehouseCode) { | 80 | public boolean updateLocationCodeAndStatus(String containerCode, String locationCode, String status, String warehouseCode) { |
81 | + if (StringUtils.isNotEmpty(locationCode)) { | ||
82 | + LambdaQueryWrapper<Container> containerLambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
83 | + containerLambdaQueryWrapper.eq(Container::getLocationCode, locationCode).ne(Container::getCode, containerCode).eq(Container::getWarehouseCode, | ||
84 | + warehouseCode); | ||
85 | + Container container = getOne(containerLambdaQueryWrapper); | ||
86 | + if (container != null) { | ||
87 | + throw new JeecgBootException("容器已经存在于库位上" + container); | ||
88 | + } | ||
89 | + } | ||
80 | LambdaUpdateWrapper<Container> updateWrapper = Wrappers.lambdaUpdate(); | 90 | LambdaUpdateWrapper<Container> updateWrapper = Wrappers.lambdaUpdate(); |
81 | updateWrapper.ne(Container::getStatus, status).eq(Container::getCode, containerCode).eq(Container::getWarehouseCode, warehouseCode) | 91 | updateWrapper.ne(Container::getStatus, status).eq(Container::getCode, containerCode).eq(Container::getWarehouseCode, warehouseCode) |
82 | .set(Container::getLocationCode, locationCode).set(Container::getStatus, status); | 92 | .set(Container::getLocationCode, locationCode).set(Container::getStatus, status); |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java
1 | package org.jeecg.modules.wms.config.location.service.impl; | 1 | package org.jeecg.modules.wms.config.location.service.impl; |
2 | 2 | ||
3 | import java.text.MessageFormat; | 3 | import java.text.MessageFormat; |
4 | -import java.util.ArrayList; | ||
5 | -import java.util.Collections; | ||
6 | -import java.util.Comparator; | ||
7 | -import java.util.Date; | ||
8 | -import java.util.HashMap; | ||
9 | -import java.util.HashSet; | ||
10 | -import java.util.List; | ||
11 | -import java.util.Map; | ||
12 | -import java.util.Set; | 4 | +import java.util.*; |
13 | import java.util.function.Function; | 5 | import java.util.function.Function; |
14 | import java.util.stream.Collectors; | 6 | import java.util.stream.Collectors; |
15 | 7 | ||
@@ -21,15 +13,7 @@ import org.jeecg.common.exception.JeecgBootException; | @@ -21,15 +13,7 @@ import org.jeecg.common.exception.JeecgBootException; | ||
21 | import org.jeecg.modules.wms.config.address.service.IAddressService; | 13 | import org.jeecg.modules.wms.config.address.service.IAddressService; |
22 | import org.jeecg.modules.wms.config.container.entity.Container; | 14 | import org.jeecg.modules.wms.config.container.entity.Container; |
23 | import org.jeecg.modules.wms.config.container.service.IContainerService; | 15 | import org.jeecg.modules.wms.config.container.service.IContainerService; |
24 | -import org.jeecg.modules.wms.config.location.dto.CompareContainerTaskDto; | ||
25 | -import org.jeecg.modules.wms.config.location.dto.CompareLocationDto; | ||
26 | -import org.jeecg.modules.wms.config.location.dto.CompareLocationTaskDto; | ||
27 | -import org.jeecg.modules.wms.config.location.dto.QueryCompareContainerTaskDto; | ||
28 | -import org.jeecg.modules.wms.config.location.dto.QueryCompareLocationDto; | ||
29 | -import org.jeecg.modules.wms.config.location.dto.QueryCompareLocationTaskDto; | ||
30 | -import org.jeecg.modules.wms.config.location.dto.WcsLocationDto; | ||
31 | -import org.jeecg.modules.wms.config.location.dto.WcsResultDto; | ||
32 | -import org.jeecg.modules.wms.config.location.dto.WcsTaskDto; | 16 | +import org.jeecg.modules.wms.config.location.dto.*; |
33 | import org.jeecg.modules.wms.config.location.entity.BatchLocation; | 17 | import org.jeecg.modules.wms.config.location.entity.BatchLocation; |
34 | import org.jeecg.modules.wms.config.location.entity.Location; | 18 | import org.jeecg.modules.wms.config.location.entity.Location; |
35 | import org.jeecg.modules.wms.config.location.entity.LocationInfo; | 19 | import org.jeecg.modules.wms.config.location.entity.LocationInfo; |
@@ -128,11 +112,24 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i | @@ -128,11 +112,24 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i | ||
128 | return update(updateWrapper); | 112 | return update(updateWrapper); |
129 | } | 113 | } |
130 | 114 | ||
115 | + /** | ||
116 | + * 首先判断容器没有重复写入 | ||
117 | + * 更新库位时,先判断库位状态是不一致的才能更新 | ||
118 | + */ | ||
131 | @Override | 119 | @Override |
132 | public boolean updateContainerCodeAndStatus(String locationCode, String containerCode, String status, String warehouseCode) { | 120 | public boolean updateContainerCodeAndStatus(String locationCode, String containerCode, String status, String warehouseCode) { |
121 | + if (StringUtils.isNotEmpty(containerCode)) { | ||
122 | + LambdaQueryWrapper<Location> locationLambdaQueryWrapper = Wrappers.lambdaQuery(); | ||
123 | + locationLambdaQueryWrapper.eq(Location::getContainerCode, containerCode).ne(Location::getCode, locationCode).eq(Location::getWarehouseCode, | ||
124 | + warehouseCode); | ||
125 | + Location location = getOne(locationLambdaQueryWrapper); | ||
126 | + if (location != null) { | ||
127 | + throw new JeecgBootException("容器已经存在于库位上" + location); | ||
128 | + } | ||
129 | + } | ||
133 | LambdaUpdateWrapper<Location> updateWrapper = Wrappers.lambdaUpdate(); | 130 | LambdaUpdateWrapper<Location> updateWrapper = Wrappers.lambdaUpdate(); |
134 | - updateWrapper.ne(Location::getStatus, status).eq(Location::getCode, locationCode) | ||
135 | - .eq(Location::getWarehouseCode, warehouseCode).set(Location::getContainerCode, containerCode).set(Location::getStatus, status); | 131 | + updateWrapper.ne(Location::getStatus, status).eq(Location::getCode, locationCode).eq(Location::getWarehouseCode, warehouseCode) |
132 | + .set(Location::getContainerCode, containerCode).set(Location::getStatus, status); | ||
136 | return update(updateWrapper); | 133 | return update(updateWrapper); |
137 | } | 134 | } |
138 | 135 | ||
@@ -551,8 +548,10 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i | @@ -551,8 +548,10 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i | ||
551 | .select(TaskHeader::getId, TaskHeader::getWarehouseCode, TaskHeader::getTaskType, TaskHeader::getFromLocationCode, TaskHeader::getToLocationCode, | 548 | .select(TaskHeader::getId, TaskHeader::getWarehouseCode, TaskHeader::getTaskType, TaskHeader::getFromLocationCode, TaskHeader::getToLocationCode, |
552 | TaskHeader::getContainerCode, TaskHeader::getStatus, TaskHeader::getCreateTime) | 549 | TaskHeader::getContainerCode, TaskHeader::getStatus, TaskHeader::getCreateTime) |
553 | .eq(TaskHeader::getWarehouseCode, queryCompareLocationTaskDto.getWarehouseCode()) | 550 | .eq(TaskHeader::getWarehouseCode, queryCompareLocationTaskDto.getWarehouseCode()) |
554 | - .gt(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getTaskCreateTimeBegin()), TaskHeader::getCreateTime, queryCompareLocationTaskDto.getTaskCreateTimeBegin()) | ||
555 | - .lt(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getTaskCreateTimeEnd()),TaskHeader::getCreateTime, queryCompareLocationTaskDto.getTaskCreateTimeEnd()); | 551 | + .gt(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getTaskCreateTimeBegin()), TaskHeader::getCreateTime, |
552 | + queryCompareLocationTaskDto.getTaskCreateTimeBegin()) | ||
553 | + .lt(StringUtils.isNotEmpty(queryCompareLocationTaskDto.getTaskCreateTimeEnd()), TaskHeader::getCreateTime, | ||
554 | + queryCompareLocationTaskDto.getTaskCreateTimeEnd()); | ||
556 | // .ge(TaskHeader::getCreateTime, queryCreateTime) | 555 | // .ge(TaskHeader::getCreateTime, queryCreateTime) |
557 | if (StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode())) { | 556 | if (StringUtils.isNotEmpty(queryCompareLocationTaskDto.getLocationCode())) { |
558 | taskHeaderLambdaQueryWrapper.and(t -> t.eq(TaskHeader::getFromLocationCode, queryCompareLocationTaskDto.getLocationCode()).or() | 557 | taskHeaderLambdaQueryWrapper.and(t -> t.eq(TaskHeader::getFromLocationCode, queryCompareLocationTaskDto.getLocationCode()).or() |
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/IReceiptContainerHeaderService.java
@@ -62,7 +62,7 @@ public interface IReceiptContainerHeaderService extends IService<ReceiptContaine | @@ -62,7 +62,7 @@ public interface IReceiptContainerHeaderService extends IService<ReceiptContaine | ||
62 | Result cancelReceiving(List<Integer> ids); | 62 | Result cancelReceiving(List<Integer> ids); |
63 | 63 | ||
64 | /** | 64 | /** |
65 | - * 更新去向port | 65 | + * 更新去向toPort |
66 | */ | 66 | */ |
67 | boolean updateToPortById(String toPort, int id); | 67 | boolean updateToPortById(String toPort, int id); |
68 | } | 68 | } |