feat(crm): 订单项控制器添加分页功能并新增销售员和合同查询接口

- 将getCoilsByOrderId方法改为分页查询,返回TableDataInfo格式
- 新增getCoilsBySalesman接口,支持按销售员查询生产成果钢卷列表
- 新增getCoilsByContractIdPaginated接口,支持按合同ID分页查询生产成果
- 更新前端API调用适配分页参数传递
- 修改listOrderPackaging接口支持分页查询
- 更新相关Vue组件适配新的分页数据结构返回格式
This commit is contained in:
2026-06-29 17:08:24 +08:00
parent 272b29e54a
commit bc7b9d2454
11 changed files with 131 additions and 32 deletions

View File

@@ -105,11 +105,12 @@ public class CrmOrderItemController extends BaseController {
@PathVariable Long contractId) {
return R.ok(iCrmOrderItemService.queryFinanceAndObjectionByContractId(contractId));
}
// 根据订单id查询发货单据中的配卷。
// 根据订单id查询发货单据中的配卷(分页)
@GetMapping("/coils/order/{orderId}")
public R<List<WmsMaterialCoilVo>> getCoilsByOrderId(@NotNull(message = "订单ID不能为空")
@PathVariable Long orderId) {
return R.ok(iCrmOrderItemService.queryCoilsByOrderId(orderId));
public TableDataInfo<WmsMaterialCoilVo> getCoilsByOrderId(@NotNull(message = "订单ID不能为空")
@PathVariable Long orderId,
PageQuery pageQuery) {
return iCrmOrderItemService.queryCoilsByOrderId(orderId, pageQuery);
}
// 根据合同id查询发货单据中的配卷。
@@ -132,4 +133,19 @@ public class CrmOrderItemController extends BaseController {
@PathVariable String customerId) {
return R.ok(iCrmOrderItemService.queryCoilsByCustomerId(customerId));
}
// 根据销售员查询生产成果(钢卷列表),分页
@GetMapping("/coils/bySalesman")
public TableDataInfo<WmsMaterialCoilVo> getCoilsBySalesman(@RequestParam String salesman,
PageQuery pageQuery) {
return iCrmOrderItemService.queryCoilsBySalesman(salesman, pageQuery);
}
// 根据合同ID查询生产成果钢卷列表分页
@GetMapping("/coils/byContract/{contractId}")
public TableDataInfo<WmsMaterialCoilVo> getCoilsByContractIdPaginated(@NotNull(message = "合同ID不能为空")
@PathVariable Long contractId,
PageQuery pageQuery) {
return iCrmOrderItemService.queryCoilsByContractIdPaginated(contractId, pageQuery);
}
}

View File

@@ -57,9 +57,9 @@ public interface ICrmOrderItemService {
CrmContractOrderFinanceVo queryFinanceAndObjectionByContractId(Long contractId);
/**
* 根据订单ID查询发货单配卷
* 根据订单ID查询发货单配卷(分页)
*/
List<WmsMaterialCoilVo> queryCoilsByOrderId(Long orderId);
TableDataInfo<WmsMaterialCoilVo> queryCoilsByOrderId(Long orderId, PageQuery pageQuery);
/**
* 根据合同ID查询发货单配卷
@@ -75,4 +75,14 @@ public interface ICrmOrderItemService {
* 根据客户ID查询发货单配卷
*/
List<WmsMaterialCoilVo> queryCoilsByCustomerId(String customerId);
/**
* 根据销售员查询生产成果(钢卷列表)分页
*/
TableDataInfo<WmsMaterialCoilVo> queryCoilsBySalesman(String salesman, PageQuery pageQuery);
/**
* 根据合同ID查询生产成果钢卷列表分页
*/
TableDataInfo<WmsMaterialCoilVo> queryCoilsByContractIdPaginated(Long contractId, PageQuery pageQuery);
}

View File

