Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
yangxiujun
/
paidan_demo
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit b24e7a6f
authored
Aug 03, 2023
by
丁伟峰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
与前端通信的DTO,日期时间统一为String格式
1 parent
6262844e
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
170 additions
and
92 deletions
project-order/src/main/java/com/dituhui/pea/order/controller/EngineerCalendarController.java
project-order/src/main/java/com/dituhui/pea/order/dao/CapacityEngineerCalendarDao.java
project-order/src/main/java/com/dituhui/pea/order/dto/BusinessSkillListDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/CalendarDetailDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/CalendarQueryNumDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/CapacityAdjustDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/CapacityStatQueryDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/EngineersGanttDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/OrderChangeListDTO.java
project-order/src/main/java/com/dituhui/pea/order/entity/CapacityEngineerCalendarEntity.java
project-order/src/main/java/com/dituhui/pea/order/service/EngineerCalendarService.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerCalendarServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerGanttServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrgCapacityServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/WorkbenchServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/controller/EngineerCalendarController.java
View file @
b24e7a6
...
...
@@ -2,13 +2,13 @@ package com.dituhui.pea.order.controller;
import
com.dituhui.pea.common.BusinessException
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.dto.CalendarDetailDTO
;
import
com.dituhui.pea.order.dto.EngineerCalendarDTO
;
import
com.dituhui.pea.order.dto.*
;
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.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -46,11 +46,54 @@ public class EngineerCalendarController {
public
Result
<?>
getCalendarPlanDetail
(
@Validated
CalendarDetailDTO
.
Request
reqDTO
)
{
Result
<?>
res
=
null
;
try
{
res
=
engineerCalendarService
.
get
Calendar
PlanDetail
(
reqDTO
);
res
=
engineerCalendarService
.
getPlanDetail
(
reqDTO
);
}
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
}
return
res
;
}
@PostMapping
(
"/engineer/calendar/plan/update"
)
public
Result
<?>
updateCalendarPlan
(
@Validated
CalendarUpdateDTO
.
Request
reqDTO
)
{
Result
<?>
res
=
null
;
try
{
res
=
engineerCalendarService
.
updatePlan
(
reqDTO
);
}
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
}
return
res
;
}
@PostMapping
(
"/engineer/calendar/plan/delete"
)
public
Result
<?>
deleteCalendarPlan
(
@Validated
CalendarDeleteDTO
.
Request
reqDTO
)
{
Result
<?>
res
=
null
;
try
{
res
=
engineerCalendarService
.
deletePlan
(
reqDTO
);
}
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
}
return
res
;
}
@PostMapping
(
"/engineer/calendar/batch/add"
)
public
Result
<?>
BatchAddPlan
(
@Validated
CalendarBatAddDTO
.
Request
reqDTO
)
{
Result
<?>
res
=
null
;
try
{
res
=
engineerCalendarService
.
batchAddPlan
(
reqDTO
);
}
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
}
return
res
;
}
@GetMapping
(
"/engineer/calendar/plan/num"
)
public
Result
<?>
getEngineerPlanNum
(
@Validated
CalendarQueryNumDTO
.
Request
reqDTO
)
{
Result
<?>
res
=
null
;
try
{
res
=
engineerCalendarService
.
queryEngineerPlanNum
(
reqDTO
);
}
catch
(
BusinessException
e
)
{
return
Result
.
failed
(
e
.
getMessage
());
}
return
res
;
}
}
project-order/src/main/java/com/dituhui/pea/order/dao/CapacityEngineerCalendarDao.java
View file @
b24e7a6
...
...
@@ -4,10 +4,17 @@ import com.dituhui.pea.order.entity.CapacityEngineerCalendarEntity;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Query
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
public
interface
CapacityEngineerCalendarDao
extends
JpaRepository
<
CapacityEngineerCalendarEntity
,
Integer
>
{
@Query
(
"select a from CapacityEngineerCalendarEntity a where a.engineerCode=:engineerCode and a.workday between :beginDate and :endDate"
)
List
<
CapacityEngineerCalendarEntity
>
findCalendarByEngineerCodeAndDateBetween
(
String
engineerCode
,
String
beginDate
,
String
endDate
);
CapacityEngineerCalendarEntity
getByPlanId
(
String
planId
);
@Query
(
"select count(*) from CapacityEngineerCalendarEntity a where a.type = :type and a.startTime >= :startDate and a.endTime <= :endDate and a.engineerCode in :engineers"
)
Integer
queryEngineerPlanNum
(
List
<
String
>
engineers
,
LocalDateTime
startDate
,
LocalDateTime
endDate
,
String
type
);
}
project-order/src/main/java/com/dituhui/pea/order/dto/BusinessSkillListDTO.java
View file @
b24e7a6
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
static
com
.
dituhui
.
pea
.
order
.
config
.
OrderConfig
.
DEFAULT_PAGE_SIZE
;
...
...
@@ -44,10 +39,8 @@ public class BusinessSkillListDTO {
public
static
class
Content
{
private
String
brand
;
@JsonDeserialize
(
using
=
LocalDateTimeDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateTimeSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
createTime
;
private
String
createTime
;
private
Boolean
gasCert
;
private
String
layerId
;
private
String
layerName
;
...
...
@@ -64,9 +57,7 @@ public class BusinessSkillListDTO {
private
String
type
;
private
String
typeCategory
;
@JsonDeserialize
(
using
=
LocalDateTimeDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateTimeSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
updateTime
;
private
String
updateTime
;
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/CalendarDetailDTO.java
View file @
b24e7a6
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDateTime
;
public
class
CalendarDetailDTO
{
@lombok
.
Data
...
...
@@ -30,20 +24,14 @@ public class CalendarDetailDTO {
private
String
type
;
private
String
typeName
;
@JsonDeserialize
(
using
=
LocalDateTimeDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateTimeSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
startTime
;
private
String
startTime
;
@JsonDeserialize
(
using
=
LocalDateTimeDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateTimeSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
endTime
;
private
String
endTime
;
@JsonDeserialize
(
using
=
LocalDateTimeDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateTimeSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
updateTime
;
private
String
updateTime
;
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/CalendarQueryNumDTO.java
View file @
b24e7a6
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
java.util.List
;
public
class
CalendarQueryNumDTO
{
@lombok
.
Data
public
static
class
Request
{
private
String
code
;
private
String
message
;
private
Result
result
;
private
List
<
String
>
engineerCodes
;
private
String
type
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
String
startDate
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
String
endDate
;
}
@lombok
.
Data
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/CapacityAdjustDTO.java
View file @
b24e7a6
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
java.time.LocalDate
;
public
class
CapacityAdjustDTO
{
...
...
@@ -20,15 +13,11 @@ public class CapacityAdjustDTO {
@NotNull
(
message
=
"teamId不能为空"
)
private
String
teamId
;
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
LocalDate
startDate
;
private
String
startDate
;
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
LocalDate
endDate
;
private
String
endDate
;
private
Integer
capAdjust
;
}
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/CapacityStatQueryDTO.java
View file @
b24e7a6
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.dituhui.pea.order.common.DateUtils
;
import
com.dituhui.pea.order.config.OrderConfig
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotBlank
;
...
...
@@ -54,10 +51,8 @@ public class CapacityStatQueryDTO {
private
long
capUsed
;
private
long
capLeft
;
@JsonDeserialize
(
using
=
LocalDateTimeDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateTimeSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
updateTime
;
private
String
updateTime
;
private
String
date
;
private
long
engineerNum
;
...
...
@@ -67,7 +62,7 @@ public class CapacityStatQueryDTO {
private
String
showName
;
public
Content
(){
updateTime
=
LocalDateTime
.
now
(
);
updateTime
=
DateUtils
.
formatDateTime
(
LocalDateTime
.
now
()
);
}
}
}
project-order/src/main/java/com/dituhui/pea/order/dto/EngineersGanttDTO.java
View file @
b24e7a6
...
...
@@ -4,13 +4,8 @@ package com.dituhui.pea.order.dto;
import
com.dituhui.pea.order.config.OrderConfig
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDate
;
import
java.util.List
;
...
...
@@ -25,10 +20,8 @@ public class EngineersGanttDTO {
private
Integer
page
=
OrderConfig
.
DEFAULT_PAGE_INDEX
;
private
Integer
size
=
OrderConfig
.
DEFAULT_PAGE_SIZE
;
@JsonDeserialize
(
using
=
LocalDateDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
LocalDate
date
;
private
String
date
;
private
List
<
String
>
engineerCodes
;
private
List
<
String
>
branchIds
;
private
List
<
String
>
groupIds
;
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/OrderChangeListDTO.java
View file @
b24e7a6
...
...
@@ -3,14 +3,9 @@ package com.dituhui.pea.order.dto;
import
com.dituhui.pea.order.common.DateUtils
;
import
com.dituhui.pea.order.config.OrderConfig
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonDeserialize
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer
;
import
com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
static
com
.
dituhui
.
pea
.
order
.
config
.
OrderConfig
.
PATTERN_DATE
;
...
...
@@ -30,7 +25,7 @@ public class OrderChangeListDTO {
private
String
levelValue
;
private
int
page
=
OrderConfig
.
DEFAULT_PAGE_INDEX
;
private
int
size
=
OrderConfig
.
DEFAULT_PAGE_SIZE
;
private
String
date
=
DateUtils
.
formatDate
(
LocalDate
.
now
()
,
PATTERN_DATE
);
private
String
date
=
DateUtils
.
formatDate
(
LocalDate
.
now
());
/**
* 排序
*/
...
...
@@ -73,9 +68,7 @@ public class OrderChangeListDTO {
/**
* 更新时间
*/
@JsonDeserialize
(
using
=
LocalDateTimeDeserializer
.
class
)
@JsonSerialize
(
using
=
LocalDateTimeSerializer
.
class
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
LocalDateTime
updateTime
;
private
String
updateTime
;
}
}
project-order/src/main/java/com/dituhui/pea/order/entity/CapacityEngineerCalendarEntity.java
View file @
b24e7a6
...
...
@@ -27,6 +27,10 @@ public class CapacityEngineerCalendarEntity {
@Column
(
name
=
"end_time"
,
nullable
=
false
)
private
LocalDateTime
endTime
;
@Column
(
name
=
"plan_id"
)
private
String
planId
;
@Column
(
nullable
=
false
)
private
String
type
;
...
...
project-order/src/main/java/com/dituhui/pea/order/service/EngineerCalendarService.java
View file @
b24e7a6
package
com
.
dituhui
.
pea
.
order
.
service
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.dto.CalendarDetailDTO
;
import
com.dituhui.pea.order.dto.EngineerCalendarDTO
;
import
com.dituhui.pea.order.dto.*
;
public
interface
EngineerCalendarService
{
...
...
@@ -10,5 +9,13 @@ public interface EngineerCalendarService {
Result
<?>
getCalendarTypeList
();
Result
<?>
getCalendarPlanDetail
(
CalendarDetailDTO
.
Request
reqDTO
);
Result
<?>
getPlanDetail
(
CalendarDetailDTO
.
Request
reqDTO
);
Result
<?>
updatePlan
(
CalendarUpdateDTO
.
Request
reqDTO
);
Result
<?>
deletePlan
(
CalendarDeleteDTO
.
Request
reqDTO
);
Result
<?>
batchAddPlan
(
CalendarBatAddDTO
.
Request
reqDTO
);
Result
<?>
queryEngineerPlanNum
(
CalendarQueryNumDTO
.
Request
reqDTO
);
}
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerCalendarServiceImpl.java
View file @
b24e7a6
...
...
@@ -5,9 +5,7 @@ import com.dituhui.pea.common.Result;
import
com.dituhui.pea.order.common.DateUtils
;
import
com.dituhui.pea.order.common.EngineerUtils
;
import
com.dituhui.pea.order.dao.*
;
import
com.dituhui.pea.order.dto.CalendarDetailDTO
;
import
com.dituhui.pea.order.dto.CalendarTypeDTO
;
import
com.dituhui.pea.order.dto.EngineerCalendarDTO
;
import
com.dituhui.pea.order.dto.*
;
import
com.dituhui.pea.order.entity.CapacityEngineerCalendarEntity
;
import
com.dituhui.pea.order.entity.EngineerInfoEntity
;
import
com.dituhui.pea.order.entity.OrgTeamEntity
;
...
...
@@ -99,8 +97,8 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
}
@Override
public
Result
<?>
get
Calendar
PlanDetail
(
CalendarDetailDTO
.
Request
reqDTO
)
{
CapacityEngineerCalendarEntity
entity
=
capacityEngineerCalendarDao
.
getBy
Id
(
Integer
.
parseInt
(
reqDTO
.
getPlanId
()
));
public
Result
<?>
getPlanDetail
(
CalendarDetailDTO
.
Request
reqDTO
)
{
CapacityEngineerCalendarEntity
entity
=
capacityEngineerCalendarDao
.
getBy
PlanId
(
reqDTO
.
getPlanId
(
));
EngineerInfoEntity
engineerInfo
=
engineerInfoDao
.
getByEngineerCode
(
entity
.
getEngineerCode
());
CalendarDetailDTO
.
Result
rs
=
new
CalendarDetailDTO
.
Result
();
rs
.
setPlanId
(
entity
.
getId
().
toString
());
...
...
@@ -108,11 +106,71 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
rs
.
setEngineerName
(
engineerInfo
.
getName
());
rs
.
setType
(
entity
.
getType
());
rs
.
setTypeName
(
entity
.
getReason
());
rs
.
setStartTime
(
entity
.
getStartTime
(
));
rs
.
setEndTime
(
entity
.
getEndTime
(
));
rs
.
setStartTime
(
DateUtils
.
formatDateTime
(
entity
.
getStartTime
()
));
rs
.
setEndTime
(
DateUtils
.
formatDateTime
(
entity
.
getEndTime
()
));
return
Result
.
success
(
rs
);
}
@Override
public
Result
<?>
updatePlan
(
CalendarUpdateDTO
.
Request
reqDTO
)
{
CapacityEngineerCalendarEntity
entity
=
capacityEngineerCalendarDao
.
getByPlanId
(
reqDTO
.
getPlanId
());
if
(
entity
==
null
)
{
return
Result
.
failed
(
"日历配置信息不存在"
);
}
// todo 业务检查,暂时只需要检查日期时间必须为将来; 后面还需要检查配置项是否与其他配置项在时间上有交叉
LocalDateTime
time1
=
fixFrontDatetime
(
reqDTO
.
getStartTime
());
LocalDateTime
time2
=
fixFrontDatetime
(
reqDTO
.
getEndTime
());
if
(
time1
.
isAfter
(
time2
))
{
return
Result
.
failed
(
"开始/结束时间输入错误"
);
}
if
(
time1
.
isBefore
(
LocalDateTime
.
now
())
||
time2
.
isBefore
(
LocalDateTime
.
now
()))
{
return
Result
.
failed
(
"只能更新未来时间"
);
}
entity
.
setStartTime
(
time1
);
entity
.
setEndTime
(
time2
);
entity
.
setMemo
(
reqDTO
.
getRemark
());
// todo 操作员信息
capacityEngineerCalendarDao
.
save
(
entity
);
return
Result
.
success
(
null
);
}
@Override
public
Result
<?>
deletePlan
(
CalendarDeleteDTO
.
Request
reqDTO
)
{
CapacityEngineerCalendarEntity
entity
=
capacityEngineerCalendarDao
.
getByPlanId
(
reqDTO
.
getPlanId
());
if
(
entity
==
null
)
{
return
Result
.
failed
(
"日历配置信息不存在"
);
}
capacityEngineerCalendarDao
.
delete
(
entity
);
return
Result
.
success
(
null
);
}
@Override
public
Result
<?>
batchAddPlan
(
CalendarBatAddDTO
.
Request
reqDTO
)
{
if
(
reqDTO
.
getIsAllday
()
==
1
)
{
// 如果是全天只需要填写日期yyyy-MM-dd;否则填写日期+时间 yyyy-MM-dd HH:mm
}
return
null
;
}
@Override
public
Result
<?>
queryEngineerPlanNum
(
CalendarQueryNumDTO
.
Request
reqDTO
)
{
if
(
reqDTO
.
getEngineerCodes
().
isEmpty
())
{
return
Result
.
failed
(
"没有选中工程师"
);
}
LocalDateTime
startDate
=
LocalDate
.
parse
(
reqDTO
.
getStartDate
()).
atTime
(
LocalTime
.
MIDNIGHT
);
LocalDateTime
endDate
=
LocalDate
.
parse
(
reqDTO
.
getEndDate
()).
atTime
(
LocalTime
.
MIDNIGHT
);
Integer
num
=
capacityEngineerCalendarDao
.
queryEngineerPlanNum
(
reqDTO
.
getEngineerCodes
(),
startDate
,
endDate
,
reqDTO
.
getType
());
CalendarQueryNumDTO
.
Result
rs
=
new
CalendarQueryNumDTO
.
Result
();
rs
.
setPlanNum
(
num
);
return
Result
.
success
(
rs
);
}
private
LocalDateTime
fixFrontDatetime
(
String
s
)
{
return
LocalDateTime
.
parse
(
s
);
}
private
List
<
EngineerCalendarDTO
.
Calendar
>
getOneEngineerCalendars
(
String
engineerCode
,
String
bdate
,
String
edate
)
{
// 返回某一个技术员,日期范围内的日历列表
...
...
@@ -139,6 +197,7 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
// 有配置
for
(
CapacityEngineerCalendarEntity
e
:
configs
.
get
(
sDate
))
{
EngineerCalendarDTO
.
Content
content
=
new
EngineerCalendarDTO
.
Content
();
content
.
setPlanId
(
e
.
getPlanId
());
content
.
setType
(
"LEAVE"
);
content
.
setTitle
(
e
.
getType
());
content
.
setValue
(
getCalendarDuration
(
e
.
getStartTime
(),
e
.
getEndTime
()));
...
...
@@ -197,6 +256,4 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
calendar
.
setContent
(
Collections
.
singletonList
(
content
));
return
calendar
;
}
}
project-order/src/main/java/com/dituhui/pea/order/service/impl/EngineerGanttServiceImpl.java
View file @
b24e7a6
...
...
@@ -13,6 +13,7 @@ import org.apache.commons.lang3.StringUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -46,13 +47,13 @@ public class EngineerGanttServiceImpl implements EngineerGanttService {
// 按日期返回技术员们当天的服务甘特图,不需要翻页
log
.
info
(
"getEngineersGanttList: {}"
,
reqDTO
);
List
<
String
>
engineerCodes
=
reqDTO
.
getEngineerCodes
();
if
(
engineerCodes
==
null
||
engineerCodes
.
size
()
==
0
)
{
if
(
engineerCodes
==
null
||
engineerCodes
.
isEmpty
()
)
{
// 需要根据levelType/levelValue/brandIds/branchIds/groupIds/teamIds/key,后端查询匹配
engineerCodes
=
findEngineers
(
reqDTO
.
getLevelType
(),
reqDTO
.
getLevelValue
(),
reqDTO
.
getBranchIds
(),
reqDTO
.
getGroupIds
(),
reqDTO
.
getTeamIds
(),
reqDTO
.
getKey
());
log
.
info
(
"根据多条件,查询返回符合条件的技术员列表:{}"
,
engineerCodes
);
}
List
<
OrderInfoEntity
>
orders
=
orderInfoDao
.
findByDtAndEngineerCodeIn
(
reqDTO
.
getDate
(
),
engineerCodes
);
List
<
OrderInfoEntity
>
orders
=
orderInfoDao
.
findByDtAndEngineerCodeIn
(
LocalDate
.
parse
(
reqDTO
.
getDate
()
),
engineerCodes
);
HashMap
<
String
,
List
<
EngineersGanttDTO
.
Slot
>>
mapEngineers
=
new
HashMap
<>();
for
(
OrderInfoEntity
order
:
orders
)
{
// 服务工单本体
...
...
@@ -117,7 +118,7 @@ public class EngineerGanttServiceImpl implements EngineerGanttService {
.
setEngineerName
(
engineerInfo
.
getName
())
.
setGrade
(
engineerInfo
.
getGrade
());
CapacityEngineerStatEntity
capacityEngineerStat
=
capacityEngineerStatDao
.
getByWorkdayAndEngineerCode
(
DateUtils
.
formatDate
(
reqDTO
.
getDate
()
),
engineerCode
);
CapacityEngineerStatEntity
capacityEngineerStat
=
capacityEngineerStatDao
.
getByWorkdayAndEngineerCode
(
reqDTO
.
getDate
(
),
engineerCode
);
if
(
capacityEngineerStat
==
null
)
{
log
.
warn
(
"技术员当日的容量数据不存在,{}{}"
,
engineerCode
,
reqDTO
.
getDate
());
}
else
{
...
...
@@ -133,7 +134,7 @@ public class EngineerGanttServiceImpl implements EngineerGanttService {
engineers
.
sort
(
Comparator
.
comparing
(
EngineersGanttDTO
.
GanttChart
::
getEngineerName
));
EngineersGanttDTO
.
Result
res
=
new
EngineersGanttDTO
.
Result
();
res
.
setDate
(
DateUtils
.
formatDate
(
reqDTO
.
getDate
()
)).
setEngineers
(
engineers
);
res
.
setDate
(
reqDTO
.
getDate
(
)).
setEngineers
(
engineers
);
return
Result
.
success
(
res
);
}
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/OrgCapacityServiceImpl.java
View file @
b24e7a6
package
com
.
dituhui
.
pea
.
order
.
service
.
impl
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.common.DateUtils
;
import
com.dituhui.pea.order.dao.*
;
import
com.dituhui.pea.order.dto.CapacityAdjustDTO
;
import
com.dituhui.pea.order.dto.CapacityStatQueryDTO
;
...
...
@@ -87,7 +88,7 @@ public class OrgCapacityServiceImpl implements OrgCapacityService {
.
setCapUsed
(
e
.
getCapUsedTotal
())
.
setCapLeft
(
e
.
getCapLeft
())
.
setEngineerNum
(
e
.
getEngineerCount
())
.
setUpdateTime
(
e
.
getUpdateTime
(
));
.
setUpdateTime
(
DateUtils
.
formatDateTime
(
e
.
getUpdateTime
()
));
}
else
{
// group查询,是capacity_team_stat
CapacityTeamStatEntity
e
=
(
CapacityTeamStatEntity
)
item
;
...
...
@@ -102,7 +103,7 @@ public class OrgCapacityServiceImpl implements OrgCapacityService {
.
setCapLeft
(
e
.
getCapLeft
())
.
setCapAdjust
(
e
.
getCapAdjust
())
.
setEngineerNum
(
e
.
getEngineerCount
())
.
setUpdateTime
(
e
.
getUpdateTime
(
));
.
setUpdateTime
(
DateUtils
.
formatDateTime
(
e
.
getUpdateTime
()
));
}
contents
.
add
(
content
);
}
...
...
@@ -115,12 +116,13 @@ public class OrgCapacityServiceImpl implements OrgCapacityService {
@Override
public
Result
<?>
adjustCapacity
(
CapacityAdjustDTO
.
Request
reqDTO
)
{
if
(
reqDTO
.
getStartDate
(
).
isBefore
(
LocalDate
.
now
()))
{
if
(
LocalDate
.
parse
(
reqDTO
.
getStartDate
()
).
isBefore
(
LocalDate
.
now
()))
{
return
Result
.
failed
(
"日期不能小于当天"
);
}
// 遍历 startDate 到 endDate 之间的所有日期
LocalDate
currentDate
=
reqDTO
.
getStartDate
();
while
(!
currentDate
.
isAfter
(
reqDTO
.
getEndDate
()))
{
LocalDate
currentDate
=
LocalDate
.
parse
(
reqDTO
.
getStartDate
());
LocalDate
endDate
=
LocalDate
.
parse
(
reqDTO
.
getEndDate
());
while
(!
currentDate
.
isAfter
(
endDate
))
{
float
adjuest
=
(
float
)
(
reqDTO
.
getCapAdjust
()
/
100.0
);
ajustCapacityByDate
(
reqDTO
.
getTeamId
(),
currentDate
,
adjuest
);
currentDate
=
currentDate
.
plusDays
(
1
);
// 增加一天
...
...
project-order/src/main/java/com/dituhui/pea/order/service/impl/WorkbenchServiceImpl.java
View file @
b24e7a6
...
...
@@ -3,6 +3,7 @@ package com.dituhui.pea.order.service.impl;
import
cn.hutool.core.date.DateUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.common.DateUtils
;
import
com.dituhui.pea.order.dao.*
;
import
com.dituhui.pea.order.dto.OrderChangeListDTO
;
import
com.dituhui.pea.order.dto.WorkbenchSummaryResp
;
...
...
@@ -56,7 +57,7 @@ public class WorkbenchServiceImpl implements WorkbenchService {
.
setOperator
(
entity
.
getOperator
())
.
setDescription
(
entity
.
getDescription
())
.
setMemo
(
entity
.
getMemo
())
.
setUpdateTime
(
entity
.
getUpdateTime
(
));
.
setUpdateTime
(
DateUtils
.
formatDateTime
(
entity
.
getUpdateTime
()
));
contents
.
add
(
content
);
}
OrderChangeListDTO
.
Result
rs
=
new
OrderChangeListDTO
.
Result
();
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment