Commit 3a58ffb9 by 丁伟峰

进一步完善中

1 parent 417097e8
......@@ -19,7 +19,7 @@ public class BusinessController {
private BusinessTeamService businessTeamService;
@GetMapping("/business/team/list")
public Result<?> getTeamList(@Validated BusinessTeamsDTO reqDTO) {
public Result<?> getTeamList(@Validated BusinessTeamsDTO.Request reqDTO) {
Result<?> res = null;
try {
res = businessTeamService.getTeams(reqDTO);
......@@ -30,7 +30,7 @@ public class BusinessController {
}
@GetMapping("/business/warehouse/list")
public Result<?> getWarehouses(@Validated BusinessWarehousesDTO reqDTO) {
public Result<?> getWarehouses(@Validated BusinessWarehousesDTO.Request reqDTO) {
Result<?> res = null;
try {
res = businessTeamService.getWarehouses(reqDTO);
......@@ -41,7 +41,7 @@ public class BusinessController {
}
@PostMapping("/business/team/add")
public Result<?> addTeam(@Validated BusinessTeamAddDTO reqDTO) {
public Result<?> addTeam(@Validated BusinessTeamAddDTO.Request reqDTO) {
Result<?> res = null;
try {
res = businessTeamService.addTeam(reqDTO);
......@@ -52,7 +52,7 @@ public class BusinessController {
}
@GetMapping("/business/team/detail")
public Result<?> getTeamDetail(@Validated BusinessTeamDetailDTO reqDTO) {
public Result<?> getTeamDetail(@Validated BusinessTeamDetailDTO.Request reqDTO) {
Result<?> res = null;
try {
res = businessTeamService.getTeamDetail(reqDTO);
......@@ -63,7 +63,7 @@ public class BusinessController {
}
@PostMapping("/business/team/update")
public Result<?> updateTeamBase(@Validated BusinessTeamUpdateDTO reqDTO) {
public Result<?> updateTeamBase(@Validated BusinessTeamUpdateDTO.Request reqDTO) {
Result<?> res = null;
try {
res = businessTeamService.updateTeamBase(reqDTO);
......@@ -74,7 +74,7 @@ public class BusinessController {
}
@GetMapping("/business/team/delete")
public Result<?> deleteTeamBase(@Validated BusinessTeamDeleteDTO reqDTO) {
public Result<?> deleteTeamBase(@Validated BusinessTeamDeleteDTO.Request reqDTO) {
Result<?> res = null;
try {
res = businessTeamService.deleteTeam(reqDTO);
......@@ -85,10 +85,10 @@ public class BusinessController {
}
@GetMapping("/business/team/scheduling/init")
public Result<?> initScheduling(@Validated BusinessTeamDeleteDTO reqDTO) {
public Result<?> initScheduling(@Validated BusinessTeamConfigInitDTO.Request reqDTO) {
Result<?> res = null;
try {
res = businessTeamService.deleteTeam(reqDTO);
res = businessTeamService.getSchedulingInit(reqDTO);
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
......@@ -96,7 +96,7 @@ public class BusinessController {
}
@GetMapping("/business/team/scheduling/submit")
public Result<?> updateSchedulingConfig(@Validated BusinessTeamConfigSubmitDTO reqDTO) {
public Result<?> updateSchedulingConfig(@Validated BusinessTeamConfigSubmitDTO.Request reqDTO) {
Result<?> res = null;
try {
res = businessTeamService.updateSchedulingConfig(reqDTO);
......
package com.dituhui.pea.order.dao;
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.stereotype.Repository;
import java.util.List;
@Repository
@Where(clause = "status = 1")
public interface OrgTeamDao extends JpaRepository<OrgTeamEntity, Integer> {
List<OrgTeamEntity> findAllByClusterId(String clusterId);
......@@ -16,5 +16,7 @@ public interface OrgTeamDao extends JpaRepository<OrgTeamEntity, Integer> {
List<OrgTeamEntity> findAllByGroupId(String groupId);
Page<OrgTeamEntity> findAllByGroupId(String groupId, Pageable pageable);
OrgTeamEntity getByTeamId(String teamId);
}
......@@ -13,5 +13,7 @@ import java.util.List;
@Where(clause = "status = 1")
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;
public class BusinessTeamConfigInitDTO {
@lombok.Data
public static class Request {
}
@lombok.Data
public static class Result {
/**
* 次日预排班间隔
......
package com.dituhui.pea.order.dto;
import lombok.experimental.Accessors;
import java.util.List;
import static com.dituhui.pea.order.config.OrderConfig.DEFAULT_PAGE_SIZE;
......@@ -15,6 +17,7 @@ public class BusinessTeamsDTO {
}
@lombok.Data
@Accessors(chain = true)
public static class Result {
/**
* 列表
......@@ -39,6 +42,7 @@ public class BusinessTeamsDTO {
}
@lombok.Data
@Accessors(chain = true)
public static class Content {
/**
* 剩余容量
......@@ -61,6 +65,10 @@ public class BusinessTeamsDTO {
*/
private String peopleMinute;
/**
* 工作队编号
*/
private String teamId;
/**
* 工作队名称
*/
private String teamName;
......
package com.dituhui.pea.order.dto;
import lombok.experimental.Accessors;
import java.util.List;
public class BusinessWarehousesDTO {
@lombok.Data
......@@ -8,11 +12,13 @@ public class BusinessWarehousesDTO {
}
@lombok.Data
@Accessors(chain = true)
public static class Result {
private Content[] content;
private List<Content> content;
}
@lombok.Data
@Accessors(chain = true)
public static class Content {
/**
* 配件仓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;
import com.dituhui.pea.order.dto.*;
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!