1、子单详情中展示售后情况
2、修复未约未排中的主单派单完成后仍出现在未约未排栏的问题 3、监控单不展示自己承接的主单 4、未全部派完的主单调整为展示在未约未排及监控单两栏
This commit is contained in:
parent
c19dd62cd8
commit
3e4514a2e4
|
|
@ -190,14 +190,19 @@ public class OrderController extends BaseController {
|
|||
// 接单师傅
|
||||
Worker acceptWorker = workerService.selectById(request.getWorkerId());
|
||||
Assert.notNull(acceptWorker, "查询接单师傅信息失败");
|
||||
om.setAllSelfAssigned(0);
|
||||
// 校验接单师傅和派单师傅是不是同一个Team
|
||||
if(!om.getWorkerId().equals(request.getWorkerId())){
|
||||
boolean checkInTeam = workerService.checkInTeam(assignWorker.getWorkerId(), acceptWorker.getWorkerId());
|
||||
Assert.isTrue(checkInTeam, "接单师傅不在本团队");
|
||||
}else {
|
||||
// 自己接单 -- 计算剩余金额
|
||||
om.setAllSelfAssigned(1);
|
||||
BigDecimal realPay = fm.getPayMoney();
|
||||
for (FinancialDetail financialDetail : financialDetailService.selectByFinancialMasterId(fm.getId())) {
|
||||
if (FinancialDetailType.ORDER_FEE.equals(financialDetail.getFinancialDetailType())) {
|
||||
om.setAllSelfAssigned(0);
|
||||
}
|
||||
realPay = realPay.subtract(financialDetail.getPayMoney());
|
||||
}
|
||||
request.setTotalPay(realPay);
|
||||
|
|
@ -447,7 +452,10 @@ public class OrderController extends BaseController {
|
|||
response.setNewOrderNum(newMasterOrderCount + newDetailOrderCount);
|
||||
// 统计未排的单量
|
||||
orderMaster.setOrderStatus(OrderStatus.PLAIN.code());
|
||||
response.setPlanOrderNum(orderMasterService.countOrderMasterList(orderMaster));
|
||||
orderDetail.setOrderStatus(OrderStatus.PLAIN.code());
|
||||
Long planMasterOrderCount = orderMasterService.countOrderMasterList(orderMaster);
|
||||
Long planDetailOrderCount = orderDetailService.countOrderDetailList(orderDetail);
|
||||
response.setPlanOrderNum(planMasterOrderCount + planDetailOrderCount);
|
||||
// 统计待上门单量
|
||||
orderDetail.setOrderStatus(OrderStatus.GOING.code());
|
||||
response.setWaitServOrderNum(orderDetailService.countOrderDetailList(orderDetail));
|
||||
|
|
@ -462,9 +470,9 @@ public class OrderController extends BaseController {
|
|||
response.setFinishedOrderNum(orderDetailService.countOrderDetailList(orderDetail));
|
||||
// 统计监控单量
|
||||
orderMaster.setOrderStatus(null);
|
||||
orderMaster.setFilterOnlyServOrder(true);
|
||||
orderMaster.setIsMonitoredOrder(true);
|
||||
response.setMonitoredOrderNum(orderMasterService.countOrderMasterList(orderMaster));
|
||||
orderMaster.setFilterOnlyServOrder(false);
|
||||
orderMaster.setIsMonitoredOrder(false);
|
||||
// 统计搁置单量
|
||||
orderDetail.setShelveStatus(1);
|
||||
response.setShelvedOrderNum(orderDetailService.countOrderDetailList(orderDetail));
|
||||
|
|
|
|||
|
|
@ -213,6 +213,12 @@ public class OrderDetailController extends BaseController {
|
|||
orderListResponse.setPayMoney(detailPayMoney);
|
||||
orderListResponse.setIsOnlyServ(Boolean.FALSE);
|
||||
}
|
||||
|
||||
// 售后记录
|
||||
AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
|
||||
afterServiceRecord.setOrderDetailId(detail.getId());
|
||||
List<AfterServiceRecord> afterServiceRecordList =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
|
||||
|
||||
// 编辑返回属性
|
||||
orderListResponse.setOrderDetailId(detail.getId());
|
||||
orderListResponse.setOrderDetailCode(detail.getCode());
|
||||
|
|
@ -246,6 +252,7 @@ public class OrderDetailController extends BaseController {
|
|||
orderListResponse.setCustomerRemark(orderMaster.getRemark());
|
||||
orderListResponse.setFinishImgList(finishImgList);
|
||||
orderListResponse.setWorkerRemark(detail.getRemark());
|
||||
orderListResponse.setAfterServiceRecordList(afterServiceRecordList);
|
||||
|
||||
return AjaxResult.success(orderListResponse);
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
|
|
@ -86,5 +86,7 @@ public class OrderMaster extends BaseEntity {
|
|||
|
||||
private Boolean useTimeNotRange;
|
||||
|
||||
private Boolean filterOnlyServOrder;
|
||||
private Boolean isMonitoredOrder;
|
||||
|
||||
private Integer allSelfAssigned;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
<result property="updateTime" column="update_time"/>
|
||||
<result property="remark" column="remark"/>
|
||||
<result property="goodsId" column="goods_id"/>
|
||||
<result property="allSelfAssigned" column="all_self_assigned"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectOrderMaster">
|
||||
|
|
@ -44,7 +45,8 @@
|
|||
expect_time_end,
|
||||
create_by,
|
||||
create_time,
|
||||
remark
|
||||
remark,
|
||||
all_self_assigned
|
||||
FROM order_master
|
||||
</sql>
|
||||
<sql id="selectOrderMasterMoreInfo">
|
||||
|
|
@ -65,58 +67,18 @@
|
|||
om.create_by,
|
||||
om.create_time,
|
||||
om.remark,
|
||||
om.all_self_assigned,
|
||||
om.goods_id
|
||||
FROM order_master om
|
||||
LEFT JOIN customer_address ca ON ca.customer_address_id = om.address_id
|
||||
LEFT JOIN goods g ON g.goods_id = om.goods_id
|
||||
</sql>
|
||||
|
||||
<sql id="selectNoOnlyServOrder">
|
||||
select om.id,
|
||||
om.dept_id,
|
||||
om.code,
|
||||
om.customer_id,
|
||||
om.address_id,
|
||||
om.order_type,
|
||||
om.order_status,
|
||||
om.pay_type,
|
||||
om.pay_status,
|
||||
om.worker_id,
|
||||
om.pay_time,
|
||||
om.rev_time,
|
||||
om.expect_time_start,
|
||||
om.expect_time_end,
|
||||
om.create_by,
|
||||
om.create_time,
|
||||
om.remark,
|
||||
om.goods_id
|
||||
from order_master om
|
||||
left join (
|
||||
select om.id, count(om.id) as subOrderCount, max(od.worker_id) as odWorkerId from order_master om
|
||||
left join order_detail od on od.order_master_id = om.id
|
||||
group by om.id) odCount
|
||||
on odCount.id = om.id
|
||||
</sql>
|
||||
|
||||
<sql id="countNoOnlyServOrder">
|
||||
select count(*) from order_master om
|
||||
left join (
|
||||
select om.id, count(om.id) as subOrderCount, max(od.worker_id) as odWorkerId from order_master om
|
||||
left join order_detail od on od.order_master_id = om.id
|
||||
group by om.id) odCount
|
||||
on odCount.id = om.id
|
||||
</sql>
|
||||
|
||||
<select id="selectOrderMasterList" parameterType="com.ghy.order.domain.OrderMaster" resultMap="OrderMasterResult">
|
||||
<if test="!filterOnlyServOrder">
|
||||
<include refid="selectOrderMasterMoreInfo"></include>
|
||||
</if>
|
||||
<if test="filterOnlyServOrder">
|
||||
<include refid="selectNoOnlyServOrder"></include>
|
||||
</if>
|
||||
<where>
|
||||
<if test="filterOnlyServOrder">
|
||||
AND subOrderCount = 1 AND om.worker_id = odWorkerId AND om.order_status in (2,3,4,5)
|
||||
<if test="isMonitoredOrder">
|
||||
AND all_self_assigned = 0 AND om.order_status in (2,3,4,5)
|
||||
</if>
|
||||
<if test="deptId != null and deptId != 0">
|
||||
AND om.dept_id = #{deptId}
|
||||
|
|
@ -187,15 +149,10 @@
|
|||
</select>
|
||||
|
||||
<select id="countOrderMasterList" parameterType="com.ghy.order.domain.OrderMaster" resultType="Long">
|
||||
<if test="!filterOnlyServOrder">
|
||||
SELECT COUNT(*) FROM order_master om
|
||||
</if>
|
||||
<if test="filterOnlyServOrder">
|
||||
<include refid="countNoOnlyServOrder"></include>
|
||||
</if>
|
||||
<where>
|
||||
<if test="filterOnlyServOrder">
|
||||
AND subOrderCount = 1 AND om.worker_id = odWorkerId AND om.order_status in (2,3,4,5)
|
||||
<if test="isMonitoredOrder">
|
||||
AND all_self_assigned = 0 AND om.order_status in (2,3,4,5)
|
||||
</if>
|
||||
<if test="deptId != null and deptId != 0">
|
||||
AND om.dept_id = #{deptId}
|
||||
|
|
@ -268,6 +225,7 @@
|
|||
<if test="expectTimeEnd != null">expect_time_end = #{expectTimeEnd},</if>
|
||||
<if test="useTimeNotRange">expect_time_end = null,</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="allSelfAssigned != null">all_self_assigned = #{allSelfAssigned},</if>
|
||||
update_time = SYSDATE()
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
|
|
|
|||
Loading…
Reference in New Issue