feat(crm): 添加订单项统计功能

- 在CrmOrderItemController中新增三个统计接口:按订单ID、销售员、合同ID统计配卷汇总
- 实现resolveCoilIdsByOrderId、resolveCoilIdsBySalesman、resolveCoilIdsByContractId辅助方法
- 重构queryCoilsByOrderId、queryCoilsBySalesman、queryCoilsByContractIdPaginated方法逻辑
- 新增queryCoilsByOrderIdStatistics、queryCoilsBySalesmanStatistics、queryCoilsByContractIdStatistics统计方法
- 添加emptyStatistics私有方法返回默认统计值
- 在WmsDeliveryWaybillDetailController中新增按负责人统计已发货钢卷汇总接口
This commit is contained in:
2026-06-29 17:19:28 +08:00
parent bc7b9d2454
commit 70ade4632e
4 changed files with 194 additions and 91 deletions

View File

@@ -203,4 +203,19 @@ public class WmsDeliveryWaybillDetailController extends BaseController {
return iWmsMaterialCoilService.queryPageList(wmsMaterialCoilBo, pageQuery);
}
/**
* 根据负责人(principal)统计已发货绑定钢卷的汇总数据(数量、毛重、净重)
*/
@GetMapping("/coilListByPrincipal/statistics")
public R<java.util.Map<String, java.math.BigDecimal>> getCoilListByPrincipalStatistics(
@RequestParam(required = false) String principal) {
List<Long> boundCoilIds = iWmsDeliveryWaybillDetailService.getBoundCoilIdsByPrincipal(principal);
if (boundCoilIds == null || boundCoilIds.isEmpty()) {
return R.ok();
}
WmsMaterialCoilBo wmsMaterialCoilBo = new WmsMaterialCoilBo();
wmsMaterialCoilBo.setCoilIds(boundCoilIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
return R.ok(iWmsMaterialCoilService.getStatistics(wmsMaterialCoilBo));
}
}