增加售后记录是否显示,

This commit is contained in:
cb 2025-10-17 14:54:02 +08:00
parent e0060c0432
commit 8bbacc653f
2 changed files with 36 additions and 17 deletions

View File

@ -1632,17 +1632,24 @@ public class OrderController extends BaseController {
// 查询售后记录 // 查询售后记录
List<AfterServiceRecord> afterServiceRecords = new ArrayList<>(); List<AfterServiceRecord> afterServiceRecords = new ArrayList<>();
List<AfterServiceRecord> mewAfterServiceRecords = new ArrayList<>();
List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId());
boolean hasMatchingAfterService = false;
detailOrderList.stream().forEach(detail -> { detailOrderList.stream().forEach(detail -> {
// 只显示子单师傅ID和主单师傅ID一致的售后订单 AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord();
if (detail.getWorkerId() != null && detail.getWorkerId().equals(master.getWorkerId())) { afterServiceRecordQry.setOrderDetailId(detail.getId());
AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); List<AfterServiceRecord> records = afterServiceRecordService
afterServiceRecordQry.setOrderDetailId(detail.getId()); .selectAfterServiceRecordList(afterServiceRecordQry);
List<AfterServiceRecord> records = afterServiceRecordService // 检查子单师傅ID是否与主单师傅ID一致且有售后记录
.selectAfterServiceRecordList(afterServiceRecordQry); afterServiceRecords.addAll(records);
afterServiceRecords.addAll(records); if (detail.getWorkerId() != null && detail.getWorkerId().equals(master.getWorkerId()) && !records.isEmpty()) {
mewAfterServiceRecords.addAll(records);
} }
}); });
// 设置是否显示售后记录字段
if (!mewAfterServiceRecords.isEmpty()) {
hasMatchingAfterService = true;
}
for (OrderGoods orderGoods : orderStandardList) { for (OrderGoods orderGoods : orderStandardList) {
OrderStandard orderStandard = new OrderStandard(); OrderStandard orderStandard = new OrderStandard();
@ -1692,6 +1699,7 @@ public class OrderController extends BaseController {
orderListResponse.setTimeout(master.getTimeout()); orderListResponse.setTimeout(master.getTimeout());
orderListResponse.setTimeoutFineTimes(master.getTimeoutFineTimes()); orderListResponse.setTimeoutFineTimes(master.getTimeoutFineTimes());
orderListResponse.setAfterServiceRecordList(afterServiceRecords); orderListResponse.setAfterServiceRecordList(afterServiceRecords);
orderListResponse.setShowAfterServiceRecord(hasMatchingAfterService ? 1 : 0);
orderListResponse.setCreateTime(master.getCreateTime()); orderListResponse.setCreateTime(master.getCreateTime());
orderListResponse.setUpdateTime(master.getUpdateTime()); orderListResponse.setUpdateTime(master.getUpdateTime());
orderListResponses.add(orderListResponse); orderListResponses.add(orderListResponse);
@ -1973,17 +1981,24 @@ public class OrderController extends BaseController {
// 查询售后记录 // 查询售后记录
List<AfterServiceRecord> afterServiceRecords = new ArrayList<>(); List<AfterServiceRecord> afterServiceRecords = new ArrayList<>();
List<AfterServiceRecord> mewAfterServiceRecords = new ArrayList<>();
List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId());
boolean hasMatchingAfterService = false;
detailOrderList.stream().forEach(detail -> { detailOrderList.stream().forEach(detail -> {
// 只显示子单师傅ID和主单师傅ID一致的售后订单 AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord();
if (detail.getWorkerId() != null && detail.getWorkerId().equals(master.getWorkerId())) { afterServiceRecordQry.setOrderDetailId(detail.getId());
AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); List<AfterServiceRecord> records = afterServiceRecordService
afterServiceRecordQry.setOrderDetailId(detail.getId()); .selectAfterServiceRecordList(afterServiceRecordQry);
List<AfterServiceRecord> records = afterServiceRecordService // 检查子单师傅ID是否与主单师傅ID一致且有售后记录
.selectAfterServiceRecordList(afterServiceRecordQry); afterServiceRecords.addAll(records);
afterServiceRecords.addAll(records); if (detail.getWorkerId() != null && detail.getWorkerId().equals(master.getWorkerId()) && !records.isEmpty()) {
mewAfterServiceRecords.addAll(records);
} }
}); });
// 设置是否显示售后记录字段
if (!mewAfterServiceRecords.isEmpty()) {
hasMatchingAfterService = true;
}
for (OrderGoods orderGoods : orderStandardList) { for (OrderGoods orderGoods : orderStandardList) {
OrderStandard orderStandard = new OrderStandard(); OrderStandard orderStandard = new OrderStandard();
@ -2001,6 +2016,7 @@ public class OrderController extends BaseController {
&& master.getWorkerId() != null; && master.getWorkerId() != null;
logger.info("是否为监控单{}主单id{}", condition, master); logger.info("是否为监控单{}主单id{}", condition, master);
// 编辑返回属性 // 编辑返回属性
orderListResponse.setShowAfterServiceRecord(hasMatchingAfterService ? 1 : 0);
orderListResponse.setWorkerRemark(master.getWorkerRemark()); orderListResponse.setWorkerRemark(master.getWorkerRemark());
orderListResponse.setGoods(goods); orderListResponse.setGoods(goods);
orderListResponse.setIsNeedBill(master.getIsNeedBill()); orderListResponse.setIsNeedBill(master.getIsNeedBill());
@ -2241,9 +2257,7 @@ public class OrderController extends BaseController {
afterServiceRecord.setOrderDetailId(detail.getId()); afterServiceRecord.setOrderDetailId(detail.getId());
List<AfterServiceRecord> afterServiceRecordList List<AfterServiceRecord> afterServiceRecordList
=afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
if (detail.getWorkerId()!=orderMaster.getWorkerId()) {
afterServiceRecordList=null;
}
// 编辑返回属性 // 编辑返回属性
orderListResponse.setWorkerRemark(detail.getWorkerRemark()); orderListResponse.setWorkerRemark(detail.getWorkerRemark());
orderListResponse.setGoods(goods); orderListResponse.setGoods(goods);

View File

@ -320,4 +320,9 @@ public class OrderListResponse {
*/ */
@Excel(name = "是否已撤销服务主单", cellType = Excel.ColumnType.NUMERIC, readConverterExp = "0=未撤销,1=已撤销") @Excel(name = "是否已撤销服务主单", cellType = Excel.ColumnType.NUMERIC, readConverterExp = "0=未撤销,1=已撤销")
private Integer serviceCancelled; private Integer serviceCancelled;
/**
* 是否显示售后记录0=不显示1=显示
*/
private Integer showAfterServiceRecord = 0;
} }