OMS调整修改

This commit is contained in:
秦鸿展
2026-09-09 20:34:24 +08:00
parent f991485ba3
commit 698a8ea9a6
3 changed files with 25 additions and 1 deletions
@@ -36,6 +36,7 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -250,11 +251,27 @@ public class BusinessDocumentOrderAdjustService {
/** /**
* 按业务单查询调整记录(供订单详情页"调整记录"Tab用) * 按业务单查询调整记录(供订单详情页"调整记录"Tab用)
* 每条记录同时带出调整后明细快照(detail),前端可自包含展示,无需再单独调详情接口
*/ */
public List<BusinessDocumentOrderAdjustRecordDTO> listAdjustRecordByOrder(Long orderId) { public List<BusinessDocumentOrderAdjustRecordDTO> listAdjustRecordByOrder(Long orderId) {
BusinessDocumentOrderAdjustQueryDTO query = new BusinessDocumentOrderAdjustQueryDTO(); BusinessDocumentOrderAdjustQueryDTO query = new BusinessDocumentOrderAdjustQueryDTO();
query.setOrderId(orderId); query.setOrderId(orderId);
return listAdjustRecord(query); List<BusinessDocumentOrderAdjustRecordDTO> list = listAdjustRecord(query);
if (list == null || list.isEmpty()) {
return list;
}
// 批量取明细快照按 adjust_id 一次性拼上,避免 N+1
List<Long> adjustIds = list.stream()
.map(BusinessDocumentOrderAdjustRecordDTO::getId)
.collect(Collectors.toList());
List<BusinessDocumentOrderAdjustDetail> details = adjustDetailMapper.selectList(
new LambdaQueryWrapper<BusinessDocumentOrderAdjustDetail>()
.in(BusinessDocumentOrderAdjustDetail::getAdjustId, adjustIds)
.eq(BusinessDocumentOrderAdjustDetail::getDelFlag, 1));
Map<Long, BusinessDocumentOrderAdjustDetail> detailMap = details.stream()
.collect(Collectors.toMap(BusinessDocumentOrderAdjustDetail::getAdjustId, d -> d, (a, b) -> a));
list.forEach(vo -> vo.setDetail(detailMap.get(vo.getId())));
return list;
} }
/** /**
@@ -3,6 +3,8 @@ package com.mhd.oms.domain.businessDocumentOrderAdjustDetail.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -24,9 +26,11 @@ public class BusinessDocumentOrderAdjustDetail implements Serializable {
@ApiModelProperty("主键") @ApiModelProperty("主键")
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@ApiModelProperty("关联调整主记录ID") @ApiModelProperty("关联调整主记录ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long adjustId; private Long adjustId;
@ApiModelProperty("业务单ID") @ApiModelProperty("业务单ID")
@@ -1,5 +1,7 @@
package com.mhd.oms.interfaces.dto.businessDocumentOrderAdjust; package com.mhd.oms.interfaces.dto.businessDocumentOrderAdjust;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.mhd.oms.domain.businessDocumentOrderAdjustDetail.entity.BusinessDocumentOrderAdjustDetail; import com.mhd.oms.domain.businessDocumentOrderAdjustDetail.entity.BusinessDocumentOrderAdjustDetail;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -16,6 +18,7 @@ public class BusinessDocumentOrderAdjustRecordDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("主记录ID") @ApiModelProperty("主记录ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@ApiModelProperty("业务单ID") @ApiModelProperty("业务单ID")