订单查询修改
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.WorkerService;
|
||||
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.time.DateUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
|
@ -554,15 +554,34 @@ public class OrderController extends BaseController {
|
|||
// 查询主单
|
||||
OrderMaster orderMasterReq = new OrderMaster();
|
||||
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
||||
List<OrderListResponse> masterList = this.getMasterList(orderMasterReq);
|
||||
// 超时查询需要排除同个师傅的主单子单同时出现
|
||||
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
|
||||
public int compare(OrderListResponse o1, OrderListResponse o2) {
|
||||
return o1.getExpectTimeStart().compareTo(o2.getExpectTimeStart());
|
||||
|
|
@ -589,13 +608,29 @@ public class OrderController extends BaseController {
|
|||
// 查询主单
|
||||
OrderMaster orderMasterReq = new OrderMaster();
|
||||
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
||||
List<OrderListResponse> masterList = this.getMasterAfterList(orderMasterReq);
|
||||
// 需要排除同个师傅的主单子单同时出现
|
||||
List<Long> exceptWorkerIds = detailList.stream().map(OrderListResponse::getWorkerId).collect(Collectors.toList());
|
||||
orderMasterReq.setExceptWorkerIds(exceptWorkerIds);
|
||||
orderListResponses.addAll(this.getMasterAfterList(orderMasterReq));
|
||||
List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>();
|
||||
for (OrderListResponse master: masterList) {
|
||||
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
|
||||
public int compare(OrderListResponse o1, OrderListResponse o2) {
|
||||
return o1.getExpectTimeStart().compareTo(o2.getExpectTimeStart());
|
||||
|
|
|
|||
|
|
@ -98,5 +98,5 @@ public class OrderMaster extends BaseEntity {
|
|||
|
||||
private Boolean shelveStatus;
|
||||
|
||||
private List<Long> exceptWorkerIds;
|
||||
private List<Long> exceptOrderMasterIds;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,8 +94,8 @@
|
|||
<if test="orderStatus != null">
|
||||
AND od.order_status = #{orderStatus}
|
||||
</if>
|
||||
<if test="orderMasterCode != null and orderMasterCode != 0">
|
||||
AND od.order_detail_code = #{orderMasterCode}
|
||||
<if test="orderMasterCode != null and orderMasterCode != ''">
|
||||
AND od.order_master_code = #{orderMasterCode}
|
||||
</if>
|
||||
<if test="workerId != null and workerId != 0">
|
||||
AND od.worker_id = #{workerId}
|
||||
|
|
|
|||
|
|
@ -146,10 +146,10 @@
|
|||
<if test="hasDispatchedAll != null">
|
||||
AND om.has_dispatched_all = #{hasDispatchedAll}
|
||||
</if>
|
||||
<if test="exceptWorkerIds != null and exceptWorkerIds.size > 0">
|
||||
AND om.worker_id not in
|
||||
<foreach collection="exceptWorkerIds" item="workerId" open="(" separator="," close=")">
|
||||
#{workerId}
|
||||
<if test="exceptOrderMasterIds != null and exceptOrderMasterIds.size > 0">
|
||||
AND om.id not in
|
||||
<foreach collection="exceptOrderMasterIds" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
|
|
|
|||
Loading…
Reference in New Issue