feat(crm): 订单项控制器添加分页功能并新增销售员和合同查询接口
- 将getCoilsByOrderId方法改为分页查询,返回TableDataInfo格式 - 新增getCoilsBySalesman接口,支持按销售员查询生产成果钢卷列表 - 新增getCoilsByContractIdPaginated接口,支持按合同ID分页查询生产成果 - 更新前端API调用适配分页参数传递 - 修改listOrderPackaging接口支持分页查询 - 更新相关Vue组件适配新的分页数据结构返回格式
This commit is contained in:
@@ -105,11 +105,12 @@ public class CrmOrderItemController extends BaseController {
|
|||||||
@PathVariable Long contractId) {
|
@PathVariable Long contractId) {
|
||||||
return R.ok(iCrmOrderItemService.queryFinanceAndObjectionByContractId(contractId));
|
return R.ok(iCrmOrderItemService.queryFinanceAndObjectionByContractId(contractId));
|
||||||
}
|
}
|
||||||
// 根据订单id查询发货单据中的配卷。
|
// 根据订单id查询发货单据中的配卷(分页)。
|
||||||
@GetMapping("/coils/order/{orderId}")
|
@GetMapping("/coils/order/{orderId}")
|
||||||
public R<List<WmsMaterialCoilVo>> getCoilsByOrderId(@NotNull(message = "订单ID不能为空")
|
public TableDataInfo<WmsMaterialCoilVo> getCoilsByOrderId(@NotNull(message = "订单ID不能为空")
|
||||||
@PathVariable Long orderId) {
|
@PathVariable Long orderId,
|
||||||
return R.ok(iCrmOrderItemService.queryCoilsByOrderId(orderId));
|
PageQuery pageQuery) {
|
||||||
|
return iCrmOrderItemService.queryCoilsByOrderId(orderId, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据合同id查询发货单据中的配卷。
|
// 根据合同id查询发货单据中的配卷。
|
||||||
@@ -132,4 +133,19 @@ public class CrmOrderItemController extends BaseController {
|
|||||||
@PathVariable String customerId) {
|
@PathVariable String customerId) {
|
||||||
return R.ok(iCrmOrderItemService.queryCoilsByCustomerId(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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,9 +57,9 @@ public interface ICrmOrderItemService {
|
|||||||
CrmContractOrderFinanceVo queryFinanceAndObjectionByContractId(Long contractId);
|
CrmContractOrderFinanceVo queryFinanceAndObjectionByContractId(Long contractId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单ID查询发货单配卷
|
* 根据订单ID查询发货单配卷(分页)
|
||||||
*/
|
*/
|
||||||
List<WmsMaterialCoilVo> queryCoilsByOrderId(Long orderId);
|
TableDataInfo<WmsMaterialCoilVo> queryCoilsByOrderId(Long orderId, PageQuery pageQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据合同ID查询发货单配卷
|
* 根据合同ID查询发货单配卷
|
||||||
@@ -75,4 +75,14 @@ public interface ICrmOrderItemService {
|
|||||||
* 根据客户ID查询发货单配卷
|
* 根据客户ID查询发货单配卷
|
||||||
*/
|
*/
|
||||||
List<WmsMaterialCoilVo> queryCoilsByCustomerId(String customerId);
|
List<WmsMaterialCoilVo> queryCoilsByCustomerId(String customerId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据销售员查询生产成果(钢卷列表)分页
|
||||||
|
*/
|
||||||
|
TableDataInfo<WmsMaterialCoilVo> queryCoilsBySalesman(String salesman, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据合同ID查询生产成果(钢卷列表)分页
|
||||||
|
*/
|
||||||
|
TableDataInfo<WmsMaterialCoilVo> queryCoilsByContractIdPaginated(Long contractId, PageQuery pageQuery);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ import com.klp.crm.service.ICrmOrderItemService;
|
|||||||
import com.klp.mapper.WmsReceivableMapper;
|
import com.klp.mapper.WmsReceivableMapper;
|
||||||
import com.klp.mapper.WmsDeliveryWaybillMapper;
|
import com.klp.mapper.WmsDeliveryWaybillMapper;
|
||||||
import com.klp.mapper.WmsDeliveryWaybillDetailMapper;
|
import com.klp.mapper.WmsDeliveryWaybillDetailMapper;
|
||||||
|
import com.klp.mapper.WmsCoilContractRelMapper;
|
||||||
|
import com.klp.domain.WmsCoilContractRel;
|
||||||
import com.klp.service.IWmsMaterialCoilService;
|
import com.klp.service.IWmsMaterialCoilService;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -57,6 +59,7 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
|
|||||||
private final WmsReceivableMapper wmsReceivableMapper;
|
private final WmsReceivableMapper wmsReceivableMapper;
|
||||||
private final WmsDeliveryWaybillMapper wmsDeliveryWaybillMapper;
|
private final WmsDeliveryWaybillMapper wmsDeliveryWaybillMapper;
|
||||||
private final WmsDeliveryWaybillDetailMapper wmsDeliveryWaybillDetailMapper;
|
private final WmsDeliveryWaybillDetailMapper wmsDeliveryWaybillDetailMapper;
|
||||||
|
private final WmsCoilContractRelMapper coilContractRelMapper;
|
||||||
private final IWmsMaterialCoilService iWmsMaterialCoilService;
|
private final IWmsMaterialCoilService iWmsMaterialCoilService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -288,13 +291,13 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<WmsMaterialCoilVo> queryCoilsByOrderId(Long orderId) {
|
public TableDataInfo<WmsMaterialCoilVo> queryCoilsByOrderId(Long orderId, PageQuery pageQuery) {
|
||||||
LambdaQueryWrapper<WmsDeliveryWaybill> waybillWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<WmsDeliveryWaybill> waybillWrapper = new LambdaQueryWrapper<>();
|
||||||
waybillWrapper.eq(WmsDeliveryWaybill::getOrderId, orderId);
|
waybillWrapper.eq(WmsDeliveryWaybill::getOrderId, orderId);
|
||||||
List<WmsDeliveryWaybill> waybills = wmsDeliveryWaybillMapper.selectList(waybillWrapper);
|
List<WmsDeliveryWaybill> waybills = wmsDeliveryWaybillMapper.selectList(waybillWrapper);
|
||||||
|
|
||||||
if (waybills == null || waybills.isEmpty()) {
|
if (waybills == null || waybills.isEmpty()) {
|
||||||
return Collections.emptyList();
|
return new TableDataInfo<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Long> waybillIds = waybills.stream()
|
List<Long> waybillIds = waybills.stream()
|
||||||
@@ -306,7 +309,7 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
|
|||||||
List<WmsDeliveryWaybillDetail> details = wmsDeliveryWaybillDetailMapper.selectList(detailWrapper);
|
List<WmsDeliveryWaybillDetail> details = wmsDeliveryWaybillDetailMapper.selectList(detailWrapper);
|
||||||
|
|
||||||
if (details == null || details.isEmpty()) {
|
if (details == null || details.isEmpty()) {
|
||||||
return Collections.emptyList();
|
return new TableDataInfo<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
String coilIds = details.stream()
|
String coilIds = details.stream()
|
||||||
@@ -316,7 +319,7 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
|
|||||||
|
|
||||||
WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo();
|
WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo();
|
||||||
coilBo.setCoilIds(coilIds);
|
coilBo.setCoilIds(coilIds);
|
||||||
return iWmsMaterialCoilService.queryList(coilBo);
|
return iWmsMaterialCoilService.queryPageList(coilBo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -440,4 +443,74 @@ public class CrmOrderItemServiceImpl implements ICrmOrderItemService {
|
|||||||
coilBo.setCoilIds(coilIds);
|
coilBo.setCoilIds(coilIds);
|
||||||
return iWmsMaterialCoilService.queryList(coilBo);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,12 +44,13 @@ export function delOrder(orderId) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询该订单下的所有配卷
|
* 查询该订单下的配卷(分页)
|
||||||
*/
|
*/
|
||||||
export function listOrderPackaging(orderId) {
|
export function listOrderPackaging(orderId, query) {
|
||||||
return request({
|
return request({
|
||||||
url: `/crm/orderItem/coils/order/${orderId}`,
|
url: `/crm/orderItem/coils/order/${orderId}`,
|
||||||
method: 'get',
|
method: 'get',
|
||||||
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,13 +69,11 @@ export function getBoundCoilStatisticsList(query) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 按销售员查询订单明细的卷
|
// 按销售员查询订单明细的卷(分页)
|
||||||
export function listDeliveryWaybillDetailBySaleman(principal) {
|
export function listDeliveryWaybillDetailBySaleman(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/wms/deliveryWaybillDetail/coilListByPrincipal',
|
url: '/wms/deliveryWaybillDetail/coilListByPrincipal',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: query
|
||||||
principal: principal
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -371,8 +371,8 @@ export default {
|
|||||||
// 获取订单已发货的钢卷
|
// 获取订单已发货的钢卷
|
||||||
getShippedCoils() {
|
getShippedCoils() {
|
||||||
if (this.orderId) {
|
if (this.orderId) {
|
||||||
listOrderPackaging(this.orderId).then(response => {
|
listOrderPackaging(this.orderId, { pageNum: 1, pageSize: 10000 }).then(response => {
|
||||||
this.shippedCoils = response.data || [];
|
this.shippedCoils = response.rows || [];
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.shippedCoils = [];
|
this.shippedCoils = [];
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -504,8 +504,8 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 查询合同配卷列表 */
|
/** 查询合同配卷列表 */
|
||||||
getCoilList() {
|
getCoilList() {
|
||||||
listOrderPackaging(this.form.orderId).then(response => {
|
listOrderPackaging(this.form.orderId, { pageNum: 1, pageSize: 10000 }).then(response => {
|
||||||
this.coilList = response.data || [];
|
this.coilList = response.rows || [];
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/** 刷新生产成果列表(批量转单后调用) */
|
/** 刷新生产成果列表(批量转单后调用) */
|
||||||
|
|||||||
@@ -469,8 +469,8 @@ export default {
|
|||||||
// 获取订单已发货的钢卷
|
// 获取订单已发货的钢卷
|
||||||
getShippedCoils() {
|
getShippedCoils() {
|
||||||
if (this.form.orderId) {
|
if (this.form.orderId) {
|
||||||
listOrderPackaging(this.form.orderId).then(response => {
|
listOrderPackaging(this.form.orderId, { pageNum: 1, pageSize: 10000 }).then(response => {
|
||||||
this.shippedCoils = response.data || [];
|
this.shippedCoils = response.rows || [];
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.shippedCoils = [];
|
this.shippedCoils = [];
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -259,8 +259,8 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 查询发货配卷列表 */
|
/** 查询发货配卷列表 */
|
||||||
getCoilList() {
|
getCoilList() {
|
||||||
listOrderPackaging(this.currentOrder.orderId).then(response => {
|
listOrderPackaging(this.currentOrder.orderId, { pageNum: 1, pageSize: 10000 }).then(response => {
|
||||||
this.coilList = response.data || [];
|
this.coilList = response.rows || [];
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 合同号改变事件 */
|
/** 合同号改变事件 */
|
||||||
|
|||||||
@@ -310,8 +310,8 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
case 'planDelivery':
|
case 'planDelivery':
|
||||||
return listDeliveryWaybillDetailBySaleman(dictValue).then(response => {
|
return listDeliveryWaybillDetailBySaleman({ principal: dictValue, pageNum: 1, pageSize: 10000 }).then(response => {
|
||||||
this.deliveryList = response;
|
this.deliveryList = response.rows || [];
|
||||||
this.loadedTabs.planDelivery = true;
|
this.loadedTabs.planDelivery = true;
|
||||||
this.rightLoading = false;
|
this.rightLoading = false;
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
|
|||||||
@@ -188,18 +188,19 @@ public class WmsDeliveryWaybillDetailController extends BaseController {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据负责人(principal)查询已发货绑定的钢卷列表
|
* 根据负责人(principal)查询已发货绑定的钢卷列表(分页)
|
||||||
*/
|
*/
|
||||||
@GetMapping("/coilListByPrincipal")
|
@GetMapping("/coilListByPrincipal")
|
||||||
public List<WmsMaterialCoilVo> coilListByPrincipal(
|
public TableDataInfo<WmsMaterialCoilVo> coilListByPrincipal(
|
||||||
@RequestParam(required = false) String principal) {
|
@RequestParam(required = false) String principal,
|
||||||
|
PageQuery pageQuery) {
|
||||||
List<Long> boundCoilIds = iWmsDeliveryWaybillDetailService.getBoundCoilIdsByPrincipal(principal);
|
List<Long> boundCoilIds = iWmsDeliveryWaybillDetailService.getBoundCoilIdsByPrincipal(principal);
|
||||||
if (boundCoilIds == null || boundCoilIds.isEmpty()) {
|
if (boundCoilIds == null || boundCoilIds.isEmpty()) {
|
||||||
return Collections.emptyList();
|
return new TableDataInfo<>();
|
||||||
}
|
}
|
||||||
WmsMaterialCoilBo wmsMaterialCoilBo = new WmsMaterialCoilBo();
|
WmsMaterialCoilBo wmsMaterialCoilBo = new WmsMaterialCoilBo();
|
||||||
wmsMaterialCoilBo.setCoilIds(boundCoilIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
|
wmsMaterialCoilBo.setCoilIds(boundCoilIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
|
||||||
return iWmsMaterialCoilService.queryList(wmsMaterialCoilBo);
|
return iWmsMaterialCoilService.queryPageList(wmsMaterialCoilBo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user