问题修复

This commit is contained in:
donqi 2022-10-30 00:46:56 +08:00
parent ac2274a956
commit 2d69d21a1c
4 changed files with 74 additions and 2 deletions

View File

@ -137,6 +137,7 @@ public class OrderDetailController extends BaseController {
WorkerCertification workerRealInfo = null;
String workerName = "";
String masterWorkerName = "";
String masterCompanyName = "";
if (worker != null) {
// 师傅实名信息
workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId());
@ -149,6 +150,7 @@ public class OrderDetailController extends BaseController {
// 大师傅实名信息
workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId());
masterWorkerName = workerRealInfo == null ? masterWorker.getName() : workerRealInfo.getName();
masterCompanyName = workerRealInfo == null ? null : workerRealInfo.getCompanyName();
}
// 消费者信息
@ -206,8 +208,10 @@ public class OrderDetailController extends BaseController {
}
}
orderListResponse.setPayMoney(workerFee);
orderListResponse.setIsOnlyServ(Boolean.TRUE);
}else {
orderListResponse.setPayMoney(detailPayMoney);
orderListResponse.setIsOnlyServ(Boolean.FALSE);
}
// 编辑返回属性
orderListResponse.setOrderDetailId(detail.getId());
@ -221,6 +225,7 @@ public class OrderDetailController extends BaseController {
orderListResponse.setWorkerName(workerName);
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
orderListResponse.setMasterWorkerName(masterWorkerName);
orderListResponse.setMasterCompanyName(masterCompanyName);
orderListResponse.setMasterWorkerPhone(masterWorker == null ? "" : masterWorker.getPhone());
orderListResponse.setCustomerName(customerAddress.getName());
orderListResponse.setCustomerPhone(customerAddress.getPhone());
@ -323,8 +328,10 @@ public class OrderDetailController extends BaseController {
}
}
orderListResponse.setPayMoney(workerFee);
orderListResponse.setIsOnlyServ(Boolean.TRUE);
}else {
orderListResponse.setPayMoney(detailPayMoney);
orderListResponse.setIsOnlyServ(Boolean.FALSE);
}
// 编辑返回属性
@ -417,6 +424,10 @@ public class OrderDetailController extends BaseController {
// 财务信息
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
BigDecimal detailPayMoney = financialDetail.getPayMoney();
// 查询子单加价记录
FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId());
BigDecimal changeMoney = financialChangeRecord == null ? BigDecimal.ZERO : financialChangeRecord.getChangeMoney();
// 查询子单加价记录
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
// changeRecordQry.setOrderDetailId(detail.getId());
@ -454,8 +465,10 @@ public class OrderDetailController extends BaseController {
}
}
orderListResponse.setPayMoney(workerFee);
orderListResponse.setIsOnlyServ(Boolean.TRUE);
}else {
orderListResponse.setPayMoney(detailPayMoney);
orderListResponse.setIsOnlyServ(Boolean.FALSE);
}
@ -489,6 +502,7 @@ public class OrderDetailController extends BaseController {
orderListResponse.setOrderType(detail.getOrderType());
orderListResponse.setIsOverTime(isOverTime);
orderListResponse.setAfterServiceRecordList(detailRecordMap.get(detail.getId()));
orderListResponse.setChangeMoney(changeMoney);
orderListResponses.add(orderListResponse);
});
return voDataTable(orderListResponses, list);

View File

