代码修改

liweidong
绫Umbrella 1 month ago
parent 04c9d888ee
commit 73ecd41f41
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/dto/BoxBindingDto.java
  2. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/OrderBoxController.java
  3. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/PipelineController.java
  4. 942
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java
  5. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java
  6. 33
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/utils/CollectionCheckUtil.java
  7. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java

@ -11,5 +11,5 @@ import java.util.ArrayList;
public class BoxBindingDto { public class BoxBindingDto {
private String boxBarcode; private String boxBarcode;
private Long id; private Long id;
private ArrayList<Long> orderIdList; private ArrayList<String> orderIdList;
} }

@ -1,5 +1,6 @@
package org.springblade.desk.logistics.controller; package org.springblade.desk.logistics.controller;
import com.alibaba.nacos.api.config.annotation.NacosValue;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@ -11,6 +12,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jodd.util.StringUtil; import jodd.util.StringUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Value;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
@ -110,15 +112,6 @@ public class OrderBoxController extends BladeController {
} }
/**
* 回调作业中心list
*/
@GetMapping("/return-warehouse-list")
@ApiOperationSupport(order = 6)
@Operation(summary = "回调作业中心list", description = "回调作业中心list")
public R inventoryReturnToWarehouseList() {
return iOrderBoxService.returnToWarehouseList();
}
/** /**
* 回调作业中心list * 回调作业中心list

@ -82,10 +82,11 @@ public class PipelineController extends BladeController {
ReturnToWarehouseDto returnToWarehouseDto = new ReturnToWarehouseDto(); ReturnToWarehouseDto returnToWarehouseDto = new ReturnToWarehouseDto();
returnToWarehouseDto.setBoxBarcode(boxBarcode); returnToWarehouseDto.setBoxBarcode(boxBarcode);
R wcIdR = iOrderBoxService.getWcId(boxBarcode); R wcIdR = iOrderBoxService.getWcId(boxBarcode);
if (!wcIdR.isSuccess()) { Long wcId = (Long) wcIdR.getData();
return wcIdR; if (wcId==null) {
return R.fail("未查询到该箱条码的作业中心");
} }
returnToWarehouseDto.setEndWcId((Long) wcIdR.getData()); returnToWarehouseDto.setEndWcId(wcId);
R taskR = iOrderBoxService.saveTask(returnToWarehouseDto, false); R taskR = iOrderBoxService.saveTask(returnToWarehouseDto, false);
if (!taskR.isSuccess()) { if (!taskR.isSuccess()) {
return taskR; return taskR;

@ -116,7 +116,6 @@ public class StorageMonitoringServiceImpl implements IStorageMonitoringService {
// ========== 步骤2.1:查询对应工位的待库位任务(按创建时间升序) ========== // ========== 步骤2.1:查询对应工位的待库位任务(按创建时间升序) ==========
List<Task> taskList = taskService.list( List<Task> taskList = taskService.list(
new LambdaQueryWrapper<Task>() new LambdaQueryWrapper<Task>()
.eq(Task::getTaskStatus, Task.STATUS_CONVEYOR_END) // 任务状态:待库位
.eq(Task::getTaskStatus, Task.STATUS_TEMPORARY_STORAGE) // 任务状态:待库位 .eq(Task::getTaskStatus, Task.STATUS_TEMPORARY_STORAGE) // 任务状态:待库位
.eq(Task::getWcId, station.getWcId()) // 匹配当前站点的工位ID .eq(Task::getWcId, station.getWcId()) // 匹配当前站点的工位ID
.orderByAsc(Task::getCreateTime) // 按创建时间升序,优先处理最早创建的任务 .orderByAsc(Task::getCreateTime) // 按创建时间升序,优先处理最早创建的任务
@ -154,6 +153,8 @@ public class StorageMonitoringServiceImpl implements IStorageMonitoringService {
} else { } else {
// 更新库位状态为空闲 // 更新库位状态为空闲
location.setLocationStatus(Location.STATUS_FREE); location.setLocationStatus(Location.STATUS_FREE);
log.info("【仓储监控】库位ID:{} - 更新的参数{}", locationId,location);
boolean updateResult = locationService.updateById(location); boolean updateResult = locationService.updateById(location);
if (updateResult) { if (updateResult) {
log.info("【仓储监控】库位ID:{} - 状态更新为空闲成功", locationId); log.info("【仓储监控】库位ID:{} - 状态更新为空闲成功", locationId);

@ -1,7 +1,11 @@
package org.springblade.desk.logistics.utils; package org.springblade.desk.logistics.utils;
import java.util.Collection; import cn.hutool.db.sql.Order;
import java.util.Map; import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
public class CollectionCheckUtil { public class CollectionCheckUtil {
/** /**
@ -32,5 +36,30 @@ public class CollectionCheckUtil {
// 不支持的集合类型 // 不支持的集合类型
throw new IllegalArgumentException("不支持的集合类型:" + targetCollection.getClass().getName()); throw new IllegalArgumentException("不支持的集合类型:" + targetCollection.getClass().getName());
} }
/**
* 方式2流式操作方式简洁优雅Java8+推荐
* @param a 实体类集合
* @param b 字符串集合
* @return b中不存在于a的字符串列表
*/
public static List<String> findNotExistInBByStream(List<YieldOrder> a, Collection<String> b) {
// 1. 校验入参
if (CollectionUtils.isEmpty(a) || CollectionUtils.isEmpty(b)) {
return CollectionUtils.isEmpty(b) ? new ArrayList<>() : new ArrayList<>(b);
}
// 2. 提取a中的对比字段,生成Set(过滤null)
Set<String> aCodeSet = a.stream()
.filter(Objects::nonNull) // 过滤null实体
.map(YieldOrder::getCardNo) // 提取要对比的字段(替换为你的实际字段)
.filter(Objects::nonNull) // 过滤null字段值
.collect(Collectors.toSet());
// 3. 筛选b中不在aCodeSet的元素
return b.stream()
.filter(Objects::nonNull) // 过滤b中的null值
.filter(str -> !aCodeSet.contains(str))
.collect(Collectors.toList());
}
} }

@ -717,7 +717,12 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
@Override @Override
public Long getWcId(Long orderId) { public Long getWcId(Long orderId) {
return baseMapper.getWcId(orderId); // return baseMapper.getWcId(orderId);
List<YieldOrder> list = list(new LambdaQueryWrapper<YieldOrder>().eq(YieldOrder::getId, orderId));
if (list!=null&&!list.isEmpty()) {
return list.get(0).getWorkCenterId();
}
return null;
} }
/** /**

Loading…
Cancel
Save