订单查询修改
This commit is contained in:
parent
ca514349d2
commit
1e4887e367
|
|
@ -44,7 +44,7 @@ import com.ghy.worker.domain.WorkerCertification;
|
||||||
import com.ghy.worker.service.IWorkerCertificationService;
|
import com.ghy.worker.service.IWorkerCertificationService;
|
||||||
import com.ghy.worker.service.WorkerService;
|
import com.ghy.worker.service.WorkerService;
|
||||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||||
import nonapi.io.github.classgraph.utils.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||||
import org.apache.commons.lang3.time.DateUtils;
|
import org.apache.commons.lang3.time.DateUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
|
@ -554,15 +554,34 @@ public class OrderController extends BaseController {
|
||||||
// 查询主单
|
// 查询主单
|
||||||
OrderMaster orderMasterReq = new OrderMaster();
|
OrderMaster orderMasterReq = new OrderMaster();
|
||||||
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
||||||
|
List<OrderListResponse> masterList = this.getMasterList(orderMasterReq);
|
||||||
// 超时查询需要排除同个师傅的主单子单同时出现
|
// 超时查询需要排除同个师傅的主单子单同时出现
|
||||||
if (orderListRequest.getIsOverTime() != null && orderListRequest.getIsOverTime()) {
|
if (orderListRequest.getIsOverTime() != null && orderListRequest.getIsOverTime()) {
|
||||||
List<Long> exceptWorkerIds = detailList.stream().map(OrderListResponse::getWorkerId).collect(Collectors.toList());
|
// 需要排除同个师傅的主单子单同时出现
|
||||||
orderMasterReq.setExceptWorkerIds(exceptWorkerIds);
|
List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>();
|
||||||
|
for (OrderListResponse master: masterList) {
|
||||||
|
boolean isKeep = false;
|
||||||
|
// 查询该主单下所有售后中的子单
|
||||||
|
OrderDetail detailAfterListOfMasterQry = new OrderDetail();
|
||||||
|
detailAfterListOfMasterQry.setOrderMasterCode(master.getOrderMasterCode());
|
||||||
|
List<OrderListResponse> detailListOfMasters = this.getDetailList(detailAfterListOfMasterQry);
|
||||||
|
for (OrderListResponse detailListOfMaster: detailListOfMasters) {
|
||||||
|
if (!detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) {
|
||||||
|
isKeep = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isKeep) {
|
||||||
|
filteredMasterList.add(master);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
orderListResponses.addAll(filteredMasterList);
|
||||||
|
} else {
|
||||||
|
orderListResponses.addAll(masterList);
|
||||||
}
|
}
|
||||||
orderListResponses.addAll(this.getMasterList(orderMasterReq));
|
|
||||||
|
|
||||||
// 根据预约时间倒序排列
|
// 根据预约时间倒序排列
|
||||||
CollectionUtils.sortIfNotEmpty(orderListResponses, new Comparator<OrderListResponse>() {
|
Collections.sort(orderListResponses, new Comparator<OrderListResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public int compare(OrderListResponse o1, OrderListResponse o2) {
|
public int compare(OrderListResponse o1, OrderListResponse o2) {
|
||||||
return o1.getExpectTimeStart().compareTo(o2.getExpectTimeStart());
|
return o1.getExpectTimeStart().compareTo(o2.getExpectTimeStart());
|
||||||
|
|
@ -589,13 +608,29 @@ public class OrderController extends BaseController {
|
||||||
// 查询主单
|
// 查询主单
|
||||||
OrderMaster orderMasterReq = new OrderMaster();
|
OrderMaster orderMasterReq = new OrderMaster();
|
||||||
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
||||||
|
List<OrderListResponse> masterList = this.getMasterAfterList(orderMasterReq);
|
||||||
// 需要排除同个师傅的主单子单同时出现
|
// 需要排除同个师傅的主单子单同时出现
|
||||||
List<Long> exceptWorkerIds = detailList.stream().map(OrderListResponse::getWorkerId).collect(Collectors.toList());
|
List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>();
|
||||||
orderMasterReq.setExceptWorkerIds(exceptWorkerIds);
|
for (OrderListResponse master: masterList) {
|
||||||
orderListResponses.addAll(this.getMasterAfterList(orderMasterReq));
|
boolean isKeep = false;
|
||||||
|
// 查询该主单下所有售后中的子单
|
||||||
|
OrderDetail detailAfterListOfMasterQry = new OrderDetail();
|
||||||
|
detailAfterListOfMasterQry.setOrderMasterCode(master.getOrderMasterCode());
|
||||||
|
List<OrderListResponse> detailAfterListOfMasters = this.getDetailAfterList(detailAfterListOfMasterQry);
|
||||||
|
for (OrderListResponse detailAfterListOfMaster: detailAfterListOfMasters) {
|
||||||
|
if (!detailAfterListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) {
|
||||||
|
isKeep = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isKeep) {
|
||||||
|
filteredMasterList.add(master);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
orderListResponses.addAll(filteredMasterList);
|
||||||
|
|
||||||
// 根据预约时间倒序排列
|
// 根据预约时间倒序排列
|
||||||
CollectionUtils.sortIfNotEmpty(orderListResponses, new Comparator<OrderListResponse>() {
|
Collections.sort(orderListResponses, new Comparator<OrderListResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public int compare(OrderListResponse o1, OrderListResponse o2) {
|
public int compare(OrderListResponse o1, OrderListResponse o2) {
|
||||||
return o1.getExpectTimeStart().compareTo(o2.getExpectTimeStart());
|
return o1.getExpectTimeStart().compareTo(o2.getExpectTimeStart());
|
||||||
|
|
|
||||||
|
|
@ -98,5 +98,5 @@ public class OrderMaster extends BaseEntity {
|
||||||
|
|
||||||
private Boolean shelveStatus;
|
private Boolean shelveStatus;
|
||||||
|
|
||||||
private List<Long> exceptWorkerIds;
|
private List<Long> exceptOrderMasterIds;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,8 +94,8 @@
|
||||||
<if test="orderStatus != null">
|
<if test="orderStatus != null">
|
||||||
AND od.order_status = #{orderStatus}
|
AND od.order_status = #{orderStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="orderMasterCode != null and orderMasterCode != 0">
|
<if test="orderMasterCode != null and orderMasterCode != ''">
|
||||||
AND od.order_detail_code = #{orderMasterCode}
|
AND od.order_master_code = #{orderMasterCode}
|
||||||
</if>
|
</if>
|
||||||
<if test="workerId != null and workerId != 0">
|
<if test="workerId != null and workerId != 0">
|
||||||
AND od.worker_id = #{workerId}
|
AND od.worker_id = #{workerId}
|
||||||
|
|
|
||||||
|
|
@ -146,10 +146,10 @@
|
||||||
<if test="hasDispatchedAll != null">
|
<if test="hasDispatchedAll != null">
|
||||||
AND om.has_dispatched_all = #{hasDispatchedAll}
|
AND om.has_dispatched_all = #{hasDispatchedAll}
|
||||||
</if>
|
</if>
|
||||||
<if test="exceptWorkerIds != null and exceptWorkerIds.size > 0">
|
<if test="exceptOrderMasterIds != null and exceptOrderMasterIds.size > 0">
|
||||||
AND om.worker_id not in
|
AND om.id not in
|
||||||
<foreach collection="exceptWorkerIds" item="workerId" open="(" separator="," close=")">
|
<foreach collection="exceptOrderMasterIds" item="id" open="(" separator="," close=")">
|
||||||
#{workerId}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue