Blame view

src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java 4.77 KB
7deb21f3   xiejianpeng   员工管理
1
2
  package com.zteits.oa.report.biz;
  
237a75b5   王富生   提交
3
4
5
6
7
8
9
10
11
  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;
7deb21f3   xiejianpeng   员工管理
12
13
14
  import com.xiaoleilu.hutool.util.CollectionUtil;
  import com.zteits.oa.api.base.bean.BizResult;
  import com.zteits.oa.api.dto.asradaily.AsraDailyDTO;
237a75b5   王富生   提交
15
16
17
18
19
  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;
7deb21f3   xiejianpeng   员工管理
20
21
22
23
  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;
237a75b5   王富生   提交
24
25
  import com.zteits.oa.report.domain.sdo.AsraDailyDO;
  import com.zteits.oa.report.domain.sdo.AsraDailyOpNumForCurrentDayDO;
7deb21f3   xiejianpeng   员工管理
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
  
  /**
   * 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);
      }
237a75b5   王富生   提交
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
  
      /**
  	 * 工时查询-当天提交及未提交人数汇总.<br/>
  	 * @param request
  	 * @return
  	 * 201881  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
  	 * 201881  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);
  	}
  	
  	
7deb21f3   xiejianpeng   员工管理
126
  }