refactor(crm): 统一配卷查询接口并增加筛选功能
- 将所有配卷查询接口统一为POST + Body BO方式 - 为配卷查询添加钢卷号、材料类型、质量状态、发货状态筛选条件 - 在合同详情页面为生产成果和发货配卷添加筛选表单 - 在订单页面为发货配卷添加筛选功能 - 在销售员页面为生产成果和计划发货添加筛选功能 - 更新异议管理页面的配卷查询参数结构 - 增加订单ID参数用于合同ID相关查询的兼容性处理
This commit is contained in:
@@ -25,8 +25,12 @@ import com.klp.crm.domain.vo.CrmOrderItemVo;
|
||||
import com.klp.crm.domain.vo.CrmOrderItemExportVo;
|
||||
import com.klp.crm.domain.vo.CrmContractOrderFinanceVo;
|
||||
import com.klp.crm.domain.bo.CrmOrderItemBo;
|
||||
import com.klp.crm.domain.bo.OrderCoilQueryBo;
|
||||
import com.klp.crm.domain.bo.SalesmanCoilQueryBo;
|
||||
import com.klp.crm.domain.bo.ContractCoilQueryBo;
|
||||
import com.klp.crm.service.ICrmOrderItemService;
|
||||
import com.klp.domain.vo.WmsMaterialCoilVo;
|
||||
import com.klp.domain.bo.WmsMaterialCoilBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
@@ -134,19 +138,63 @@ public class CrmOrderItemController extends BaseController {
|
||||
@PathVariable Long contractId) {
|
||||
return R.ok(iCrmOrderItemService.queryFinanceAndObjectionByContractId(contractId));
|
||||
}
|
||||
// 根据订单id查询发货单据中的配卷(分页)。
|
||||
@GetMapping("/coils/order/{orderId}")
|
||||
public TableDataInfo<WmsMaterialCoilVo> getCoilsByOrderId(@NotNull(message = "订单ID不能为空")
|
||||
@PathVariable Long orderId,
|
||||
PageQuery pageQuery) {
|
||||
return iCrmOrderItemService.queryCoilsByOrderId(orderId, pageQuery);
|
||||
// ==================== 钢卷查询(统一使用 POST + RequestBody BO) ====================
|
||||
|
||||
/**
|
||||
* 根据订单ID分页查询发货配卷,支持钢卷信息筛选
|
||||
*/
|
||||
@PostMapping("/coils/order/query")
|
||||
public TableDataInfo<WmsMaterialCoilVo> getCoilsByOrderId(@RequestBody @Validated OrderCoilQueryBo bo) {
|
||||
return iCrmOrderItemService.queryCoilsByOrderId(bo.getOrderId(), toPageQuery(bo), bo.getCoilBo());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据销售员分页查询生产成果,支持钢卷信息筛选
|
||||
*/
|
||||
@PostMapping("/coils/salesman/query")
|
||||
public TableDataInfo<WmsMaterialCoilVo> getCoilsBySalesman(@RequestBody @Validated SalesmanCoilQueryBo bo) {
|
||||
return iCrmOrderItemService.queryCoilsBySalesman(bo.getSalesman(), toPageQuery(bo), bo.getCoilBo());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据合同ID分页查询生产成果,支持钢卷信息筛选
|
||||
*/
|
||||
@PostMapping("/coils/contract/query")
|
||||
public TableDataInfo<WmsMaterialCoilVo> getCoilsByContractIdPaginated(@RequestBody @Validated ContractCoilQueryBo bo) {
|
||||
return iCrmOrderItemService.queryCoilsByContractIdPaginated(bo.getOrderId(), toPageQuery(bo), bo.getCoilBo());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据订单ID统计配卷汇总,支持钢卷信息筛选
|
||||
*/
|
||||
@PostMapping("/coils/order/statistics")
|
||||
public R<java.util.Map<String, java.math.BigDecimal>> getCoilsByOrderIdStatistics(@RequestBody @Validated OrderCoilQueryBo bo) {
|
||||
return R.ok(iCrmOrderItemService.queryCoilsByOrderIdStatistics(bo.getOrderId(), bo.getCoilBo()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据销售员统计生产成果汇总,支持钢卷信息筛选
|
||||
*/
|
||||
@PostMapping("/coils/salesman/statistics")
|
||||
public R<java.util.Map<String, java.math.BigDecimal>> getCoilsBySalesmanStatistics(@RequestBody @Validated SalesmanCoilQueryBo bo) {
|
||||
return R.ok(iCrmOrderItemService.queryCoilsBySalesmanStatistics(bo.getSalesman(), bo.getCoilBo()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据合同ID统计生产成果汇总,支持钢卷信息筛选
|
||||
*/
|
||||
@PostMapping("/coils/contract/statistics")
|
||||
public R<java.util.Map<String, java.math.BigDecimal>> getCoilsByContractIdStatistics(@RequestBody @Validated ContractCoilQueryBo bo) {
|
||||
return R.ok(iCrmOrderItemService.queryCoilsByContractIdStatistics(bo.getOrderId(), bo.getCoilBo()));
|
||||
}
|
||||
|
||||
// ==================== 已有接口 ====================
|
||||
|
||||
// 根据合同id查询发货单据中的配卷。
|
||||
@GetMapping("/coils/contract/{contractId}")
|
||||
public R<List<WmsMaterialCoilVo>> getCoilsByContractId(@NotNull(message = "合同ID不能为空")
|
||||
@PathVariable Long contractId) {
|
||||
return R.ok(iCrmOrderItemService.queryCoilsByContractId(contractId));
|
||||
@PathVariable Long orderId) {
|
||||
return R.ok(iCrmOrderItemService.queryCoilsByContractId(orderId));
|
||||
}
|
||||
|
||||
// 根据客户id查询该客户下属订单关联的异议和财务信息。
|
||||
@@ -163,38 +211,16 @@ public class CrmOrderItemController extends BaseController {
|
||||
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);
|
||||
}
|
||||
private PageQuery toPageQuery(OrderCoilQueryBo bo) { return buildPageQuery(bo.getPageNum(), bo.getPageSize()); }
|
||||
private PageQuery toPageQuery(SalesmanCoilQueryBo bo) { return buildPageQuery(bo.getPageNum(), bo.getPageSize()); }
|
||||
private PageQuery toPageQuery(ContractCoilQueryBo bo) { return buildPageQuery(bo.getPageNum(), bo.getPageSize()); }
|
||||
|
||||
// 根据订单ID统计配卷汇总
|
||||
@GetMapping("/coils/order/{orderId}/statistics")
|
||||
public R<java.util.Map<String, java.math.BigDecimal>> getCoilsByOrderIdStatistics(@NotNull(message = "订单ID不能为空")
|
||||
@PathVariable Long orderId) {
|
||||
return R.ok(iCrmOrderItemService.queryCoilsByOrderIdStatistics(orderId));
|
||||
}
|
||||
|
||||
// 根据销售员统计生产成果汇总
|
||||
@GetMapping("/coils/bySalesman/statistics")
|
||||
public R<java.util.Map<String, java.math.BigDecimal>> getCoilsBySalesmanStatistics(@RequestParam String salesman) {
|
||||
return R.ok(iCrmOrderItemService.queryCoilsBySalesmanStatistics(salesman));
|
||||
}
|
||||
|
||||
// 根据合同ID统计生产成果汇总
|
||||
@GetMapping("/coils/byContract/{contractId}/statistics")
|
||||
public R<java.util.Map<String, java.math.BigDecimal>> getCoilsByContractIdStatistics(@NotNull(message = "合同ID不能为空")
|
||||
@PathVariable Long contractId) {
|
||||
return R.ok(iCrmOrderItemService.queryCoilsByContractIdStatistics(contractId));
|
||||
private PageQuery buildPageQuery(Integer pageNum, Integer pageSize) {
|
||||
PageQuery pageQuery = new PageQuery();
|
||||
pageQuery.setPageNum(pageNum);
|
||||
pageQuery.setPageSize(pageSize);
|
||||
return pageQuery;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user