@ -60,6 +60,7 @@ import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -183,7 +184,6 @@ public class OrderMasterController extends BaseController {
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
orderListResponse.setPayMoney(totalPayMoney);
orderListResponse.setChangeMoney(totalChangeMoney);
// orderListResponse.setPaidMoney(totalPayMoney.subtract(totalChangeMoney));
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
orderListResponse.setCustomerName(customerAddress.getName());
@ -446,6 +446,8 @@ public class OrderMasterController extends BaseController {
List<AfterServiceRecord> records =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
orderStandardDetail.setAfterServiceRecordList(records);
orderStandardDetail.setIsOnlyServ(this.checkIsOnlyServer(orderMaster.getId(), orderDetail.getWorkerId()) ? Boolean.TRUE : Boolean.FALSE);
orderStandardDetails.add(orderStandardDetail);
}
@ -489,6 +491,26 @@ public class OrderMasterController extends BaseController {
standardList.add(orderStandard);
}
// 查询是否超时
List<OrderTimeoutRecord> timeoutRecords = new ArrayList<>();
List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(orderMaster.getId());
detailOrderList.stream().forEach(detail -> {
OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus());
if (timeoutRecord != null) {
timeoutRecords.add(timeoutRecord);
}
});
// 查询主单师傅的最终收益
FinancialDetail fdQry = new FinancialDetail();
fdQry.setPayeeId(orderMaster.getWorkerId());
fdQry.setFinancialMasterId(financialMaster.getId());
List<FinancialDetail> financialDetailList = financialDetailService.selectFinancialDetailList(fdQry);
BigDecimal finalRecvMoney = BigDecimal.ZERO;
for (FinancialDetail financialDetail: financialDetailList) {
finalRecvMoney = finalRecvMoney.add(financialDetail.getPayMoney());
}
// 编辑返回属性
orderListResponse.setOrderMasterId(orderMaster.getId());
orderListResponse.setOrderMasterCode(orderMaster.getCode());
@ -515,6 +537,8 @@ public class OrderMasterController extends BaseController {
orderListResponse.setRemark(goods.getRemark());
orderListResponse.setCustomerRemark(orderMaster.getRemark());
orderListResponse.setOrderStandardDetailList(orderStandardDetails);
orderListResponse.setOrderTimeoutRecords(timeoutRecords);
orderListResponse.setFinalRecvMoney(finalRecvMoney);
return AjaxResult.success(orderListResponse);
} catch (Exception e) {
@ -713,4 +737,34 @@ public class OrderMasterController extends BaseController {
return AjaxResult.error(ExceptionUtil.getExceptionMessage(e));
}
}
private boolean checkIsOnlyServer(Long orderMasterId, Long workId){
// 找出原单的数量
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderMasterId(orderMasterId);
// 找出原单关联的细单的商品数量
List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(orderMasterId);
for (OrderDetail detail : orderDetailList){
// 非一个师傅接单
if(!workId.equals(detail.getWorkerId())){
return false;
}
// 子单数量
List<OrderGoods> orderDetailGoodsList = orderGoodsService.selectByOrderDetailId(detail.getId());
// 计算剩余未分配的商品数量
for (OrderGoods detailGoods : orderDetailGoodsList) {
for(OrderGoods masterGoods : orderGoodsList){
if(Objects.equals(masterGoods.getGoodsStandardId(), detailGoods.getGoodsStandardId())){
masterGoods.setGoodsNum(masterGoods.getGoodsNum() - detailGoods.getGoodsNum());
}
}
}
}
// 有单派完.
for (OrderGoods orderGoods : orderGoodsList) {
if (orderGoods.getGoodsNum() > 0) {
return false;
}
}
return true;
}
}

View File

@ -29,6 +29,8 @@ public class OrderListResponse {
private String masterWorkerPhone;
private String masterCompanyName;
private String customerName;
private String customerPhone;
@ -69,7 +71,7 @@ public class OrderListResponse {
private BigDecimal payMoney;
private BigDecimal paidMoney;
private BigDecimal finalRecvMoney;
private BigDecimal changeMoney;
@ -95,4 +97,5 @@ public class OrderListResponse {
private List<AfterServiceRecord> afterServiceRecordList;
private Boolean isOnlyServ;
}

View File

@ -50,4 +50,5 @@ public class OrderStandardDetail {
private Integer orderStatus;
private Boolean isOnlyServ;
}