Commit c838ec90 by chamberone

Merge branch 'develop' of https://zhangguoping@gitlab.dituhui.com/bsh/project/pr…

…oject.git into develop
2 parents c140a1dc 950a2985
Showing with 364 additions and 201 deletions
...@@ -19,7 +19,8 @@ import java.util.List; ...@@ -19,7 +19,8 @@ import java.util.List;
@Slf4j @Slf4j
public class SaasUtils { public class SaasUtils {
@Value("${SaaS.ak}") // todo
@Value("284c57cbabad4755a9c657885a8df3e2")
String ak; String ak;
@Value("${SaaS.url}") @Value("${SaaS.url}")
...@@ -56,9 +57,9 @@ public class SaasUtils { ...@@ -56,9 +57,9 @@ public class SaasUtils {
assert rs != null; assert rs != null;
for (SaasXyFendanDTO.AreaInfo r : rs.getResult()) { for (SaasXyFendanDTO.AreaInfo r : rs.getResult()) {
// 分单接口暂时无图层返回 // 分单接口暂时无图层返回
if (r.getField2() != null && r.getField1() != null) { if (r.getField3() != null && r.getField1() != null) {
blocks.add(new BlockInfo() blocks.add(new BlockInfo()
.setBlockId(r.getField2()) .setBlockId(r.getField3())
.setBlockName(r.getField1())); .setBlockName(r.getField1()));
} }
} }
......
package com.dituhui.pea.order.controller;
import com.dituhui.pea.common.BusinessException;
import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.dto.EngineerCalendarDTO;
import com.dituhui.pea.order.service.EngineerCalendarService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/pea-order")
public class EngineerCalendarController {
@Autowired
EngineerCalendarService engineerCalendarService;
@GetMapping("/engineer/calendar")
public Result<?> getEngineerCalendar(@Validated EngineerCalendarDTO.Request reqDTO) {
Result<?> res = null;
try {
res = engineerCalendarService.getEngineersCalendar(reqDTO);
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
return res;
}
@GetMapping("/engineer/calendar/type/list")
public Result<?> getCalendarTypeList() {
Result<?> res = null;
try {
res = engineerCalendarService.getCalendarTypeList();
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
return res;
}
}
...@@ -41,6 +41,7 @@ public class EngineerCenterPoiController { ...@@ -41,6 +41,7 @@ public class EngineerCenterPoiController {
result.setGroup(engineerBusinessService.getGroupInfo(engineerReq)); result.setGroup(engineerBusinessService.getGroupInfo(engineerReq));
result.setWarehouse(engineerBusinessService.getWareHouse(result.getGroup().getWarehouseId())); result.setWarehouse(engineerBusinessService.getWareHouse(result.getGroup().getWarehouseId()));
result.setBlocks(engineerBusinessService.getBlocks(engineerReq));
res = Result.success(result); res = Result.success(result);
} catch (BusinessException e) { } catch (BusinessException e) {
return Result.failed(e.getMessage()); return Result.failed(e.getMessage());
......
...@@ -151,15 +151,4 @@ public class EngineerController { ...@@ -151,15 +151,4 @@ public class EngineerController {
} }
return res; return res;
} }
@GetMapping("/engineer/calendar")
public Result<?> getEngineerCalendar(@Validated EngineerCalendarDTO.Request reqDTO) {
Result<?> res = null;
try {
res = engineerCalendarService.getEngineersCalendar(reqDTO);
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
return res;
}
} }
package com.dituhui.pea.order.dao;
import com.dituhui.pea.order.entity.EngineerSkillGroupEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
public interface EngineerSkillGroupDao extends JpaRepository<EngineerSkillGroupEntity, Integer> {
List<EngineerSkillGroupEntity> findByEngineerCode(String engineerCode);
List<EngineerSkillGroupEntity> findByEngineerCodeAndStatus(String engineerCode, boolean status);
List<EngineerSkillGroupEntity> findByEngineerCodeInAndStatus(List<String> engineerCodes, boolean status);
List<EngineerSkillGroupEntity> findBySkillGroupCode(String skillGroupCode);
List<EngineerSkillGroupEntity> findBySkillGroupCodeAndStatus(String skillGroupCode, boolean status);
}
...@@ -14,6 +14,8 @@ public interface MapBlockInfoDao extends JpaRepository<MapBlockInfoEntity, Integ ...@@ -14,6 +14,8 @@ public interface MapBlockInfoDao extends JpaRepository<MapBlockInfoEntity, Integ
MapBlockInfoEntity findByBlockId(String blockId); MapBlockInfoEntity findByBlockId(String blockId);
List<MapBlockInfoEntity> findByGroupId(String groupId);
List<MapBlockInfoEntity> findByLayerId(String layerId); List<MapBlockInfoEntity> findByLayerId(String layerId);
} }
...@@ -8,10 +8,13 @@ import org.springframework.data.jpa.repository.Query; ...@@ -8,10 +8,13 @@ import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Date; import java.util.Date;
import java.util.List;
@Repository @Repository
public interface OrderEventDao extends JpaRepository<OrderEventEntity, Integer> { public interface OrderEventDao extends JpaRepository<OrderEventEntity, Integer> {
List<OrderEventEntity> findByOrderId(String orderId);
@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);
......
...@@ -9,6 +9,9 @@ import java.util.List; ...@@ -9,6 +9,9 @@ import java.util.List;
public interface OrderInfoDao extends JpaRepository<OrderInfoEntity, Long> { public interface OrderInfoDao extends JpaRepository<OrderInfoEntity, Long> {
OrderInfoEntity getByOrderId(String orderId); OrderInfoEntity getByOrderId(String orderId);
OrderInfoEntity getByOrderIdAndDt(String orderId, LocalDate dt);
List<OrderInfoEntity> findByOrderId(String orderId);
List<OrderInfoEntity> findByDtAndEngineerCodeIn(LocalDate date, List<String> engineerCodes); List<OrderInfoEntity> findByDtAndEngineerCodeIn(LocalDate date, List<String> engineerCodes);
......
package com.dituhui.pea.order.dto;
import java.util.List;
public class CalendarBatAddDTO {
@lombok.Data
public static class Request {
/**
* 结束时间;如果是全天只需要填写日期;否则填写日期+时间
*/
private String end;
/**
* 技术员code列表
*/
private List<String> engineerCodes;
/**
* 是否全天
*/
private long isAllday;
/**
* 备注
*/
private String remark;
/**
* 重复截止日期
*/
private String repeatEndDate;
/**
* 重复类型
*/
private String repeatType;
/**
* 开始时间;如果是全天只需要填写日期;否则填写日期+时间
*/
private String start;
/**
* 日程类型
*/
private String type;
}
}
package com.dituhui.pea.order.dto;
import java.util.List;
public class CalendarBatDelDTO {
@lombok.Data
public static class Request {
/**
* 结束时间
*/
private String endDate;
/**
* 技术员code列表
*/
private List<String> engineerCodes;
/**
* 开始时间
*/
private String startDate;
/**
* 日程类型
*/
private String type;
}
}
package com.dituhui.pea.order.dto;
public class CalendarDeleteDTO {
@lombok.Data
public static class Request {
private String engineerCode;
private String planId;
}
}
package com.dituhui.pea.order.dto;
import java.time.LocalDateTime;
public class CalendarDetailDTO {
@lombok.Data
public static class Request {
private String engineerCode;
private String planId;
}
@lombok.Data
public static class Result {
private String endTime;
private String engineerCode;
private String engineerName;
private String operator;
private String phone;
private String remark;
private LocalDateTime startTime;
private String type;
private String typeName;
private LocalDateTime updateTime;
}
}
package com.dituhui.pea.order.dto;
public class CalendarQueryNumDTO {
@lombok.Data
public static class Request {
private String code;
private String message;
private Result result;
}
@lombok.Data
public static class Result {
private long planNum;
}
}
package com.dituhui.pea.order.dto;
import lombok.Data;
import java.util.List;
public class CalendarTypeDTO {
@lombok.Data
public static class Result {
private List<Type> types;
}
@lombok.Data
public static class Type {
private BarStyle barStyle;
private TagStyle tagStyle;
private String type;
private String typeName;
}
@lombok.Data
public static class BarStyle {
private String backgroundColor;
private String color;
}
@lombok.Data
public static class TagStyle {
private String backgroundColor;
}
}
package com.dituhui.pea.order.dto;
public class CalendarUpdateDTO {
@lombok.Data
public static class Request {
private String endTime;
/**
* 技术员code
*/
private String engineerCode;
/**
* 事件id
*/
private String planId;
private String remark;
private String startTime;
}
}
...@@ -28,7 +28,7 @@ public class EngineerBusinessDTO { ...@@ -28,7 +28,7 @@ public class EngineerBusinessDTO {
private Group group; private Group group;
private WareHouse warehouse; private WareHouse warehouse;
// @JsonIgnore // @JsonIgnore
// private List<Blocks> blocks; private List<Blocks> blocks;
} }
...@@ -59,6 +59,14 @@ public class EngineerBusinessDTO { ...@@ -59,6 +59,14 @@ public class EngineerBusinessDTO {
private String location; private String location;
} }
@lombok.Data
public static class Blocks {
private String blockId;
private String blockName;
private String blockData;
private String teamId;
}
@lombok.Data @lombok.Data
public static class EngineerCenterUpdateReqDTO { public static class EngineerCenterUpdateReqDTO {
......
...@@ -34,10 +34,10 @@ public class CapacityEngineerCalendarEntity { ...@@ -34,10 +34,10 @@ public class CapacityEngineerCalendarEntity {
private String memo; private String memo;
@Column(name = "create_time", nullable = false, updatable = false, columnDefinition = "timestamp default current_timestamp") @Column(name = "create_time", nullable = false, updatable = false, columnDefinition = "timestamp default current_timestamp")
private Timestamp createTime; private LocalDateTime createTime = LocalDateTime.now();
@Column(name = "update_time", nullable = false, columnDefinition = "timestamp default current_timestamp on update current_timestamp") @Column(name = "update_time", nullable = false, columnDefinition = "timestamp default current_timestamp on update current_timestamp")
private Timestamp updateTime; private LocalDateTime updateTime = LocalDateTime.now();
// 其他字段和关联关系的定义 // 其他字段和关联关系的定义
// ... // ...
......
...@@ -63,10 +63,10 @@ public class CapacityEngineerStatEntity { ...@@ -63,10 +63,10 @@ public class CapacityEngineerStatEntity {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
/** /**
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
} }
...@@ -68,11 +68,11 @@ public class CapacityOrgStatEntity { ...@@ -68,11 +68,11 @@ public class CapacityOrgStatEntity {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
/** /**
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
} }
...@@ -58,9 +58,9 @@ public class CapacityTeamStatEntity implements Serializable { ...@@ -58,9 +58,9 @@ public class CapacityTeamStatEntity implements Serializable {
private String memo; private String memo;
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
} }
...@@ -69,11 +69,11 @@ public class EngineerBusinessEntity implements Serializable { ...@@ -69,11 +69,11 @@ public class EngineerBusinessEntity implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(name = "create_time", nullable = false, updatable = false, columnDefinition = "timestamp default current_timestamp") @Column(name = "create_time", nullable = false, updatable = false, columnDefinition = "timestamp default current_timestamp")
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(name = "update_time", nullable = false, columnDefinition = "timestamp default current_timestamp on update current_timestamp") @Column(name = "update_time", nullable = false, columnDefinition = "timestamp default current_timestamp on update current_timestamp")
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
} }
...@@ -100,12 +100,12 @@ public class EngineerInfoEntity { ...@@ -100,12 +100,12 @@ public class EngineerInfoEntity {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
/** /**
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
public EngineerInfoEntity() {} public EngineerInfoEntity() {}
} }
...@@ -24,7 +24,7 @@ public class OrderEventEntity { ...@@ -24,7 +24,7 @@ public class OrderEventEntity {
private String suborderId; private String suborderId;
@Column(name = "happen", nullable = false, columnDefinition = "timestamp default current_timestamp on update current_timestamp") @Column(name = "happen", nullable = false, columnDefinition = "timestamp default current_timestamp on update current_timestamp")
private LocalDateTime happen; private LocalDateTime happen = LocalDateTime.now();
@Column(name = "event", nullable = false, length = 50, columnDefinition = "varchar(50) default ''") @Column(name = "event", nullable = false, length = 50, columnDefinition = "varchar(50) default ''")
private String event; private String event;
...@@ -45,10 +45,10 @@ public class OrderEventEntity { ...@@ -45,10 +45,10 @@ public class OrderEventEntity {
private String memo; private String memo;
@Column(name = "create_time", nullable = false, columnDefinition = "datetime default current_timestamp") @Column(name = "create_time", nullable = false, columnDefinition = "datetime default current_timestamp")
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
@Column(name = "update_time", nullable = false, columnDefinition = "datetime default current_timestamp") @Column(name = "update_time", nullable = false, columnDefinition = "datetime default current_timestamp")
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
// Getters and setters (省略) // Getters and setters (省略)
} }
......
...@@ -170,10 +170,10 @@ public class OrderInfoEntity { ...@@ -170,10 +170,10 @@ public class OrderInfoEntity {
private String extraInfo; private String extraInfo;
@Column(name = "create_time", nullable = true, columnDefinition = "timestamp default current_timestamp") @Column(name = "create_time", nullable = true, columnDefinition = "timestamp default current_timestamp")
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
@Column(name = "update_time", nullable = true, columnDefinition = "timestamp default current_timestamp on update current_timestamp") @Column(name = "update_time", nullable = true, columnDefinition = "timestamp default current_timestamp on update current_timestamp")
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
// Getters and setters (omitted for brevity) // Getters and setters (omitted for brevity)
} }
package com.dituhui.pea.order.entity;
import lombok.Data;
import javax.persistence.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
@Entity
@Table(name = "order_request")
public class OrderRequestEntity {
@Id
private String id;
@Column(name = "order_id", nullable = false)
private String orderId;
@Column(nullable = false)
private LocalDate dt;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String phone;
@Column(nullable = false)
private String address;
@Column(nullable = false)
private String x;
@Column(nullable = false)
private String y;
@Column
private String province;
@Column
private String city;
@Column
private String county;
@Column(nullable = false)
private String brand;
@Column(nullable = false)
private String type;
@Column(nullable = false)
private String skill;
@Column(name = "apply_note")
private String applyNote;
@Column(name = "fault_describe")
private String faultDescribe;
@Column(name = "expect_time_begin", nullable = false, columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP")
private LocalDateTime expectTimeBegin;
@Column(name = "expect_time_end")
private LocalDateTime expectTimeEnd;
@Column(name = "expect_time_desc")
private String expectTimeDesc;
@Column
private String source;
@Column(name = "area_id")
private String areaId;
@Column(name = "order_priority")
private String orderPriority;
@Column(name = "order_tags")
private String orderTags;
@Column
private Integer priority;
@Column
private String tags;
@Column(nullable = false)
private String status;
@Column(name = "appointment_status", nullable = false)
private String appointmentStatus;
@Column(name = "appointment_method", nullable = false)
private String appointmentMethod;
@Column(name = "org_cluster_id")
private String orgClusterId;
@Column(name = "org_cluster_name")
private String orgClusterName;
@Column(name = "org_branch_id")
private String orgBranchId;
@Column(name = "org_branch_name")
private String orgBranchName;
@Column(name = "org_group_id")
private String orgGroupId;
@Column(name = "org_group_name")
private String orgGroupName;
@Column(name = "org_team_id")
private String orgTeamId;
@Column(name = "org_team_name")
private String orgTeamName;
@Column
private String description;
@Column(name = "create_time", nullable = false, columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP")
private LocalDateTime createTime;
@Column(name = "update_time", nullable = false, columnDefinition = "timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private LocalDateTime updateTime;
// Getters and Setters
// ...
}
...@@ -19,6 +19,6 @@ public class OrderTagStrategyEntity { ...@@ -19,6 +19,6 @@ public class OrderTagStrategyEntity {
private Integer priority; private Integer priority;
private Integer disabled; private Integer disabled;
private String memo; private String memo;
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
} }
...@@ -45,10 +45,10 @@ public class OrgBranchEntity { ...@@ -45,10 +45,10 @@ public class OrgBranchEntity {
private String memo; private String memo;
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
public OrgBranchEntity() {} public OrgBranchEntity() {}
} }
...@@ -37,10 +37,10 @@ public class OrgClusterEntity { ...@@ -37,10 +37,10 @@ public class OrgClusterEntity {
private String updateUser; private String updateUser;
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
public OrgClusterEntity() { public OrgClusterEntity() {
} }
......
...@@ -81,12 +81,12 @@ public class OrgGroupEntity { ...@@ -81,12 +81,12 @@ public class OrgGroupEntity {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
/** /**
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
public OrgGroupEntity() {} public OrgGroupEntity() {}
} }
...@@ -45,12 +45,12 @@ public class OrgTeamEngineerEntity { ...@@ -45,12 +45,12 @@ public class OrgTeamEngineerEntity {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
/** /**
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
public OrgTeamEngineerEntity() { public OrgTeamEngineerEntity() {
} }
......
...@@ -90,11 +90,11 @@ public class OrgWarehouseInfoEntity { ...@@ -90,11 +90,11 @@ public class OrgWarehouseInfoEntity {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
/** /**
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
} }
...@@ -50,10 +50,10 @@ public class PubParamsEntity { ...@@ -50,10 +50,10 @@ public class PubParamsEntity {
/** /**
* 创建时间 * 创建时间
*/ */
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
/** /**
* 更新时间 * 更新时间
*/ */
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
} }
...@@ -30,10 +30,10 @@ public class SkillGroupEntity { ...@@ -30,10 +30,10 @@ public class SkillGroupEntity {
private String memo; private String memo;
@Column(name = "create_time", nullable = false, columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP") @Column(name = "create_time", nullable = false, columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP")
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
@Column(name = "update_time", nullable = false, columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") @Column(name = "update_time", nullable = false, columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
// Getters and Setters // Getters and Setters
// ... // ...
......
...@@ -58,10 +58,10 @@ public class SkillInfoEntity { ...@@ -58,10 +58,10 @@ public class SkillInfoEntity {
private String memo; private String memo;
@Column(name = "create_time", nullable = false, columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP") @Column(name = "create_time", nullable = false, columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP")
private LocalDateTime createTime; private LocalDateTime createTime = LocalDateTime.now();
@Column(name = "update_time", nullable = false, columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") @Column(name = "update_time", nullable = false, columnDefinition = "datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
private LocalDateTime updateTime; private LocalDateTime updateTime = LocalDateTime.now();
// Getters and Setters // Getters and Setters
// ... // ...
......
...@@ -12,4 +12,6 @@ public interface EngineerBusinessService { ...@@ -12,4 +12,6 @@ public interface EngineerBusinessService {
EngineerBusinessDTO.WareHouse getWareHouse(String wareHouseId); EngineerBusinessDTO.WareHouse getWareHouse(String wareHouseId);
void updateEngineerCenter(EngineerBusinessDTO.EngineerCenterUpdateReqDTO centerReq ); void updateEngineerCenter(EngineerBusinessDTO.EngineerCenterUpdateReqDTO centerReq );
List<EngineerBusinessDTO.Blocks> getBlocks(EngineerBusinessDTO.Request engineerReq);
} }
...@@ -6,4 +6,6 @@ import com.dituhui.pea.order.dto.EngineerCalendarDTO; ...@@ -6,4 +6,6 @@ import com.dituhui.pea.order.dto.EngineerCalendarDTO;
public interface EngineerCalendarService { public interface EngineerCalendarService {
Result<?> getEngineersCalendar(EngineerCalendarDTO.Request engineerCalendarReq); Result<?> getEngineersCalendar(EngineerCalendarDTO.Request engineerCalendarReq);
Result<?> getCalendarTypeList();
} }
...@@ -181,9 +181,11 @@ public class BusinessBlockServiceImpl implements BusinessBlockService { ...@@ -181,9 +181,11 @@ public class BusinessBlockServiceImpl implements BusinessBlockService {
} }
String blockId = saasResult.getResult(); String blockId = saasResult.getResult();
String blockName = String.format("%s_%s", layerName, team.getTeamName()); //区块名称
MapBlockInfo block = new MapBlockInfo(); MapBlockInfo block = new MapBlockInfo();
block.setBlockId(blockId); block.setBlockId(blockId);
block.setBlockName(team.getTeamName()); //默认使用team name; block.setBlockName(blockName);
block.setBranchId(team.getBranchId()); block.setBranchId(team.getBranchId());
block.setGroupId(team.getGroupId()); block.setGroupId(team.getGroupId());
block.setTeamId(teamId); block.setTeamId(teamId);
......
...@@ -51,8 +51,8 @@ public class CapacityQueryServiceImpl implements CapacityQueryService { ...@@ -51,8 +51,8 @@ public class CapacityQueryServiceImpl implements CapacityQueryService {
public Result<?> queryMatchCapacityData(CapacityOrderQueryDTO.Request reqDTO) { public Result<?> queryMatchCapacityData(CapacityOrderQueryDTO.Request reqDTO) {
// 单条容量查询 // 单条容量查询
log.info("===> queryMatchCapacityData()"); log.info("===> queryMatchCapacityData()");
List<String> layerIds = capacityUtils.getLayers(reqDTO.getBrand(), reqDTO.getType(), reqDTO.getSkill()); String peaBrand = fixBrand(reqDTO.getBrand());
List<String> layerIds = capacityUtils.getLayers(peaBrand, reqDTO.getType(), reqDTO.getSkill());
// 同步到saas,返回blockId // 同步到saas,返回blockId
List<String> blockIds = null; List<String> blockIds = null;
...@@ -61,12 +61,12 @@ public class CapacityQueryServiceImpl implements CapacityQueryService { ...@@ -61,12 +61,12 @@ public class CapacityQueryServiceImpl implements CapacityQueryService {
} else { } else {
blockIds = saasUtils.queryBlocksByAddress(reqDTO.getAddress()).stream().map(SaasUtils.BlockInfo::getBlockId).collect(Collectors.toList()); blockIds = saasUtils.queryBlocksByAddress(reqDTO.getAddress()).stream().map(SaasUtils.BlockInfo::getBlockId).collect(Collectors.toList());
} }
if (blockIds.size() == 0) { if (blockIds.isEmpty()) {
log.error("分单接口没有查到对应的结果"); log.error("分单接口没有查到对应的结果");
Result.failed(String.format("分单接口(address:%s)(location:%s) 没有查到配置区块", reqDTO.getAddress(), reqDTO.getLocation())); Result.failed(String.format("分单接口(address:%s)(location:%s) 没有查到配置区块", reqDTO.getAddress(), reqDTO.getLocation()));
} }
List<String> teamIds = capacityUtils.getTeamIdsByBlockIdsAndLayerIds(blockIds, layerIds); List<String> teamIds = capacityUtils.getTeamIdsByBlockIdsAndLayerIds(blockIds, layerIds);
if (teamIds == null || teamIds.size() == 0) { if (teamIds == null || teamIds.isEmpty()) {
return Result.failed("没有找到匹配的工作队"); return Result.failed("没有找到匹配的工作队");
} }
...@@ -77,13 +77,13 @@ public class CapacityQueryServiceImpl implements CapacityQueryService { ...@@ -77,13 +77,13 @@ public class CapacityQueryServiceImpl implements CapacityQueryService {
.map(EngineerInfoEntity::getEngineerCode).collect(Collectors.toList()); .map(EngineerInfoEntity::getEngineerCode).collect(Collectors.toList());
log.info("======= enginerCode: {}", engineerCodes); log.info("======= enginerCode: {}", engineerCodes);
List<String> matchEngineerCodes = engineerSkillDao.findAllByBrandAndTypeAndSkillAndEngineerCodeIn(reqDTO.getBrand(), reqDTO.getType(), reqDTO.getSkill(), engineerCodes).stream() List<String> matchEngineerCodes = engineerSkillDao.findAllByBrandAndTypeAndSkillAndEngineerCodeIn(peaBrand, reqDTO.getType(), reqDTO.getSkill(), engineerCodes).stream()
.map(EngineerSkillEntity::getEngineerCode).collect(Collectors.toList()); .map(EngineerSkillEntity::getEngineerCode).collect(Collectors.toList());
log.info("======= matchEngineerCodes: {}", matchEngineerCodes); log.info("======= matchEngineerCodes: {}", matchEngineerCodes);
log.info("符合技能要求的工作队[{}]符合技能要求的技术员[{}]", teamId, matchEngineerCodes); log.info("符合技能要求的工作队[{}]符合技能要求的技术员[{}]", teamId, matchEngineerCodes);
SkillInfoEntity skillInfoEntity = skillInfoDao.getByBrandAndTypeAndSkill(reqDTO.getBrand(), reqDTO.getType(), reqDTO.getSkill()); SkillInfoEntity skillInfoEntity = skillInfoDao.getByBrandAndTypeAndSkill(peaBrand, reqDTO.getType(), reqDTO.getSkill());
List<CapacityOrderQueryDTO.CalendarDTO> calendars = getSummaryOfEngineersCapacity(teamId, matchEngineerCodes, reqDTO.getStartDate(), reqDTO.getEndDate(), skillInfoEntity.getTakeTime()); List<CapacityOrderQueryDTO.CalendarDTO> calendars = getSummaryOfEngineersCapacity(teamId, matchEngineerCodes, reqDTO.getStartDate(), reqDTO.getEndDate(), skillInfoEntity.getTakeTime());
CapacityOrderQueryDTO.Result rs = new CapacityOrderQueryDTO.Result(); CapacityOrderQueryDTO.Result rs = new CapacityOrderQueryDTO.Result();
...@@ -179,4 +179,12 @@ public class CapacityQueryServiceImpl implements CapacityQueryService { ...@@ -179,4 +179,12 @@ public class CapacityQueryServiceImpl implements CapacityQueryService {
calendar.setTimes(List.of(timeDTO)); calendar.setTimes(List.of(timeDTO));
return calendar; return calendar;
} }
private String fixBrand(String brand){
if (!brand.equals("嘉格纳")){
return "博世/西门子以及其他品牌";
} else {
return brand;
}
}
} }
package com.dituhui.pea.order.service.impl; package com.dituhui.pea.order.service.impl;
import com.dituhui.pea.order.dao.EngineerBusinessDao; import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dao.EngineerInfoDao;
import com.dituhui.pea.order.dao.OrgGroupDao;
import com.dituhui.pea.order.dao.WarehouseInfoDao;
import com.dituhui.pea.order.dto.EngineerBusinessDTO; import com.dituhui.pea.order.dto.EngineerBusinessDTO;
import com.dituhui.pea.order.entity.*; import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.service.EngineerBusinessService; import com.dituhui.pea.order.service.EngineerBusinessService;
...@@ -37,6 +34,8 @@ public class EngineerBusinessServiceImpl implements EngineerBusinessService { ...@@ -37,6 +34,8 @@ public class EngineerBusinessServiceImpl implements EngineerBusinessService {
@Autowired @Autowired
private WarehouseInfoDao warehouseInfoDao; private WarehouseInfoDao warehouseInfoDao;
@Autowired
private MapBlockInfoDao mapBlockInfoDao;
@Autowired @Autowired
private JdbcTemplate jdbcTemplate; private JdbcTemplate jdbcTemplate;
...@@ -115,4 +114,18 @@ public class EngineerBusinessServiceImpl implements EngineerBusinessService { ...@@ -115,4 +114,18 @@ public class EngineerBusinessServiceImpl implements EngineerBusinessService {
String[] xyArr = location.split(","); String[] xyArr = location.split(",");
engineerBusinessDao.updateEngineerCenter(centerReq.getAddress(), xyArr[0], xyArr[1], centerReq.getEngineerCode()); engineerBusinessDao.updateEngineerCenter(centerReq.getAddress(), xyArr[0], xyArr[1], centerReq.getEngineerCode());
} }
@Override
public List<EngineerBusinessDTO.Blocks> getBlocks(EngineerBusinessDTO.Request engineerReq) {
List<MapBlockInfoEntity> blockInfoList = mapBlockInfoDao.findByGroupId(engineerReq.getLevelValue());
return blockInfoList.stream().map(item -> {
EngineerBusinessDTO.Blocks block = new EngineerBusinessDTO.Blocks();
block.setBlockId(item.getBlockId());
block.setBlockName(item.getBlockName());
block.setBlockData(item.getAreaData());
block.setTeamId(item.getTeamId());
return block;
}).collect(Collectors.toList());
}
} }
...@@ -7,11 +7,16 @@ import com.dituhui.pea.order.common.EngineerUtils; ...@@ -7,11 +7,16 @@ import com.dituhui.pea.order.common.EngineerUtils;
import com.dituhui.pea.order.dao.CapacityEngineerCalendarDao; import com.dituhui.pea.order.dao.CapacityEngineerCalendarDao;
import com.dituhui.pea.order.dao.OrgTeamDao; import com.dituhui.pea.order.dao.OrgTeamDao;
import com.dituhui.pea.order.dao.OrgTeamEngineerDao; import com.dituhui.pea.order.dao.OrgTeamEngineerDao;
import com.dituhui.pea.order.dao.PubParamsDao;
import com.dituhui.pea.order.dto.CalendarTypeDTO;
import com.dituhui.pea.order.dto.EngineerCalendarDTO; import com.dituhui.pea.order.dto.EngineerCalendarDTO;
import com.dituhui.pea.order.entity.CapacityEngineerCalendarEntity; import com.dituhui.pea.order.entity.CapacityEngineerCalendarEntity;
import com.dituhui.pea.order.entity.EngineerInfoEntity; import com.dituhui.pea.order.entity.EngineerInfoEntity;
import com.dituhui.pea.order.entity.OrgTeamEntity; import com.dituhui.pea.order.entity.OrgTeamEntity;
import com.dituhui.pea.order.entity.PubParamsEntity;
import com.dituhui.pea.order.service.EngineerCalendarService; import com.dituhui.pea.order.service.EngineerCalendarService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
...@@ -44,6 +49,8 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService { ...@@ -44,6 +49,8 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
@Autowired @Autowired
private OrgTeamDao orgTeamDao; private OrgTeamDao orgTeamDao;
@Autowired
private PubParamsDao pubParamsDao;
@Override @Override
public Result<?> getEngineersCalendar(EngineerCalendarDTO.Request req) { public Result<?> getEngineersCalendar(EngineerCalendarDTO.Request req) {
...@@ -72,13 +79,32 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService { ...@@ -72,13 +79,32 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
return Result.success(rs); return Result.success(rs);
} }
@Override
public Result<?> getCalendarTypeList() {
List<PubParamsEntity> entities = pubParamsDao.findByCatalogAndBiztype("CalendarType", "CalendarType");
try {
List<CalendarTypeDTO.Type> types = entities.stream().map(e -> {
try {
return new ObjectMapper().readValue(e.getPvalue(), CalendarTypeDTO.Type.class);
} catch (JsonProcessingException ex) {
throw new RuntimeException(ex);
}
}).collect(Collectors.toList());
CalendarTypeDTO.Result rs = new CalendarTypeDTO.Result();
rs.setTypes(types);
return Result.success(rs);
} catch (Exception e) {
return Result.failed(e.getMessage());
}
}
private List<EngineerCalendarDTO.Calendar> getOneEngineerCalendars(String engineerCode, String bdate, String edate) { private List<EngineerCalendarDTO.Calendar> getOneEngineerCalendars(String engineerCode, String bdate, String edate) {
// 返回某一个技术员,日期范围内的日历列表 // 返回某一个技术员,日期范围内的日历列表
List<EngineerCalendarDTO.Calendar> calendars = new ArrayList<>(); List<EngineerCalendarDTO.Calendar> calendars = new ArrayList<>();
List<String> teamIds = orgTeamEngineerDao.getTeamIdsByEngineerCode(engineerCode); List<String> teamIds = orgTeamEngineerDao.getTeamIdsByEngineerCode(engineerCode);
if (teamIds == null || teamIds.size() == 0) { if (teamIds == null || teamIds.isEmpty()) {
return new ArrayList<>(); return new ArrayList<>();
} }
LocalDate startDate = LocalDate.parse(bdate); LocalDate startDate = LocalDate.parse(bdate);
......
...@@ -120,7 +120,8 @@ public class OrderCreateServiceImpl implements OrderCreateService { ...@@ -120,7 +120,8 @@ public class OrderCreateServiceImpl implements OrderCreateService {
entity.setName(req.getName()); entity.setName(req.getName());
entity.setPhone(req.getPhone()); entity.setPhone(req.getPhone());
entity.setBeanBrand(req.getBrand()); entity.setBeanBrand(req.getBrand());
entity.setBrand(fixBrand(req.getBrand())); String peaBrand = fixBrand(req.getBrand());
entity.setBrand(peaBrand);
entity.setType(req.getType()); entity.setType(req.getType());
entity.setSkill(req.getSkill()); entity.setSkill(req.getSkill());
entity.setFaultDescribe(req.getFaultDescribe()); entity.setFaultDescribe(req.getFaultDescribe());
...@@ -151,7 +152,7 @@ public class OrderCreateServiceImpl implements OrderCreateService { ...@@ -151,7 +152,7 @@ public class OrderCreateServiceImpl implements OrderCreateService {
entity.setAppointmentMethod("AUTO_NOW"); entity.setAppointmentMethod("AUTO_NOW");
entity.setWorkshop(false); entity.setWorkshop(false);
SkillInfoEntity skillInfoEntity = skillInfoDao.getByBrandAndTypeAndSkill(req.getBrand(), req.getType(), req.getSkill()); SkillInfoEntity skillInfoEntity = skillInfoDao.getByBrandAndTypeAndSkill(peaBrand, req.getType(), req.getSkill());
assert skillInfoEntity != null; assert skillInfoEntity != null;
entity.setTakeTime(skillInfoEntity.getTakeTime()); entity.setTakeTime(skillInfoEntity.getTakeTime());
// 基础保存 // 基础保存
...@@ -159,19 +160,19 @@ public class OrderCreateServiceImpl implements OrderCreateService { ...@@ -159,19 +160,19 @@ public class OrderCreateServiceImpl implements OrderCreateService {
// 分单处理 // 分单处理
List<String> blockIds = null; List<String> blockIds = null;
List<String> layerIds = capacityUtils.getLayers(req.getBrand(), req.getType(), req.getSkill()); List<String> layerIds = capacityUtils.getLayers(peaBrand, req.getType(), req.getSkill());
if (req.getLocation() != null) { if (req.getLocation() != null) {
String loc = String.format("%f,%f", req.getLocation().getLng(), req.getLocation().getLat()); String loc = String.format("%f,%f", req.getLocation().getLng(), req.getLocation().getLat());
blockIds = saasUtils.queryBlocksByLocation(loc).stream().map(SaasUtils.BlockInfo::getBlockId).collect(Collectors.toList()); blockIds = saasUtils.queryBlocksByLocation(loc).stream().map(SaasUtils.BlockInfo::getBlockId).collect(Collectors.toList());
} else { } else {
blockIds = saasUtils.queryBlocksByAddress(req.getAddress()).stream().map(SaasUtils.BlockInfo::getBlockId).collect(Collectors.toList()); blockIds = saasUtils.queryBlocksByAddress(req.getAddress()).stream().map(SaasUtils.BlockInfo::getBlockId).collect(Collectors.toList());
} }
if (blockIds.size() == 0) { if (blockIds.isEmpty()) {
log.error("分单接口没有查到对应的结果"); log.error("分单接口没有查到对应的结果");
return Result.failed(String.format("分单接口(address:%s)(location:%s) 没有查到配置区块", req.getAddress(), req.getLocation())); return Result.failed(String.format("分单接口(address:%s)(location:%s) 没有查到配置区块", req.getAddress(), req.getLocation()));
} }
List<String> teamIds = capacityUtils.getTeamIdsByBlockIdsAndLayerIds(blockIds, layerIds); List<String> teamIds = capacityUtils.getTeamIdsByBlockIdsAndLayerIds(blockIds, layerIds);
if (teamIds == null || teamIds.size() == 0) { if (teamIds == null || teamIds.isEmpty()) {
return Result.failed("没有找到匹配的工作队"); return Result.failed("没有找到匹配的工作队");
} }
// 选择一个工作队(理论上,只有1个合适的工作队),然后遍历下面的各个技术员,从符合技能的技术员中,汇总相关的容量 // 选择一个工作队(理论上,只有1个合适的工作队),然后遍历下面的各个技术员,从符合技能的技术员中,汇总相关的容量
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!