Commit cc7ef880 by 刘鑫

Merge branch 'develop' of https://gitlab.dituhui.com/bsh/project/project into develop

2 parents 0310ef29 99401af3
Showing with 132 additions and 79 deletions
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
public enum AppointmentMethodEnum { public enum AppointmentMethodEnum {
// 指派方式(MANUAL人工/AUTO_NOW 自动立即/AUTO_BATCH/PROTECTION 自保点) // 指派方式(MANUAL人工/AUTO_NOW 自动立即/AUTO_BATCH/PROTECTION 自保点)
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
/** /**
* 工程师坐标类型 * 工程师坐标类型
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
public enum OrderEventEnum { public enum OrderEventEnum {
// 建单,首次指派,改派,取消,改约,放回工单池 // 建单,首次指派,改派,取消,改约,放回工单池
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
/** /**
* 订单流程枚举类 * 订单流程枚举类
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
public enum OrderGroupEnum { public enum OrderGroupEnum {
// 0:工单优先级,1:耗时,2:意向时间,3:分站/网点,4:技能,5:一家多单 // 0:工单优先级,1:耗时,2:意向时间,3:分站/网点,4:技能,5:一家多单
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
public enum OrderPeaTagsEnum { public enum OrderPeaTagsEnum {
// 特殊时段, 一家多台, 当日加单, 紧急 // 特殊时段, 一家多台, 当日加单, 紧急
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
public enum OrderStatusEnum { public enum OrderStatusEnum {
CREATE("创建订单", "CREATE"), CREATE("创建订单", "CREATE"),
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
/** /**
* 组织等级类型 * 组织等级类型
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
public enum ServiceStatusEnum { public enum ServiceStatusEnum {
// 服务状态:INIT-初始化/PENDING待服务/CONTACTED已排期/STARTED-已开始/FINISHED已完成/UNFINISHED-已上门未完成 // 服务状态:INIT-初始化/PENDING待服务/CONTACTED已排期/STARTED-已开始/FINISHED已完成/UNFINISHED-已上门未完成
......
package com.dituhui.pea.order.enums; package com.dituhui.pea.enums;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
......
...@@ -2,7 +2,7 @@ package com.dituhui.pea.order.common; ...@@ -2,7 +2,7 @@ package com.dituhui.pea.order.common;
import com.dituhui.pea.order.dao.*; import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.OrderFlowEnum; import com.dituhui.pea.enums.OrderFlowEnum;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
......
...@@ -15,6 +15,8 @@ public interface OrderEventDao extends JpaRepository<OrderEventEntity, Integer> ...@@ -15,6 +15,8 @@ public interface OrderEventDao extends JpaRepository<OrderEventEntity, Integer>
List<OrderEventEntity> findByOrderId(String orderId); List<OrderEventEntity> findByOrderId(String orderId);
List<OrderEventEntity> findByOrderIdAndEvent(String orderId, String event);
@Query("select a from OrderEventEntity a join OrderInfoEntity b on a.orderId=b.orderId where b.orgClusterId = :clusterId and DATE(a.createTime) = :date") @Query("select a from OrderEventEntity a join OrderInfoEntity b on a.orderId=b.orderId where b.orgClusterId = :clusterId and DATE(a.createTime) = :date")
Page<OrderEventEntity> findAllByClusterId(String clusterId, Date date, Pageable pageable); Page<OrderEventEntity> findAllByClusterId(String clusterId, Date date, Pageable pageable);
......
...@@ -10,12 +10,17 @@ public class OrderAppointmentListResp { ...@@ -10,12 +10,17 @@ public class OrderAppointmentListResp {
private List<OrderAppointment> orders; private List<OrderAppointment> orders;
@Data @Data
public static class OrderAppointment{ public static class OrderAppointment {
private String title; private String title;
private String engineerCode; private String engineerCode;
private String expectTime; private String expectTime;
private List<KV> items; private List<KV> items;
private List<KV> timelines; private List<KV> timelines;
/**
* 是否是辅助单
*/
private Boolean isSub = false;
} }
} }
package com.dituhui.pea.order.dto; package com.dituhui.pea.order.dto;
import com.dituhui.pea.order.dto.param.TLocation; import com.dituhui.pea.order.dto.param.TLocation;
import com.dituhui.pea.order.enums.TestimonialsEngineerTag; import com.dituhui.pea.enums.TestimonialsEngineerTag;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
......
package com.dituhui.pea.order.dto.param; package com.dituhui.pea.order.dto.param;
import com.dituhui.pea.order.enums.LocationType; import com.dituhui.pea.enums.LocationType;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.dituhui.pea.order.entity; package com.dituhui.pea.order.entity;
import com.dituhui.pea.order.enums.ServiceStatusEnum; import com.dituhui.pea.enums.ServiceStatusEnum;
import lombok.Data; import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
......
...@@ -6,8 +6,8 @@ import cn.hutool.core.util.StrUtil; ...@@ -6,8 +6,8 @@ import cn.hutool.core.util.StrUtil;
import com.dituhui.pea.order.dao.*; import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.MsgDTO; import com.dituhui.pea.order.dto.MsgDTO;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.MsgTagEnum; import com.dituhui.pea.enums.MsgTagEnum;
import com.dituhui.pea.order.enums.MsgTypeEnum; import com.dituhui.pea.enums.MsgTypeEnum;
import com.dituhui.pea.order.service.MsgService; import com.dituhui.pea.order.service.MsgService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
......
...@@ -77,10 +77,10 @@ public interface OrderInfoService { ...@@ -77,10 +77,10 @@ public interface OrderInfoService {
* *
* @param source 原订单 * @param source 原订单
* @param target 改动后订单 * @param target 改动后订单
* @param rescheduled 工单计划时间 * @param isRescheduled 是否改约
* @param reason 改约原因 * @param reason 改约原因
* @param operator 操作人 * @param operator 操作人
* @return * @return
*/ */
Boolean rescheduled(OrderInfoEntity source, OrderInfoEntity target, Date rescheduled, String reason, String operator); Boolean rescheduled(OrderInfoEntity source, OrderInfoEntity target, Boolean isRescheduled, String reason, String operator);
} }
...@@ -4,14 +4,13 @@ import cn.hutool.core.util.ObjectUtil; ...@@ -4,14 +4,13 @@ import cn.hutool.core.util.ObjectUtil;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.common.ResultEnum; import com.dituhui.pea.common.ResultEnum;
import com.dituhui.pea.enums.StatusCodeEnum; import com.dituhui.pea.enums.*;
import com.dituhui.pea.order.common.ListUtils; import com.dituhui.pea.order.common.ListUtils;
import com.dituhui.pea.order.common.TimeUtils; import com.dituhui.pea.order.common.TimeUtils;
import com.dituhui.pea.order.common.jackson.JsonUtil; import com.dituhui.pea.order.common.jackson.JsonUtil;
import com.dituhui.pea.order.dao.*; import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.*; import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.*;
import com.dituhui.pea.order.service.CommonService; import com.dituhui.pea.order.service.CommonService;
import com.dituhui.pea.order.service.DispatchService; import com.dituhui.pea.order.service.DispatchService;
import com.dituhui.pea.order.service.EngineerCalendarService; import com.dituhui.pea.order.service.EngineerCalendarService;
...@@ -399,7 +398,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -399,7 +398,7 @@ public class DispatchServiceImpl implements DispatchService {
} }
//回调改约 //回调改约
Boolean boo = orderInfoService.rescheduled(sourceOrder, entity, new Date(), "", "PEA"); Boolean boo = orderInfoService.rescheduled(sourceOrder, entity, false, "", "PEA");
log.info("[orderReschedule] orderId:{}, 通知bean结果: {}", sourceOrder.getOrderId(), boo); log.info("[orderReschedule] orderId:{}, 通知bean结果: {}", sourceOrder.getOrderId(), boo);
if (!boo) { if (!boo) {
throw new BusinessException("服务工单变更结果通知BEAN失败"); throw new BusinessException("服务工单变更结果通知BEAN失败");
......
...@@ -4,7 +4,7 @@ import com.dituhui.pea.order.dao.*; ...@@ -4,7 +4,7 @@ import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.EngineerBusinessDTO; import com.dituhui.pea.order.dto.EngineerBusinessDTO;
import com.dituhui.pea.order.dto.param.TLocation; import com.dituhui.pea.order.dto.param.TLocation;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.LocationType; import com.dituhui.pea.enums.LocationType;
import com.dituhui.pea.order.service.EngineerBusinessService; import com.dituhui.pea.order.service.EngineerBusinessService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
......
package com.dituhui.pea.order.service.impl; package com.dituhui.pea.order.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.common.DateUtils; import com.dituhui.pea.order.common.DateUtils;
import com.dituhui.pea.order.common.EngineerUtils; import com.dituhui.pea.order.common.EngineerUtils;
...@@ -9,12 +8,10 @@ import com.dituhui.pea.order.dao.*; ...@@ -9,12 +8,10 @@ import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.EngineersGanttDTO; import com.dituhui.pea.order.dto.EngineersGanttDTO;
import com.dituhui.pea.order.dto.LabelValueDTO; import com.dituhui.pea.order.dto.LabelValueDTO;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.OrderFlowEnum; import com.dituhui.pea.enums.OrderFlowEnum;
import com.dituhui.pea.order.enums.OrderPeaTagsEnum; import com.dituhui.pea.enums.ServiceStatusEnum;
import com.dituhui.pea.order.enums.ServiceStatusEnum;
import com.dituhui.pea.order.service.EngineerGanttService; import com.dituhui.pea.order.service.EngineerGanttService;
import com.dituhui.pea.order.utils.OrderUtil; import com.dituhui.pea.order.utils.OrderUtil;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
......
...@@ -12,7 +12,7 @@ import com.dituhui.pea.order.entity.OrderEventEntity; ...@@ -12,7 +12,7 @@ import com.dituhui.pea.order.entity.OrderEventEntity;
import com.dituhui.pea.order.entity.OrderInfoEntity; import com.dituhui.pea.order.entity.OrderInfoEntity;
import com.dituhui.pea.order.entity.OrgGroupEntity; import com.dituhui.pea.order.entity.OrgGroupEntity;
import com.dituhui.pea.order.entity.OrgWarehouseInfoEntity; import com.dituhui.pea.order.entity.OrgWarehouseInfoEntity;
import com.dituhui.pea.order.enums.OrderFlowEnum; import com.dituhui.pea.enums.OrderFlowEnum;
import com.dituhui.pea.order.service.EngineerTimelineService; import com.dituhui.pea.order.service.EngineerTimelineService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
...@@ -14,8 +14,8 @@ import com.dituhui.pea.order.entity.MsgEntity; ...@@ -14,8 +14,8 @@ import com.dituhui.pea.order.entity.MsgEntity;
import com.dituhui.pea.order.entity.MsgReceiverEntity; import com.dituhui.pea.order.entity.MsgReceiverEntity;
import com.dituhui.pea.order.entity.OrgBranchEntity; import com.dituhui.pea.order.entity.OrgBranchEntity;
import com.dituhui.pea.order.entity.OrgGroupEntity; import com.dituhui.pea.order.entity.OrgGroupEntity;
import com.dituhui.pea.order.enums.MsgTagEnum; import com.dituhui.pea.enums.MsgTagEnum;
import com.dituhui.pea.order.enums.MsgTypeEnum; import com.dituhui.pea.enums.MsgTypeEnum;
import com.dituhui.pea.order.service.MsgService; import com.dituhui.pea.order.service.MsgService;
import com.dituhui.pea.order.utils.AssertUtil; import com.dituhui.pea.order.utils.AssertUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
......
...@@ -4,7 +4,7 @@ import cn.hutool.core.util.ObjectUtil; ...@@ -4,7 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.common.ResultEnum; import com.dituhui.pea.common.ResultEnum;
import com.dituhui.pea.enums.StatusCodeEnum; import com.dituhui.pea.enums.*;
import com.dituhui.pea.order.common.DateUtils; import com.dituhui.pea.order.common.DateUtils;
import com.dituhui.pea.order.common.OrderAssignCheck; import com.dituhui.pea.order.common.OrderAssignCheck;
import com.dituhui.pea.order.common.Stapial4jUtil; import com.dituhui.pea.order.common.Stapial4jUtil;
...@@ -16,7 +16,6 @@ import com.dituhui.pea.order.dto.*; ...@@ -16,7 +16,6 @@ import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.dto.param.RecommendEngineersReq; import com.dituhui.pea.order.dto.param.RecommendEngineersReq;
import com.dituhui.pea.order.dto.param.TLocation; import com.dituhui.pea.order.dto.param.TLocation;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.*;
import com.dituhui.pea.order.service.*; import com.dituhui.pea.order.service.*;
import com.dituhui.pea.order.utils.CommonUtil; import com.dituhui.pea.order.utils.CommonUtil;
import com.dituhui.pea.order.utils.OrderUtil; import com.dituhui.pea.order.utils.OrderUtil;
...@@ -227,7 +226,7 @@ public class OrderAssignImpl implements OrderAssign { ...@@ -227,7 +226,7 @@ public class OrderAssignImpl implements OrderAssign {
entity.setOrgClusterId(byTeamId.getClusterId()); entity.setOrgClusterId(byTeamId.getClusterId());
} }
//回调改约 //回调改约
Boolean boo = orderInfoService.rescheduled(sourceOrder, entity, new Date(), "", "PEA"); Boolean boo = orderInfoService.rescheduled(sourceOrder, entity, false, "", "PEA");
log.info("[orderReschedule] orderId:{}, 通知bean结果: {}", sourceOrder.getOrderId(), boo); log.info("[orderReschedule] orderId:{}, 通知bean结果: {}", sourceOrder.getOrderId(), boo);
if (!boo) { if (!boo) {
throw new BusinessException("服务工单变更结果通知BEAN失败"); throw new BusinessException("服务工单变更结果通知BEAN失败");
...@@ -276,7 +275,7 @@ public class OrderAssignImpl implements OrderAssign { ...@@ -276,7 +275,7 @@ public class OrderAssignImpl implements OrderAssign {
} }
orderInfoDao.save(order); orderInfoDao.save(order);
//回调改约 //回调改约
Boolean boo = orderInfoService.rescheduled(sourceOrder, order, new Date(), "", "PEA"); Boolean boo = orderInfoService.rescheduled(sourceOrder, order, false, "", "PEA");
log.info("[orderReschedule] orderId:{}, 通知bean结果: {}", sourceOrder.getOrderId(), boo); log.info("[orderReschedule] orderId:{}, 通知bean结果: {}", sourceOrder.getOrderId(), boo);
if (!boo) { if (!boo) {
throw new BusinessException("服务工单变更结果通知BEAN失败"); throw new BusinessException("服务工单变更结果通知BEAN失败");
......
...@@ -51,10 +51,9 @@ import com.dituhui.pea.order.entity.OrgBranchEntity; ...@@ -51,10 +51,9 @@ import com.dituhui.pea.order.entity.OrgBranchEntity;
import com.dituhui.pea.order.entity.OrgTeamEngineerEntity; import com.dituhui.pea.order.entity.OrgTeamEngineerEntity;
import com.dituhui.pea.order.entity.OrgTeamEntity; import com.dituhui.pea.order.entity.OrgTeamEntity;
import com.dituhui.pea.order.entity.SkillInfoEntity; import com.dituhui.pea.order.entity.SkillInfoEntity;
import com.dituhui.pea.order.enums.AppointmentMethodEnum; import com.dituhui.pea.enums.AppointmentMethodEnum;
import com.dituhui.pea.order.enums.OrderEventEnum; import com.dituhui.pea.enums.OrderEventEnum;
import com.dituhui.pea.order.enums.OrderFlowEnum; import com.dituhui.pea.enums.OrderFlowEnum;
import com.dituhui.pea.order.enums.OrderPeaTagsEnum;
import com.dituhui.pea.order.service.CommonService; import com.dituhui.pea.order.service.CommonService;
import com.dituhui.pea.order.service.FendanService; import com.dituhui.pea.order.service.FendanService;
import com.dituhui.pea.order.service.MsgService; import com.dituhui.pea.order.service.MsgService;
...@@ -81,7 +80,6 @@ import java.util.List; ...@@ -81,7 +80,6 @@ import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
......
...@@ -3,11 +3,12 @@ package com.dituhui.pea.order.service.impl; ...@@ -3,11 +3,12 @@ package com.dituhui.pea.order.service.impl;
import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.dituhui.pea.bean.AllotResultParam;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.common.ResultEnum; import com.dituhui.pea.common.ResultEnum;
import com.dituhui.pea.dispatch.IPath; import com.dituhui.pea.dispatch.IPath;
import com.dituhui.pea.enums.StatusCodeEnum; import com.dituhui.pea.enums.*;
import com.dituhui.pea.order.common.OccupyInfoDetail; import com.dituhui.pea.order.common.OccupyInfoDetail;
import com.dituhui.pea.order.common.TimeUtils; import com.dituhui.pea.order.common.TimeUtils;
import com.dituhui.pea.order.common.jackson.JsonUtil; import com.dituhui.pea.order.common.jackson.JsonUtil;
...@@ -22,7 +23,6 @@ import com.dituhui.pea.order.dto.param.Location; ...@@ -22,7 +23,6 @@ import com.dituhui.pea.order.dto.param.Location;
import com.dituhui.pea.order.dto.param.OrderDTO; import com.dituhui.pea.order.dto.param.OrderDTO;
import com.dituhui.pea.order.dto.param.OrgTeamInfo; import com.dituhui.pea.order.dto.param.OrgTeamInfo;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.*;
import com.dituhui.pea.bean.Rescheduled; import com.dituhui.pea.bean.Rescheduled;
import com.dituhui.pea.order.service.*; import com.dituhui.pea.order.service.*;
import com.dituhui.pea.order.utils.CommonUtil; import com.dituhui.pea.order.utils.CommonUtil;
...@@ -46,6 +46,7 @@ import java.math.RoundingMode; ...@@ -46,6 +46,7 @@ import java.math.RoundingMode;
import java.time.Duration; import java.time.Duration;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -93,6 +94,9 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -93,6 +94,9 @@ public class OrderInfoServiceImpl implements OrderInfoService {
@Autowired @Autowired
private EngineerBusinessDao engineerBusinessDao; private EngineerBusinessDao engineerBusinessDao;
@Autowired
private OrderEventDao OrderEventDao;
private final BeanRemoteServiceImpl beanRemoteService; private final BeanRemoteServiceImpl beanRemoteService;
private final EngineerInfoDao engineerInfoDao; private final EngineerInfoDao engineerInfoDao;
...@@ -264,7 +268,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -264,7 +268,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
public Result<?> orderReschedule(OrderReschedule req) throws BusinessException { public Result<?> orderReschedule(OrderReschedule req) throws BusinessException {
log.info("[orderReschedule] orderId:{}, req: {}", req.getOrderId(), JSONObject.toJSONString(req)); log.info("[orderReschedule] orderId:{}, req: {}", req.getOrderId(), JSONObject.toJSONString(req));
// 判断是否分配到人和是否是今天 // 判断是否分配到人和是否是今天
LocalDateTime expectBegin = TimeUtils.IsoDateTime2LocalDateTime(req.getExpectBegin()); LocalDateTime expectBegin = TimeUtils.IsoDateTime2LocalDateTime(req.getExpectEnd());
if (expectBegin.isBefore(LocalDateTime.now())) { if (expectBegin.isBefore(LocalDateTime.now())) {
return Result.failed(StatusCodeEnum.ORDER_RESCHEDULE_BEFORE_TIME); return Result.failed(StatusCodeEnum.ORDER_RESCHEDULE_BEFORE_TIME);
} }
...@@ -477,7 +481,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -477,7 +481,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
orderInfoDao.save(order); orderInfoDao.save(order);
log.info("[orderReschedule] orderId:{}, order: {}", order.getOrderId(), JSONObject.toJSONString(order)); log.info("[orderReschedule] orderId:{}, order: {}", order.getOrderId(), JSONObject.toJSONString(order));
//回调改约 //回调改约
Boolean boo = this.rescheduled(sourceOrder, order, req.getHappendDate(), req.getReschedulingReason(), StringUtils.isNotBlank(req.getOperator()) ? req.getOperator() : "PEA"); Boolean boo = this.rescheduled(sourceOrder, order, true, req.getReschedulingReason(), StringUtils.isNotBlank(req.getOperator()) ? req.getOperator() : "PEA");
log.info("[orderReschedule] orderId:{}, 通知bean结果: {}", order.getOrderId(), boo); log.info("[orderReschedule] orderId:{}, 通知bean结果: {}", order.getOrderId(), boo);
if (!boo) { if (!boo) {
throw new BusinessException("服务工单变更结果通知BEAN失败"); throw new BusinessException("服务工单变更结果通知BEAN失败");
...@@ -491,30 +495,50 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -491,30 +495,50 @@ public class OrderInfoServiceImpl implements OrderInfoService {
@Override @Override
public Boolean rescheduled(OrderInfoEntity source, OrderInfoEntity target, Date rescheduledDate, String reason, String operator) { public Boolean rescheduled(OrderInfoEntity source, OrderInfoEntity target, Boolean isRescheduled, String reason, String operator) {
if (source.getOrderId().startsWith("peatest") || Objects.equals(operator, "BEAN")) { if (source.getOrderId().startsWith("peatest") || Objects.equals(operator, "BEAN")) {
return true; return true;
} }
Rescheduled rescheduled = new Rescheduled(); Rescheduled rescheduled = new Rescheduled();
rescheduled.setRisId(source.getOrderId()); AllotResultParam allotResultParam = new AllotResultParam();
rescheduled.setInitiatorOfRescheduling(operator);
rescheduled.setReasonForRescheduling(OrderReschedulingReason.getReason(reason));
rescheduled.setRescheduledDate(DateUtil.toMilliseconds(target.getPlanStartTime()));
rescheduled.setRequireApprove(Boolean.FALSE);
if (StringUtils.isNotBlank(target.getEngineerCode())) { if (StringUtils.isNotBlank(target.getEngineerCode())) {
String engineerCode = target.getEngineerCode(); String engineerCode = target.getEngineerCode();
EngineerInfoEntity byEngineerCode = engineerInfoDao.getByEngineerCode(engineerCode); EngineerInfoEntity byEngineerCode = engineerInfoDao.getByEngineerCode(engineerCode);
rescheduled.setExecutorWorkNo(byEngineerCode.getCosmosId()); rescheduled.setExecutorWorkNo(byEngineerCode.getCosmosId());
rescheduled.setOrgUnitId(byEngineerCode.getGroupId()); rescheduled.setOrgUnitId(byEngineerCode.getGroupId());
allotResultParam.setExecutorWorkNo(byEngineerCode.getCosmosId());
} }
if (StringUtils.isNotBlank(target.getEngineerCodeSub())) { if (StringUtils.isNotBlank(target.getEngineerCodeSub())) {
EngineerInfoEntity code = engineerInfoDao.getByEngineerCode(target.getEngineerCodeSub()); EngineerInfoEntity code = engineerInfoDao.getByEngineerCode(target.getEngineerCodeSub());
rescheduled.setAssistantWorkNo(code.getCosmosId()); rescheduled.setAssistantWorkNo(code.getCosmosId());
rescheduled.setAssOrgUnitId(code.getGroupId()); rescheduled.setAssOrgUnitId(code.getGroupId());
allotResultParam.setAssistantWorkNo(code.getCosmosId());
} }
// 不是改约需要判断是否初次派单
if (!isRescheduled) {
List<OrderEventEntity> orderIdAndEvent = OrderEventDao.findByOrderIdAndEvent(target.getOrderId(), OrderEventEnum.reassignment.getEvent());
if (CollectionUtils.isEmpty(orderIdAndEvent)) {
allotResultParam.setRisId(target.getOrderId());
allotResultParam.setReason("自动派单");
allotResultParam.setAppointmentStartTime(target.getPlanStartTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
allotResultParam.setAppointmentEndTime(target.getPlanEndTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
boolean result = beanRemoteService.allotResultUpdate(allotResultParam);
log.info("【rescheduled服务工单派单结果更新allotResultUpdate】请求参数:{}, 响应结果:{}", JSONObject.toJSON(allotResultParam), result);
return result;
}
}
rescheduled.setRisId(source.getOrderId());
rescheduled.setInitiatorOfRescheduling(operator);
rescheduled.setReasonForRescheduling(OrderReschedulingReason.getReason(reason));
rescheduled.setRescheduledDate(DateUtil.toMilliseconds(target.getPlanStartTime()));
rescheduled.setRequireApprove(Boolean.FALSE);
//判断是否是改派 //判断是否是改派
if ((StringUtils.isNotBlank(target.getEngineerCode()) && !Objects.equals(target.getEngineerCode(), source.getEngineerCode())) || if ((StringUtils.isNotBlank(target.getEngineerCode()) && !Objects.equals(target.getEngineerCode(), source.getEngineerCode())) ||
(StringUtils.isNotBlank(target.getEngineerCodeSub()) && !Objects.equals(target.getEngineerCodeSub(), source.getEngineerCodeSub()))) { (StringUtils.isNotBlank(target.getEngineerCodeSub()) && !Objects.equals(target.getEngineerCodeSub(), source.getEngineerCodeSub()))) {
...@@ -523,7 +547,9 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -523,7 +547,9 @@ public class OrderInfoServiceImpl implements OrderInfoService {
rescheduled.setReassignment(Boolean.FALSE); rescheduled.setReassignment(Boolean.FALSE);
} }
return beanRemoteService.orderRescheduled(rescheduled); boolean result = beanRemoteService.orderRescheduled(rescheduled);
log.info("【rescheduled服务工单派单结果更新orderRescheduled】请求参数:{}, 响应结果:{}", JSONObject.toJSON(rescheduled), result);
return result;
} }
...@@ -606,7 +632,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -606,7 +632,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
// 没有单直接返回 // 没有单直接返回
if (CollectionUtils.isEmpty(orderSegments)) { if (CollectionUtils.isEmpty(orderSegments)) {
Result handleLeaveTimeResult = handleLeaveTime(engineerLeaveTimeSlice, beginStart, beginEnd, takeTime, true, insertOrder); Result handleLeaveTimeResult = handleLeaveTime(engineerLeaveTimeSlice, beginStart, beginEnd, takeTime, true, insertOrder);
if (!handleLeaveTimeResult.getCode().equals(ResultEnum.SUCCESS)) { if (!handleLeaveTimeResult.getCode().equals(ResultEnum.SUCCESS.getCode())) {
return Result.failed(insertOrder); return Result.failed(insertOrder);
} }
LocalDateTime planStartTime = (LocalDateTime) handleLeaveTimeResult.getResult(); LocalDateTime planStartTime = (LocalDateTime) handleLeaveTimeResult.getResult();
...@@ -659,7 +685,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -659,7 +685,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
nestOrder.setPlanEndTime(nestOrder.getPlanEndTime().plusMinutes(moveTime)); nestOrder.setPlanEndTime(nestOrder.getPlanEndTime().plusMinutes(moveTime));
} }
//回调改约 //回调改约
Boolean boo = this.rescheduled(sourceOrder, nestOrder, new Date(), "", "PEA"); Boolean boo = this.rescheduled(sourceOrder, nestOrder, false, "", "PEA");
log.info("[insterEngineerOrders] orderId:{}, 通知bean结果: {}", nestOrder.getOrderId(), boo); log.info("[insterEngineerOrders] orderId:{}, 通知bean结果: {}", nestOrder.getOrderId(), boo);
if (!boo) { if (!boo) {
log.info("[insterEngineerOrders] orderId:{}, 服务工单变更结果通知BEAN失败", nestOrder.getOrderId()); log.info("[insterEngineerOrders] orderId:{}, 服务工单变更结果通知BEAN失败", nestOrder.getOrderId());
...@@ -717,7 +743,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -717,7 +743,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
continue; continue;
} }
//回调改约 //回调改约
Boolean boo = this.rescheduled(sourceOrder, nestOrder, new Date(), "", "PEA"); Boolean boo = this.rescheduled(sourceOrder, nestOrder, false, "", "PEA");
log.info("[insterEngineerOrders] orderId:{}, 通知bean结果: {}", nestOrder.getOrderId(), boo); log.info("[insterEngineerOrders] orderId:{}, 通知bean结果: {}", nestOrder.getOrderId(), boo);
if (!boo) { if (!boo) {
log.info("[insterEngineerOrders] orderId:{}, 服务工单变更结果通知BEAN失败", nestOrder.getOrderId()); log.info("[insterEngineerOrders] orderId:{}, 服务工单变更结果通知BEAN失败", nestOrder.getOrderId());
...@@ -799,7 +825,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { ...@@ -799,7 +825,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
nestOrder.setPlanEndTime(nestOrder.getPlanEndTime().plusMinutes(minutes)); nestOrder.setPlanEndTime(nestOrder.getPlanEndTime().plusMinutes(minutes));
} }
//回调改约 //回调改约
Boolean boo = this.rescheduled(sourceOrder, nestOrder, new Date(), "", "PEA"); Boolean boo = this.rescheduled(sourceOrder, nestOrder, false, "", "PEA");
log.info("[insterEngineerOrders] orderId:{}, 通知bean结果: {}", nestOrder.getOrderId(), boo); log.info("[insterEngineerOrders] orderId:{}, 通知bean结果: {}", nestOrder.getOrderId(), boo);
if (!boo) { if (!boo) {
log.info("[insterEngineerOrders] orderId:{}, 服务工单变更结果通知BEAN失败", nestOrder.getOrderId()); log.info("[insterEngineerOrders] orderId:{}, 服务工单变更结果通知BEAN失败", nestOrder.getOrderId());
......
...@@ -205,6 +205,37 @@ public class OrderServiceDetailImpl implements OrderServiceDetail { ...@@ -205,6 +205,37 @@ public class OrderServiceDetailImpl implements OrderServiceDetail {
item.setItems(this.packEngineerItems(eg, skill, groups.get(eg.getGroupId()))); item.setItems(this.packEngineerItems(eg, skill, groups.get(eg.getGroupId())));
items.add(item); items.add(item);
if (StringUtils.isNotBlank(o.getEngineerCodeSub())) {
EngineerInfoEntity egSub = egInfo.getOrDefault(o.getEngineerCodeSub(), null);
if (egSub == null) {
log.warn("未获得工程师{}基础信息, 订单:{}", o.getEngineerCodeSub(), o.getOrderId());
continue;
}
String skillSub = egSkill.getOrDefault(o.getEngineerCodeSub(), null);
if (skillSub == null) {
log.warn("未获得工程师{}基础技能, 订单:{}", o.getEngineerCodeSub(), o.getOrderId());
}
// 获取工程师姓名
String engineerNameSub = (egSub != null) ? egSub.getName() : o.getEngineerCodeSub();
// 获取title
String titleSUb = engineerNameSub;
if (o.getDt().isBefore(lastDt)) {
titleSUb = String.format("%s_%s", engineerNameSub, TimeUtils.IsoLocalDate2String(o.getDt()));
}
OrderAppointmentListResp.OrderAppointment itemSub = new OrderAppointmentListResp.OrderAppointment();
itemSub.setTitle(titleSUb);
itemSub.setEngineerCode(o.getEngineerCodeSub());
itemSub.setExpectTime(TimeUtils.IsoLocalDateTime2String(o.getExpectTimeBegin()));
itemSub.setTimelines(null); // TODO
itemSub.setIsSub(true);
itemSub.setItems(this.packEngineerItems(egSub, skillSub, groups.get(egSub.getGroupId())));
items.add(itemSub);
}
} }
res.setOrderId(orderId); res.setOrderId(orderId);
......
...@@ -8,12 +8,11 @@ import com.dituhui.pea.common.Result; ...@@ -8,12 +8,11 @@ import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.common.ListUtils; import com.dituhui.pea.order.common.ListUtils;
import com.dituhui.pea.order.common.TimeUtils; import com.dituhui.pea.order.common.TimeUtils;
import com.dituhui.pea.order.dao.*; import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.EngineerBusinessListResp;
import com.dituhui.pea.order.dto.OrderServiceList; import com.dituhui.pea.order.dto.OrderServiceList;
import com.dituhui.pea.order.dto.OrderServiceListReq; import com.dituhui.pea.order.dto.OrderServiceListReq;
import com.dituhui.pea.order.dto.OrderServiceListResp; import com.dituhui.pea.order.dto.OrderServiceListResp;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.ServiceStatusEnum; import com.dituhui.pea.enums.ServiceStatusEnum;
import com.dituhui.pea.order.service.OrderServiceListService; import com.dituhui.pea.order.service.OrderServiceListService;
import com.dituhui.pea.order.utils.OrderUtil; import com.dituhui.pea.order.utils.OrderUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -21,7 +20,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -21,7 +20,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
......
...@@ -5,7 +5,7 @@ import com.dituhui.pea.order.common.EngineerUtils; ...@@ -5,7 +5,7 @@ import com.dituhui.pea.order.common.EngineerUtils;
import com.dituhui.pea.order.dao.*; import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.*; import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.OrganizationType; import com.dituhui.pea.enums.OrganizationType;
import com.dituhui.pea.order.service.OrganizationService; import com.dituhui.pea.order.service.OrganizationService;
import com.dituhui.pea.pojo.OrganizationDTO; import com.dituhui.pea.pojo.OrganizationDTO;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
......
...@@ -24,11 +24,11 @@ import com.dituhui.pea.order.entity.MapBlockInfoEntity; ...@@ -24,11 +24,11 @@ import com.dituhui.pea.order.entity.MapBlockInfoEntity;
import com.dituhui.pea.order.entity.OrderInfoEntity; import com.dituhui.pea.order.entity.OrderInfoEntity;
import com.dituhui.pea.order.entity.OrgGroupEntity; import com.dituhui.pea.order.entity.OrgGroupEntity;
import com.dituhui.pea.order.entity.OrgTeamEntity; import com.dituhui.pea.order.entity.OrgTeamEntity;
import com.dituhui.pea.order.enums.AppointmentMethodEnum; import com.dituhui.pea.enums.AppointmentMethodEnum;
import com.dituhui.pea.order.enums.OrderEventEnum; import com.dituhui.pea.enums.OrderEventEnum;
import com.dituhui.pea.order.enums.OrderFlowEnum; import com.dituhui.pea.enums.OrderFlowEnum;
import com.dituhui.pea.order.enums.OrderStatusEnum; import com.dituhui.pea.enums.OrderStatusEnum;
import com.dituhui.pea.order.enums.ServiceStatusEnum; import com.dituhui.pea.enums.ServiceStatusEnum;
import com.dituhui.pea.bean.Reason; import com.dituhui.pea.bean.Reason;
import com.dituhui.pea.bean.Rescheduled; import com.dituhui.pea.bean.Rescheduled;
import com.dituhui.pea.order.service.CommonService; import com.dituhui.pea.order.service.CommonService;
......
...@@ -3,7 +3,6 @@ package com.dituhui.pea.order.service.impl; ...@@ -3,7 +3,6 @@ package com.dituhui.pea.order.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dituhui.pea.common.BusinessException; import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
...@@ -13,10 +12,10 @@ import com.dituhui.pea.order.common.TimeUtils; ...@@ -13,10 +12,10 @@ import com.dituhui.pea.order.common.TimeUtils;
import com.dituhui.pea.order.dao.*; import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.*; import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.enums.OrderFlowEnum; import com.dituhui.pea.enums.OrderFlowEnum;
import com.dituhui.pea.order.enums.OrderStatusEnum; import com.dituhui.pea.enums.OrderStatusEnum;
import com.dituhui.pea.order.enums.ServiceStatusEnum; import com.dituhui.pea.enums.ServiceStatusEnum;
import com.dituhui.pea.order.enums.VehicleEnum; import com.dituhui.pea.enums.VehicleEnum;
import com.dituhui.pea.order.service.EngineerCalendarService; import com.dituhui.pea.order.service.EngineerCalendarService;
import com.dituhui.pea.order.service.ScheduleService; import com.dituhui.pea.order.service.ScheduleService;
import com.dituhui.pea.order.utils.CommonUtil; import com.dituhui.pea.order.utils.CommonUtil;
......
...@@ -2,7 +2,6 @@ package com.dituhui.pea.order.service.impl; ...@@ -2,7 +2,6 @@ package com.dituhui.pea.order.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dituhui.pea.common.Result; import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.common.DateUtils; import com.dituhui.pea.order.common.DateUtils;
import com.dituhui.pea.order.dao.OrderEventDao; import com.dituhui.pea.order.dao.OrderEventDao;
...@@ -11,8 +10,8 @@ import com.dituhui.pea.order.dto.OrderChangeListDTO; ...@@ -11,8 +10,8 @@ import com.dituhui.pea.order.dto.OrderChangeListDTO;
import com.dituhui.pea.order.dto.WorkbenchSummaryResp; import com.dituhui.pea.order.dto.WorkbenchSummaryResp;
import com.dituhui.pea.order.entity.OrderEventEntity; import com.dituhui.pea.order.entity.OrderEventEntity;
import com.dituhui.pea.order.entity.OrderInfoEntity; import com.dituhui.pea.order.entity.OrderInfoEntity;
import com.dituhui.pea.order.enums.AppointmentMethodEnum; import com.dituhui.pea.enums.AppointmentMethodEnum;
import com.dituhui.pea.order.enums.OrderFlowEnum; import com.dituhui.pea.enums.OrderFlowEnum;
import com.dituhui.pea.order.service.WorkbenchService; import com.dituhui.pea.order.service.WorkbenchService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
...@@ -3,8 +3,8 @@ package com.dituhui.pea.order.utils; ...@@ -3,8 +3,8 @@ package com.dituhui.pea.order.utils;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.dituhui.pea.order.entity.OrderInfo; import com.dituhui.pea.order.entity.OrderInfo;
import com.dituhui.pea.order.entity.OrderInfoEntity; import com.dituhui.pea.order.entity.OrderInfoEntity;
import com.dituhui.pea.order.enums.OrderPeaTagsEnum; import com.dituhui.pea.enums.OrderPeaTagsEnum;
import com.dituhui.pea.order.enums.ServiceStatusEnum; import com.dituhui.pea.enums.ServiceStatusEnum;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.time.LocalDate; import java.time.LocalDate;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!