Commit 3a58ffb9 by 丁伟峰

进一步完善中

1 parent 417097e8
...@@ -19,7 +19,7 @@ public class BusinessController { ...@@ -19,7 +19,7 @@ public class BusinessController {
private BusinessTeamService businessTeamService; private BusinessTeamService businessTeamService;
@GetMapping("/business/team/list") @GetMapping("/business/team/list")
public Result<?> getTeamList(@Validated BusinessTeamsDTO reqDTO) { public Result<?> getTeamList(@Validated BusinessTeamsDTO.Request reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = businessTeamService.getTeams(reqDTO); res = businessTeamService.getTeams(reqDTO);
...@@ -30,7 +30,7 @@ public class BusinessController { ...@@ -30,7 +30,7 @@ public class BusinessController {
} }
@GetMapping("/business/warehouse/list") @GetMapping("/business/warehouse/list")
public Result<?> getWarehouses(@Validated BusinessWarehousesDTO reqDTO) { public Result<?> getWarehouses(@Validated BusinessWarehousesDTO.Request reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = businessTeamService.getWarehouses(reqDTO); res = businessTeamService.getWarehouses(reqDTO);
...@@ -41,7 +41,7 @@ public class BusinessController { ...@@ -41,7 +41,7 @@ public class BusinessController {
} }
@PostMapping("/business/team/add") @PostMapping("/business/team/add")
public Result<?> addTeam(@Validated BusinessTeamAddDTO reqDTO) { public Result<?> addTeam(@Validated BusinessTeamAddDTO.Request reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = businessTeamService.addTeam(reqDTO); res = businessTeamService.addTeam(reqDTO);
...@@ -52,7 +52,7 @@ public class BusinessController { ...@@ -52,7 +52,7 @@ public class BusinessController {
} }
@GetMapping("/business/team/detail") @GetMapping("/business/team/detail")
public Result<?> getTeamDetail(@Validated BusinessTeamDetailDTO reqDTO) { public Result<?> getTeamDetail(@Validated BusinessTeamDetailDTO.Request reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = businessTeamService.getTeamDetail(reqDTO); res = businessTeamService.getTeamDetail(reqDTO);
...@@ -63,7 +63,7 @@ public class BusinessController { ...@@ -63,7 +63,7 @@ public class BusinessController {
} }
@PostMapping("/business/team/update") @PostMapping("/business/team/update")
public Result<?> updateTeamBase(@Validated BusinessTeamUpdateDTO reqDTO) { public Result<?> updateTeamBase(@Validated BusinessTeamUpdateDTO.Request reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = businessTeamService.updateTeamBase(reqDTO); res = businessTeamService.updateTeamBase(reqDTO);
...@@ -74,7 +74,7 @@ public class BusinessController { ...@@ -74,7 +74,7 @@ public class BusinessController {
} }
@GetMapping("/business/team/delete") @GetMapping("/business/team/delete")
public Result<?> deleteTeamBase(@Validated BusinessTeamDeleteDTO reqDTO) { public Result<?> deleteTeamBase(@Validated BusinessTeamDeleteDTO.Request reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = businessTeamService.deleteTeam(reqDTO); res = businessTeamService.deleteTeam(reqDTO);
...@@ -85,10 +85,10 @@ public class BusinessController { ...@@ -85,10 +85,10 @@ public class BusinessController {
} }
@GetMapping("/business/team/scheduling/init") @GetMapping("/business/team/scheduling/init")
public Result<?> initScheduling(@Validated BusinessTeamDeleteDTO reqDTO) { public Result<?> initScheduling(@Validated BusinessTeamConfigInitDTO.Request reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = businessTeamService.deleteTeam(reqDTO); res = businessTeamService.getSchedulingInit(reqDTO);
} catch (BusinessException e) { } catch (BusinessException e) {
return Result.failed(e.getMessage()); return Result.failed(e.getMessage());
} }
...@@ -96,7 +96,7 @@ public class BusinessController { ...@@ -96,7 +96,7 @@ public class BusinessController {
} }
@GetMapping("/business/team/scheduling/submit") @GetMapping("/business/team/scheduling/submit")
public Result<?> updateSchedulingConfig(@Validated BusinessTeamConfigSubmitDTO reqDTO) { public Result<?> updateSchedulingConfig(@Validated BusinessTeamConfigSubmitDTO.Request reqDTO) {
Result<?> res = null; Result<?> res = null;
try { try {
res = businessTeamService.updateSchedulingConfig(reqDTO); res = businessTeamService.updateSchedulingConfig(reqDTO);
......
package com.dituhui.pea.order.dao; package com.dituhui.pea.order.dao;
import com.dituhui.pea.order.entity.OrgTeamEntity; import com.dituhui.pea.order.entity.OrgTeamEntity;
import org.hibernate.annotations.Where; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository @Repository
@Where(clause = "status = 1")
public interface OrgTeamDao extends JpaRepository<OrgTeamEntity, Integer> { public interface OrgTeamDao extends JpaRepository<OrgTeamEntity, Integer> {
List<OrgTeamEntity> findAllByClusterId(String clusterId); List<OrgTeamEntity> findAllByClusterId(String clusterId);
...@@ -16,5 +16,7 @@ public interface OrgTeamDao extends JpaRepository<OrgTeamEntity, Integer> { ...@@ -16,5 +16,7 @@ public interface OrgTeamDao extends JpaRepository<OrgTeamEntity, Integer> {
List<OrgTeamEntity> findAllByGroupId(String groupId); List<OrgTeamEntity> findAllByGroupId(String groupId);
Page<OrgTeamEntity> findAllByGroupId(String groupId, Pageable pageable);
OrgTeamEntity getByTeamId(String teamId); OrgTeamEntity getByTeamId(String teamId);
} }
...@@ -13,5 +13,7 @@ import java.util.List; ...@@ -13,5 +13,7 @@ import java.util.List;
@Where(clause = "status = 1") @Where(clause = "status = 1")
public interface OrgTeamEngineerDao extends JpaRepository<OrgTeamEngineerEntity, Integer> { public interface OrgTeamEngineerDao extends JpaRepository<OrgTeamEngineerEntity, Integer> {
List<OrgTeamEngineerEntity> findAllByTeamIdIn(Collection<String> teamIds); List<OrgTeamEngineerEntity> findAllByTeamId(String teamId);
List<OrgTeamEngineerEntity> findAllByTeamIdIn(List<String> teamIds);
} }
package com.dituhui.pea.order.dao;
import com.dituhui.pea.order.entity.OrgWarehouseInfoEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface WarehouseInfoDao extends JpaRepository<OrgWarehouseInfoEntity, Long> {
List<OrgWarehouseInfoEntity> getAllByGroupId(String groupId);
}
...@@ -5,6 +5,10 @@ import java.util.List; ...@@ -5,6 +5,10 @@ import java.util.List;
public class BusinessTeamConfigInitDTO { public class BusinessTeamConfigInitDTO {
@lombok.Data @lombok.Data
public static class Request {
}
@lombok.Data
public static class Result { public static class Result {
/** /**
* 次日预排班间隔 * 次日预排班间隔
......
package com.dituhui.pea.order.dto; package com.dituhui.pea.order.dto;
import lombok.experimental.Accessors;
import java.util.List; import java.util.List;
import static com.dituhui.pea.order.config.OrderConfig.DEFAULT_PAGE_SIZE; import static com.dituhui.pea.order.config.OrderConfig.DEFAULT_PAGE_SIZE;
...@@ -15,6 +17,7 @@ public class BusinessTeamsDTO { ...@@ -15,6 +17,7 @@ public class BusinessTeamsDTO {
} }
@lombok.Data @lombok.Data
@Accessors(chain = true)
public static class Result { public static class Result {
/** /**
* 列表 * 列表
...@@ -39,6 +42,7 @@ public class BusinessTeamsDTO { ...@@ -39,6 +42,7 @@ public class BusinessTeamsDTO {
} }
@lombok.Data @lombok.Data
@Accessors(chain = true)
public static class Content { public static class Content {
/** /**
* 剩余容量 * 剩余容量
...@@ -61,6 +65,10 @@ public class BusinessTeamsDTO { ...@@ -61,6 +65,10 @@ public class BusinessTeamsDTO {
*/ */
private String peopleMinute; private String peopleMinute;
/** /**
* 工作队编号
*/
private String teamId;
/**
* 工作队名称 * 工作队名称
*/ */
private String teamName; private String teamName;
......
package com.dituhui.pea.order.dto; package com.dituhui.pea.order.dto;
import lombok.experimental.Accessors;
import java.util.List;
public class BusinessWarehousesDTO { public class BusinessWarehousesDTO {
@lombok.Data @lombok.Data
...@@ -8,11 +12,13 @@ public class BusinessWarehousesDTO { ...@@ -8,11 +12,13 @@ public class BusinessWarehousesDTO {
} }
@lombok.Data @lombok.Data
@Accessors(chain = true)
public static class Result { public static class Result {
private Content[] content; private List<Content> content;
} }
@lombok.Data @lombok.Data
@Accessors(chain = true)
public static class Content { public static class Content {
/** /**
* 配件仓Id * 配件仓Id
......
package com.dituhui.pea.order.entity;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.time.LocalDateTime;
@Data
@Entity
@Table(name="org_warehouse_info")
public class OrgWarehouseInfoEntity {
private static final long serialVersionUID = 1L;
@Id
private Integer id;
/**
* 配件仓id
*/
private String warehouseId;
/**
* 配件仓名称
*/
private String warehouseName;
/**
* 归属分站
*/
private String groupId;
/**
* 所在城市id
*/
private String cityCode;
/**
* 配件仓
*/
private String address;
/**
* 办公地址经度
*/
private String x;
/**
* 办公地址纬度
*/
private String y;
/**
* 配件到达时间
*/
private String arriveTime;
/**
* 配件到达时间
*/
private String cutoffTime;
/**
* 类型(1分部仓-可分发,2小组仓-快递柜)
*/
private int kind;
/**
* 管理员姓名
*/
private String managerName;
/**
* 管理员手机号码
*/
private String namagerPhone;
/**
* 备注
*/
private String memo;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
...@@ -4,19 +4,19 @@ import com.dituhui.pea.common.Result; ...@@ -4,19 +4,19 @@ import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.dto.*; import com.dituhui.pea.order.dto.*;
public interface BusinessTeamService { public interface BusinessTeamService {
Result<?> getTeams(BusinessTeamsDTO req); Result<?> getTeams(BusinessTeamsDTO.Request req);
Result<?> getWarehouses(BusinessWarehousesDTO req); Result<?> getWarehouses(BusinessWarehousesDTO.Request req);
Result<?> addTeam(BusinessTeamAddDTO req); Result<?> addTeam(BusinessTeamAddDTO.Request req);
Result<?> updateTeamBase(BusinessTeamUpdateDTO req); Result<?> updateTeamBase(BusinessTeamUpdateDTO.Request req);
Result<?> getTeamDetail(BusinessTeamDetailDTO req); Result<?> getTeamDetail(BusinessTeamDetailDTO.Request req);
Result<?> deleteTeam(BusinessTeamDeleteDTO req); Result<?> deleteTeam(BusinessTeamDeleteDTO.Request req);
Result<?> getSchedulingInit(BusinessTeamConfigInitDTO req); Result<?> getSchedulingInit(BusinessTeamConfigInitDTO.Request req);
Result<?> updateSchedulingConfig(BusinessTeamConfigSubmitDTO req); Result<?> updateSchedulingConfig(BusinessTeamConfigSubmitDTO.Request req);
} }
package com.dituhui.pea.order.service.impl;
import cn.hutool.core.date.Week;
import com.dituhui.pea.common.Result;
import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.entity.OrgTeamEngineerEntity;
import com.dituhui.pea.order.entity.OrgTeamEntity;
import com.dituhui.pea.order.entity.OrgWarehouseInfoEntity;
import com.dituhui.pea.order.service.BusinessTeamService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Service
@Slf4j
public class BusinessTeamServiceImpl implements BusinessTeamService {
@Autowired
private OrgTeamDao orgTeamDao;
@Autowired
private WarehouseInfoDao warehouseInfoDao;
@Autowired
private OrgTeamEngineerDao orgTeamEngineerDao;
@Autowired
private EngineerInfoDao engineerInfoDao;
@Autowired
private CapacityTeamStatDao capacityTeamStatDao;
@Override
public Result<?> getTeams(BusinessTeamsDTO.Request req) {
List<BusinessTeamsDTO.Content> contens = new ArrayList<>();
Pageable pageable = PageRequest.of(req.getPage() - 1, req.getSize());
Page<OrgTeamEntity> teams = orgTeamDao.findAllByGroupId(req.getLevelValue(), pageable);
List<String> teamIds = teams.stream().map(OrgTeamEntity::getTeamId).collect(Collectors.toList());
for (OrgTeamEntity e:teams){
String engineers = orgTeamEngineerDao.findAllByTeamId(e.getTeamId()).stream().map(e2->{
return engineerInfoDao.getByEngineerCode(e2.getEngineerCode()).getName();
}).collect(Collectors.toList()).toString();
BusinessTeamsDTO.Content content = new BusinessTeamsDTO.Content();
content.setTeamId(e.getTeamId()).setTeamName(e.getTeamName());
content.setWorkdays(getWorkdaysChinese(e.getWorkdays()).toString());
content.setEngineers(engineers);
// todo 工作队容量
}
return Result.success(new BusinessTeamsDTO.Result().setContent(contens));
}
private List<String> getWorkdaysChinese(String workDays){
// 将 1,2,3 转换为 周一、周二、周三
return Arrays.stream(workDays.split(",")).map(e->{
return Week.valueOf(e).toChinese("周");
}).collect(Collectors.toList());
}
@Override
public Result<?> getWarehouses(BusinessWarehousesDTO.Request req) {
List<OrgWarehouseInfoEntity> warehouseInfoEntityList = warehouseInfoDao.getAllByGroupId(req.getGroupId());
List<BusinessWarehousesDTO.Content> contents = warehouseInfoEntityList.stream().map(entity -> {
BusinessWarehousesDTO.Content dto = new BusinessWarehousesDTO.Content();
dto.setWarehouseId(entity.getWarehouseId());
dto.setWarehouseName(entity.getWarehouseName());
// 手工赋值其他字段
return dto;
}).collect(Collectors.toList());
return Result.success(new BusinessWarehousesDTO.Result().setContent(contents));
}
@Override
public Result<?> addTeam(BusinessTeamAddDTO.Request req) {
return null;
}
@Override
public Result<?> updateTeamBase(BusinessTeamUpdateDTO.Request req) {
return null;
}
@Override
public Result<?> getTeamDetail(BusinessTeamDetailDTO.Request req) {
return null;
}
@Override
public Result<?> deleteTeam(BusinessTeamDeleteDTO.Request req) {
return null;
}
@Override
public Result<?> getSchedulingInit(BusinessTeamConfigInitDTO.Request req) {
return null;
}
@Override
public Result<?> updateSchedulingConfig(BusinessTeamConfigSubmitDTO.Request req) {
return null;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!