AsraDailyQueryServiceImpl.java
4.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package com.zteits.oa.report.biz;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xiaoleilu.hutool.date.DateUtil;
import com.xiaoleilu.hutool.util.CollectionUtil;
import com.zteits.oa.api.base.bean.BizResult;
import com.zteits.oa.api.dto.asradaily.AsraDailyDTO;
import com.zteits.oa.api.dto.asradaily.AsraDailyOpNumForCurrentDayDTO;
import com.zteits.oa.api.dto.asradaily.AsraProjectAndPersonNumDTO;
import com.zteits.oa.api.dto.asradaily.QueryAsraDailyAllDetailForListReqDTO;
import com.zteits.oa.api.dto.asradaily.QueryAsraDailyAllForListReqDTO;
import com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq;
import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq;
import com.zteits.oa.api.service.report.query.AsraDailyQueryService;
import com.zteits.oa.report.dao.AsraDailyDao;
import com.zteits.oa.report.domain.AsraDaily;
import com.zteits.oa.report.domain.sdo.AsraDailyDO;
import com.zteits.oa.report.domain.sdo.AsraDailyOpNumForCurrentDayDO;
/**
* Copyright: Copyright (c) 2018 zteits
*
* @Description:
* @version: v1.0.0
* @author: xiejianpeng
* @date: 2018/7/31 15
* Modification History:
* Date Author Version Description
* ---------------------------------------------------------*
* 2018/7/31 xiejianpeng v1.0.0 创建
*/
@Service
public class AsraDailyQueryServiceImpl implements AsraDailyQueryService {
@Autowired
private AsraDailyDao asraDailyDao;
@Override
public BizResult<List<AsraDailyDTO>> queryAsraDailyList(AsraDailyQueryReq asraDailyQueryReq) {
List<AsraDailyDTO> asraDailyDTOs = new ArrayList<>();
List<AsraDaily> asraDailies = asraDailyDao.queryAsraDailyList(asraDailyQueryReq);
if(CollectionUtil.isNotEmpty(asraDailies)){
BeanUtils.copyProperties(asraDailies,asraDailyDTOs,AsraDailyDTO.class);
}
return new BizResult<>(asraDailyDTOs);
}
/**
* 工时查询-当天提交及未提交人数汇总.<br/>
* @param request
* @return
* 2018年8月1日 wangfs.<br/>
*/
@Override
public BizResult<AsraDailyOpNumForCurrentDayDTO> queryAsraDailyOpNumForCurrentDay(
AsraDailyForTotalNumAndDetailReq request) {
AsraDailyOpNumForCurrentDayDTO asraDailyOpNumForCurrentDayDTO = new AsraDailyOpNumForCurrentDayDTO();
AsraDailyOpNumForCurrentDayDO asraDailyOpNumForCurrentDayDO = asraDailyDao.queryAsraDailyOpNumForCurrentDay(request);
BeanUtils.copyProperties(asraDailyOpNumForCurrentDayDO, asraDailyOpNumForCurrentDayDTO);
return new BizResult<AsraDailyOpNumForCurrentDayDTO>(asraDailyOpNumForCurrentDayDTO);
}
/**
* 工时查询-所有员工及自己或者自己日报.<br/>
* @param request
* @return
* 2018年8月1日 wangfs.<br/>
*/
@Override
public BizResult<QueryAsraDailyAllForListReqDTO> queryAsraDailyAllForList(
AsraDailyForTotalNumAndDetailReq request) {
QueryAsraDailyAllForListReqDTO queryAsraDailyAllForListReqDTO = new QueryAsraDailyAllForListReqDTO();
List<AsraProjectAndPersonNumDTO> personNumDTOList = new ArrayList<>();
List<AsraDailyDO> list = asraDailyDao.queryAsraDailyAllForList(request);
//添加项目
if(CollectionUtil.isNotEmpty(list)){
for(AsraDailyDO asraDailyDO:list){
if(asraDailyDO == null){
continue;
}
AsraProjectAndPersonNumDTO asraProjectAndPersonNumDTO = new AsraProjectAndPersonNumDTO();
BeanUtils.copyProperties(asraDailyDO, asraProjectAndPersonNumDTO);
if(!personNumDTOList.contains(asraProjectAndPersonNumDTO)){
personNumDTOList.add(asraProjectAndPersonNumDTO);
}
}
//2.添加明细
for(AsraProjectAndPersonNumDTO asraProjectAndPersonNumDTO:personNumDTOList){
List<QueryAsraDailyAllDetailForListReqDTO> listDetail = new ArrayList<>();
if(asraProjectAndPersonNumDTO == null){
continue;
}
for(AsraDailyDO asraDailyDO:list){
if(asraDailyDO == null){
continue;
}
if(asraProjectAndPersonNumDTO.getProjectId().equals(asraDailyDO.getProjectId())){
QueryAsraDailyAllDetailForListReqDTO dto = new QueryAsraDailyAllDetailForListReqDTO();
BeanUtils.copyProperties(asraDailyDO, dto);
if(asraDailyDO.getDailyDate()!=null){
String dailyDate = DateUtil.format(asraDailyDO.getDailyDate(),"yyyy-MM-dd");
dto.setDailyDate(dailyDate.substring(0,4)+"年"+dailyDate.substring(5,7)+"月"+dailyDate.substring(8)+"日");
}
listDetail.add(dto);
}
}
asraProjectAndPersonNumDTO.setListDetail(listDetail);
}
}
queryAsraDailyAllForListReqDTO.setList(personNumDTOList);
return new BizResult<QueryAsraDailyAllForListReqDTO>(queryAsraDailyAllForListReqDTO);
}
}