Blame view

src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java 5.44 KB
7deb21f3   xiejianpeng   员工管理
1
2
  package com.zteits.oa.report.biz;
  
237a75b5   王富生   提交
3
4
5
6
  import java.util.ArrayList;
  import java.util.Iterator;
  import java.util.List;
  
4804a480   xiejianpeng   工时填报管理
7
  import com.alibaba.fastjson.JSONObject;
237a75b5   王富生   提交
8
  import com.xiaoleilu.hutool.date.DateUtil;
7deb21f3   xiejianpeng   员工管理
9
10
11
  import com.xiaoleilu.hutool.util.CollectionUtil;
  import com.zteits.oa.api.base.bean.BizResult;
  import com.zteits.oa.api.dto.asradaily.AsraDailyDTO;
7deb21f3   xiejianpeng   员工管理
12
  import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq;
4804a480   xiejianpeng   工时填报管理
13
  import com.zteits.oa.api.dto.asradaily.param.AsraDailySaveOrUpdateReq;
7deb21f3   xiejianpeng   员工管理
14
15
16
17
18
19
20
  import com.zteits.oa.api.service.report.query.AsraDailyQueryService;
  import com.zteits.oa.report.dao.AsraDailyDao;
  import com.zteits.oa.report.domain.AsraDaily;
  import org.springframework.beans.BeanUtils;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.stereotype.Service;
  
237a75b5   王富生   提交
21
22
23
24
25
  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;
237a75b5   王富生   提交
26
27
  import com.zteits.oa.report.domain.sdo.AsraDailyDO;
  import com.zteits.oa.report.domain.sdo.AsraDailyOpNumForCurrentDayDO;
4804a480   xiejianpeng   工时填报管理
28
  import java.util.Date;
7deb21f3   xiejianpeng   员工管理
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  
  /**
   * 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 {
  
58cb0f6c   王富生   更改工时查询sql
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
  	@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)){
  			for(AsraDaily asraDaily:asraDailies){
  				AsraDailyDTO asraDailyDTO = new AsraDailyDTO();
  				BeanUtils.copyProperties(asraDaily,asraDailyDTO);
  				asraDailyDTOs.add(asraDailyDTO);
  			}
  		}
  		return new BizResult<>(asraDailyDTOs);
  	}
  
  	/**
237a75b5   王富生   提交
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
  	 * 工时查询-当天提交及未提交人数汇总.<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<>();
58cb0f6c   王富生   更改工时查询sql
88
89
90
  		//1.查询项目填报人数
  		personNumDTOList = asraDailyDao.queryAsraDailyAllCountForList(request);
  		//查询项目明细
237a75b5   王富生   提交
91
  		List<AsraDailyDO> list = asraDailyDao.queryAsraDailyAllForList(request);
58cb0f6c   王富生   更改工时查询sql
92
93
94
95
96
97
98
  
  		//2.添加明细
  		for(AsraProjectAndPersonNumDTO asraProjectAndPersonNumDTO:personNumDTOList){
  			List<QueryAsraDailyAllDetailForListReqDTO> listDetail = new ArrayList<>();
  			if(asraProjectAndPersonNumDTO == null){
  				continue;
  			}
237a75b5   王富生   提交
99
100
101
102
  			for(AsraDailyDO asraDailyDO:list){
  				if(asraDailyDO == null){
  					continue;
  				}
58cb0f6c   王富生   更改工时查询sql
103
104
105
106
107
108
  				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)+"日");
237a75b5   王富生   提交
109
  					}
58cb0f6c   王富生   更改工时查询sql
110
111
  					listDetail.add(dto);
  
237a75b5   王富生   提交
112
  				}
237a75b5   王富生   提交
113
  			}
58cb0f6c   王富生   更改工时查询sql
114
  			asraProjectAndPersonNumDTO.setListDetail(listDetail);
237a75b5   王富生   提交
115
  		}
58cb0f6c   王富生   更改工时查询sql
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
  
          queryAsraDailyAllForListReqDTO.setList(personNumDTOList);
  
          return new BizResult<QueryAsraDailyAllForListReqDTO>(queryAsraDailyAllForListReqDTO);
  }
  
  
  	@Override
  	public BizResult<Long> saveOrUpdateAsraDaily(AsraDailySaveOrUpdateReq request) {
  		AsraDaily asraDaily = new AsraDaily();
  		BeanUtils.copyProperties(request, asraDaily);
  		asraDaily.setModfiyDate(new Date());
  		asraDaily.setModfiyEmpid(request.getAsarOpId() + "");
  		asraDaily.setModfiyEmpName(request.getAsarOpName() + "");
  		Date dailyDate = DateUtil.parseDate(request.getDailyDate());
  		asraDaily.setDailyDate(dailyDate);
  
  		Long id;
  		if (null == request.getId()) {
  			//新增
  			asraDaily.setDataState(1);
  			asraDaily.setCreateDate(new Date());
  			asraDaily.setCreateEmpid(request.getAsarOpId()+"");
  			asraDaily.setCreateEmpName(request.getAsarOpName() + "");
101bbdd6   xiejianpeng   日报提交
140
  			id = asraDailyDao.saveAsraDaily(asraDaily);
58cb0f6c   王富生   更改工时查询sql
141
142
  		} else {
  			//更新
80a60aae   xiejianpeng   日报提交
143
  			id = asraDailyDao.updateAsraDaily(asraDaily);
58cb0f6c   王富生   更改工时查询sql
144
  		}
4804a480   xiejianpeng   工时填报管理
145
  
58cb0f6c   王富生   更改工时查询sql
146
147
  		return new BizResult<>(id);
  	}
7deb21f3   xiejianpeng   员工管理
148
  }