|
@@ -523,7 +523,7 @@ public class BmsEventOrderService {
|
|
|
List<OrderHandleHisVO> result = Lists.newArrayList();
|
|
|
QueryWrapper<CareEventOrderHandleHis> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.select("distinct org_id,station_id,house_id,order_id,log_type,order_type,log_object_id,log_object_name,log_result," +
|
|
|
- "op_user_role,op_user_id,op_user_name,create_time,relation_type_desc,call_result_id,voice_call_status,voice_failure_reason").lambda().eq(CareEventOrderHandleHis::getOrderId, orderId)
|
|
|
+ "op_user_role,op_user_id,op_user_name,create_time,relation_type_desc,call_result_id,voice_call_status,voice_failure_reason,log_step").lambda().eq(CareEventOrderHandleHis::getOrderId, orderId)
|
|
|
.orderByDesc(CareEventOrderHandleHis::getCreateTime);
|
|
|
List<CareEventOrderHandleHis> datas = this.careEventOrderHandleHisService.list(queryWrapper);
|
|
|
if (CollUtil.isNotEmpty(datas)) {
|
|
@@ -606,30 +606,34 @@ public class BmsEventOrderService {
|
|
|
List<Dict> pushRecords = Lists.newArrayList();
|
|
|
for (Object orderId : orderIds) {
|
|
|
CareEventOrder order = this.careEventOrderService.getById(NumberUtils.toLong(Objects.toString(orderId)));
|
|
|
- UpdateWrapper<CareEventOrder> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().eq(CareEventOrder::getId, orderId)
|
|
|
- .set(CareEventOrder::getStatus, OrderStatusEnum.COMPLETE.getValue())
|
|
|
- .set(CareEventOrder::getModifyTime, DateUtil.date());
|
|
|
- this.careEventOrderService.update(updateWrapper);
|
|
|
- CareEventOrderHandleHis log = new CareEventOrderHandleHis();
|
|
|
- log.setOrgId(order.getOrgId());
|
|
|
- log.setStationId(order.getStationId());
|
|
|
- log.setOrderId(order.getId());
|
|
|
- log.setLogType(LogTypeEnum.CLOSE.getValue());
|
|
|
- log.setLogObjectId(loginUser.getId());
|
|
|
- log.setLogObjectName(loginUser.getName());
|
|
|
- log.setLogResult("完成工单");
|
|
|
- log.setOpUserRole(UserRoleEnum.SEAT.getValue());
|
|
|
- log.setCreateTime(DateUtil.date());
|
|
|
- log.setRelationTypeDesc(UserRoleEnum.getCodeToName(loginUser.getRole()));
|
|
|
- boolean saved = this.careEventOrderHandleHisService.save(log);
|
|
|
- if (!saved) {
|
|
|
- throw new BDException("事件归档出现错误, 请稍后重试");
|
|
|
+ if (OrderStatusEnum.TODO.getValue().equals(order.getStatus()) || OrderStatusEnum.DOING.getValue().equals(order.getStatus())){
|
|
|
+ UpdateWrapper<CareEventOrder> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.lambda().eq(CareEventOrder::getId, orderId)
|
|
|
+ .set(CareEventOrder::getStatus, OrderStatusEnum.COMPLETE.getValue())
|
|
|
+ .set(CareEventOrder::getSeatId,loginUser.getId())
|
|
|
+ .set(CareEventOrder::getSeatName,loginUser.getName())
|
|
|
+ .set(CareEventOrder::getModifyTime, DateUtil.date());
|
|
|
+ this.careEventOrderService.update(updateWrapper);
|
|
|
+ CareEventOrderHandleHis log = new CareEventOrderHandleHis();
|
|
|
+ log.setOrgId(order.getOrgId());
|
|
|
+ log.setStationId(order.getStationId());
|
|
|
+ log.setOrderId(order.getId());
|
|
|
+ log.setLogType(LogTypeEnum.CLOSE.getValue());
|
|
|
+ log.setLogObjectId(loginUser.getId());
|
|
|
+ log.setLogObjectName(loginUser.getName());
|
|
|
+ log.setLogResult("完成工单");
|
|
|
+ log.setOpUserRole(UserRoleEnum.SEAT.getValue());
|
|
|
+ log.setCreateTime(DateUtil.date());
|
|
|
+ log.setRelationTypeDesc(UserRoleEnum.getCodeToName(loginUser.getRole()));
|
|
|
+ boolean saved = this.careEventOrderHandleHisService.save(log);
|
|
|
+ if (!saved) {
|
|
|
+ throw new BDException("事件归档出现错误, 请稍后重试");
|
|
|
+ }
|
|
|
+ pushRecords.add(Dict.create()
|
|
|
+ .set("orgId", order.getOrgId())
|
|
|
+ .set("stationId", order.getStationId())
|
|
|
+ .set("orderId", orderId));
|
|
|
}
|
|
|
- pushRecords.add(Dict.create()
|
|
|
- .set("orgId", order.getOrgId())
|
|
|
- .set("stationId", order.getStationId())
|
|
|
- .set("orderId", orderId));
|
|
|
}
|
|
|
for (Dict dict : pushRecords) {
|
|
|
this.bigScreenService.pushRtEventFlag(dict.getLong("orgId"), dict.getLong("stationId"), dict.getStr("orderId"), "bigscreenRefresh");
|
|
@@ -727,27 +731,25 @@ public class BmsEventOrderService {
|
|
|
* @param status
|
|
|
* @return
|
|
|
*/
|
|
|
- public boolean updateOrderContactStatus4Callback(Long orderId,String contactPhone, Integer status,String failureReason) {
|
|
|
+ public boolean updateOrderContactStatus4Callback(String callId, Long orderId,String phone, Integer status,String failureReason) {
|
|
|
|
|
|
+ //联系人的,care_event_order_contact_status只有联系人,没有管家
|
|
|
UpdateWrapper<CareEventOrderContactStatus> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().eq(CareEventOrderContactStatus::getOrderId, orderId).eq(CareEventOrderContactStatus::getContactPhone,contactPhone)
|
|
|
+ updateWrapper.lambda().eq(CareEventOrderContactStatus::getOrderId, orderId).eq(CareEventOrderContactStatus::getContactPhone,phone)
|
|
|
.set(CareEventOrderContactStatus::getStatus, status);
|
|
|
|
|
|
- QueryWrapper<CareEventOrderContactStatus> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.lambda().eq(CareEventOrderContactStatus::getOrderId,orderId).eq(CareEventOrderContactStatus::getContactPhone,contactPhone);
|
|
|
- CareEventOrderContactStatus contact = this.careEventOrderContactStatusService.getOne(queryWrapper);
|
|
|
-
|
|
|
- if(contact != null) {
|
|
|
- UpdateWrapper<CareEventOrderHandleHis> updateWrapper2 = new UpdateWrapper<>();
|
|
|
- updateWrapper2.lambda().eq(CareEventOrderHandleHis::getOrderId, orderId)
|
|
|
- .eq(CareEventOrderHandleHis::getLogType,LogTypeEnum.VOTICE.getValue())
|
|
|
- .eq(CareEventOrderHandleHis::getLogObjectId,contact.getContactId())
|
|
|
- .eq(CareEventOrderHandleHis::getLogResult,"语音通知")
|
|
|
- .set(CareEventOrderHandleHis::getVoiceCallStatus, status)
|
|
|
- .set(CareEventOrderHandleHis::getVoiceFailureReason, failureReason);
|
|
|
- this.careEventOrderHandleHisService.update(updateWrapper2);
|
|
|
- }
|
|
|
-
|
|
|
+ //历史表的
|
|
|
+ UpdateWrapper<CareEventOrderHandleHis> updateWrapper2 = new UpdateWrapper<>();
|
|
|
+ updateWrapper2.lambda().eq(CareEventOrderHandleHis::getVoiceCallId,callId)
|
|
|
+ .set(CareEventOrderHandleHis::getVoiceCallStatus, status)
|
|
|
+ .set(CareEventOrderHandleHis::getVoiceFailureReason, failureReason);
|
|
|
+ this.careEventOrderHandleHisService.update(updateWrapper2);
|
|
|
+
|
|
|
+ //管家的
|
|
|
+ UpdateWrapper<CareEventOrderChamb> updateWrapper3 = new UpdateWrapper<>();
|
|
|
+ updateWrapper3.lambda().eq(CareEventOrderChamb::getOrderId,orderId).eq(CareEventOrderChamb::getPhone,phone)
|
|
|
+ .set(CareEventOrderChamb::getVoiceCallStatus, status);
|
|
|
+ this.careEventOrderChambService.update(updateWrapper3);
|
|
|
|
|
|
return this.careEventOrderContactStatusService.update(updateWrapper);
|
|
|
}
|