@@ -35,6 +35,8 @@ import com.klp.crm.service.ICrmOrderItemService;
import com.klp.mapper.WmsReceivableMapper;
import com.klp.mapper.WmsDeliveryWaybillMapper;
import com.klp.mapper.WmsDeliveryWaybillDetailMapper;
import com.klp.mapper.WmsCoilContractRelMapper;
import com.klp.domain.WmsCoilContractRel;
import com.klp.service.IWmsMaterialCoilService;
import java.util.*;
@@ -57,6 +59,7 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
private final WmsReceivableMapper wmsReceivableMapper;
private final WmsDeliveryWaybillMapper wmsDeliveryWaybillMapper;
private final WmsDeliveryWaybillDetailMapper wmsDeliveryWaybillDetailMapper;
private final WmsCoilContractRelMapper coilContractRelMapper;
private final IWmsMaterialCoilService iWmsMaterialCoilService;
/**
@@ -288,13 +291,13 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
}
@Override
public List<WmsMaterialCoilVo> queryCoilsByOrderId(Long orderId) {
public TableDataInfo<WmsMaterialCoilVo> queryCoilsByOrderId(Long orderId, PageQuery pageQuery) {
LambdaQueryWrapper<WmsDeliveryWaybill> waybillWrapper = new LambdaQueryWrapper<>();
waybillWrapper.eq(WmsDeliveryWaybill::getOrderId, orderId);
List<WmsDeliveryWaybill> waybills = wmsDeliveryWaybillMapper.selectList(waybillWrapper);
if (waybills == null || waybills.isEmpty()) {
return Collections.emptyList();
return new TableDataInfo<>();
}
List<Long> waybillIds = waybills.stream()
@@ -306,7 +309,7 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
List<WmsDeliveryWaybillDetail> details = wmsDeliveryWaybillDetailMapper.selectList(detailWrapper);
if (details == null || details.isEmpty()) {
return Collections.emptyList();
return new TableDataInfo<>();
}
String coilIds = details.stream()
@@ -316,7 +319,7 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo();
coilBo.setCoilIds(coilIds);
return iWmsMaterialCoilService.queryList(coilBo);
return iWmsMaterialCoilService.queryPageList(coilBo, pageQuery);
}
@Override
@@ -440,4 +443,74 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
coilBo.setCoilIds(coilIds);
return iWmsMaterialCoilService.queryList(coilBo);
}
@Override
public TableDataInfo<WmsMaterialCoilVo> queryCoilsBySalesman(String salesman, PageQuery pageQuery) {
LambdaQueryWrapper<CrmOrder> orderWrapper = new LambdaQueryWrapper<>();
orderWrapper.eq(CrmOrder::getSalesman, salesman);
orderWrapper.eq(CrmOrder::getDelFlag, 0);
List<CrmOrder> orders = crmOrderMapper.selectList(orderWrapper);
if (orders == null || orders.isEmpty()) {
return new TableDataInfo<>();
}
List<Long> orderIds = orders.stream()
.map(CrmOrder::getOrderId)
.collect(Collectors.toList());
LambdaQueryWrapper<WmsCoilContractRel> relWrapper = new LambdaQueryWrapper<>();
relWrapper.in(WmsCoilContractRel::getContractId, orderIds);
relWrapper.eq(WmsCoilContractRel::getDelFlag, 0);
List<WmsCoilContractRel> rels = coilContractRelMapper.selectList(relWrapper);
if (rels == null || rels.isEmpty()) {
return new TableDataInfo<>();
}
String coilIds = rels.stream()
.map(WmsCoilContractRel::getCoilId)
.distinct()
.map(String::valueOf)
.collect(Collectors.joining(","));
WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo();
coilBo.setCoilIds(coilIds);
return iWmsMaterialCoilService.queryPageList(coilBo, pageQuery);
}
@Override
public TableDataInfo<WmsMaterialCoilVo> queryCoilsByContractIdPaginated(Long contractId, PageQuery pageQuery) {
LambdaQueryWrapper<CrmOrder> orderWrapper = new LambdaQueryWrapper<>();
orderWrapper.eq(CrmOrder::getContractId, contractId);
orderWrapper.eq(CrmOrder::getDelFlag, 0);
List<CrmOrder> orders = crmOrderMapper.selectList(orderWrapper);
if (orders == null || orders.isEmpty()) {
return new TableDataInfo<>();
}
List<Long> orderIds = orders.stream()
.map(CrmOrder::getOrderId)
.collect(Collectors.toList());
LambdaQueryWrapper<WmsCoilContractRel> relWrapper = new LambdaQueryWrapper<>();
relWrapper.in(WmsCoilContractRel::getContractId, orderIds);
relWrapper.eq(WmsCoilContractRel::getDelFlag, 0);
List<WmsCoilContractRel> rels = coilContractRelMapper.selectList(relWrapper);
if (rels == null || rels.isEmpty()) {
return new TableDataInfo<>();
}
String coilIds = rels.stream()
.map(WmsCoilContractRel::getCoilId)
.distinct()
.map(String::valueOf)
.collect(Collectors.joining(","));
WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo();
coilBo.setCoilIds(coilIds);
return iWmsMaterialCoilService.queryPageList(coilBo, pageQuery);
}
}