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