From 237a75b5bac383cb0d3ee1acced727ead201a318 Mon Sep 17 00:00:00 2001 From: wangfs <15029758498@163.com> Date: Wed, 1 Aug 2018 18:12:12 +0800 Subject: [PATCH] 提交 --- src/main/java/com/zteits/oa/api/dto/asradaily/AsraDailyOpNumForCurrentDayDTO.java | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/zteits/oa/api/dto/asradaily/AsraProjectAndPersonNumDTO.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllDetailForListReqDTO.java | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllForListReqDTO.java | 26 ++++++++++++++++++++++++++ src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyForTotalNumAndDetailReq.java | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java | 29 +++++++++++++++++++++++------ src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java | 22 ++++++++++++++++++++-- src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- src/main/java/com/zteits/oa/report/dao/impl/AsraOpDaoImpl.java | 1 + src/main/java/com/zteits/oa/report/dao/impl/AsraProjectDaoImpl.java | 1 + src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyDO.java | 248 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyOpNumForCurrentDayDO.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/zteits/oa/report/mapper/smapper/AsraDailySmapper.java | 16 ++++++++++++++++ src/main/java/com/zteits/oa/report/web/AsraDailyController.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ src/main/resources/mybatis/smapper/AsraDailySmapper.xml | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 16 files changed, 948 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/zteits/oa/api/dto/asradaily/AsraDailyOpNumForCurrentDayDTO.java create mode 100644 src/main/java/com/zteits/oa/api/dto/asradaily/AsraProjectAndPersonNumDTO.java create mode 100644 src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllDetailForListReqDTO.java create mode 100644 src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllForListReqDTO.java create mode 100644 src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyForTotalNumAndDetailReq.java create mode 100644 src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyDO.java create mode 100644 src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyOpNumForCurrentDayDO.java create mode 100644 src/main/java/com/zteits/oa/report/mapper/smapper/AsraDailySmapper.java create mode 100644 src/main/resources/mybatis/smapper/AsraDailySmapper.xml diff --git a/src/main/java/com/zteits/oa/api/dto/asradaily/AsraDailyOpNumForCurrentDayDTO.java b/src/main/java/com/zteits/oa/api/dto/asradaily/AsraDailyOpNumForCurrentDayDTO.java new file mode 100644 index 0000000..26796dc --- /dev/null +++ b/src/main/java/com/zteits/oa/api/dto/asradaily/AsraDailyOpNumForCurrentDayDTO.java @@ -0,0 +1,67 @@ +package com.zteits.oa.api.dto.asradaily; + +import com.zteits.oa.api.base.bean.BaiscDTO; +/** + * 当天人数统计.
+ * + * Copyright: Copyright (c) 2017 ZTE-ITS + * + * @ClassName: AmountUtils.java + * @Description: + * @version: v1.0.0 + * @author: wangfs + * @date: 2018年8月1日 + * Modification History: + * Date Author Version Description + *---------------------------------------------------------* + * 2018年8月1日 wangfs v1.0.0 创建 + */ +public class AsraDailyOpNumForCurrentDayDTO extends BaiscDTO{ + + /** + * + */ + private static final long serialVersionUID = 3092998255275614601L; + + /**领导下员工总数.*/ + private Integer employeeTotal; + + /**当天提交人数.*/ + private Integer currentDayCommitEmployeeNum; + + /**当天日报未提交人数.*/ + private Integer currentDayNotCommitEmployeeNum; + + public Integer getEmployeeTotal() { + return employeeTotal; + } + + public void setEmployeeTotal(Integer employeeTotal) { + this.employeeTotal = employeeTotal; + } + + public Integer getCurrentDayCommitEmployeeNum() { + return currentDayCommitEmployeeNum; + } + + public void setCurrentDayCommitEmployeeNum(Integer currentDayCommitEmployeeNum) { + this.currentDayCommitEmployeeNum = currentDayCommitEmployeeNum; + } + + public Integer getCurrentDayNotCommitEmployeeNum() { + return currentDayNotCommitEmployeeNum; + } + + public void setCurrentDayNotCommitEmployeeNum(Integer currentDayNotCommitEmployeeNum) { + this.currentDayNotCommitEmployeeNum = currentDayNotCommitEmployeeNum; + } + + @Override + public String toString() { + return "AsraDailyOpNumForCurrentDayDTO [employeeTotal=" + employeeTotal + ", currentDayCommitEmployeeNum=" + + currentDayCommitEmployeeNum + ", currentDayNotCommitEmployeeNum=" + currentDayNotCommitEmployeeNum + + "]"; + } + + +} diff --git a/src/main/java/com/zteits/oa/api/dto/asradaily/AsraProjectAndPersonNumDTO.java b/src/main/java/com/zteits/oa/api/dto/asradaily/AsraProjectAndPersonNumDTO.java new file mode 100644 index 0000000..1e75780 --- /dev/null +++ b/src/main/java/com/zteits/oa/api/dto/asradaily/AsraProjectAndPersonNumDTO.java @@ -0,0 +1,54 @@ +package com.zteits.oa.api.dto.asradaily; + +import java.util.List; + +import com.zteits.oa.api.base.bean.BaiscDTO; + +public class AsraProjectAndPersonNumDTO extends BaiscDTO{ + + /** + * + */ + private static final long serialVersionUID = 1L; + /**所属项目ID*/ + private Long projectId; + /**所属项目名称.*/ + private String projectName; + /**提交人数.*/ + private Integer commitPersonNum; + + private List listDetail; + + + + public List getListDetail() { + return listDetail; + } + public void setListDetail(List listDetail) { + this.listDetail = listDetail; + } + public Long getProjectId() { + return projectId; + } + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + public String getProjectName() { + return projectName; + } + public void setProjectName(String projectName) { + this.projectName = projectName; + } + public Integer getCommitPersonNum() { + return commitPersonNum; + } + public void setCommitPersonNum(Integer commitPersonNum) { + this.commitPersonNum = commitPersonNum; + } + @Override + public String toString() { + return "AsraProjectAndPersonNumDTO [projectId=" + projectId + ", projectName=" + projectName + + ", commitPersonNum=" + commitPersonNum + "]"; + } + +} \ No newline at end of file diff --git a/src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllDetailForListReqDTO.java b/src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllDetailForListReqDTO.java new file mode 100644 index 0000000..154c842 --- /dev/null +++ b/src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllDetailForListReqDTO.java @@ -0,0 +1,85 @@ +package com.zteits.oa.api.dto.asradaily; + +import com.zteits.oa.api.base.bean.BaiscDTO; + +public class QueryAsraDailyAllDetailForListReqDTO extends BaiscDTO{ + /** + * + */ + private static final long serialVersionUID = -9074662527074617653L; + + /**所属项目ID*/ + private Long projectId; + + /**所属员工ID*/ + private Long asarOpId; + + /**操作员姓名*/ + private String asarOpName; + + /**工时填写日期*/ + private String dailyDate; + + /**工时小时数.*/ + private Long asraHours; + + /**工时内容*/ + private String dailyContent; + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public Long getAsarOpId() { + return asarOpId; + } + + public void setAsarOpId(Long asarOpId) { + this.asarOpId = asarOpId; + } + + public String getAsarOpName() { + return asarOpName; + } + + public void setAsarOpName(String asarOpName) { + this.asarOpName = asarOpName; + } + + public String getDailyDate() { + return dailyDate; + } + + public void setDailyDate(String dailyDate) { + this.dailyDate = dailyDate; + } + + public Long getAsraHours() { + return asraHours; + } + + public void setAsraHours(Long asraHours) { + this.asraHours = asraHours; + } + + public String getDailyContent() { + return dailyContent; + } + + public void setDailyContent(String dailyContent) { + this.dailyContent = dailyContent; + } + + @Override + public String toString() { + return "QueryAsraDailyAllDetailForListReqDTO [projectId=" + projectId + ", asarOpId=" + asarOpId + + ", asarOpName=" + asarOpName + ", dailyDate=" + dailyDate + ", asraHours=" + asraHours + + ", dailyContent=" + dailyContent + "]"; + } + + +} diff --git a/src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllForListReqDTO.java b/src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllForListReqDTO.java new file mode 100644 index 0000000..8339c58 --- /dev/null +++ b/src/main/java/com/zteits/oa/api/dto/asradaily/QueryAsraDailyAllForListReqDTO.java @@ -0,0 +1,26 @@ +package com.zteits.oa.api.dto.asradaily; + +import java.util.List; + +import com.zteits.oa.api.base.bean.BaiscDTO; + +public class QueryAsraDailyAllForListReqDTO extends BaiscDTO{ + + /** + * + */ + private static final long serialVersionUID = 4429315565616847323L; + + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + + +} + diff --git a/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyForTotalNumAndDetailReq.java b/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyForTotalNumAndDetailReq.java new file mode 100644 index 0000000..61dfdc4 --- /dev/null +++ b/src/main/java/com/zteits/oa/api/dto/asradaily/param/AsraDailyForTotalNumAndDetailReq.java @@ -0,0 +1,86 @@ +package com.zteits.oa.api.dto.asradaily.param; + +import com.zteits.oa.api.base.bean.BaseRequest; + +/** + * 工时查询. + * + * Copyright: Cor/pyright (c) 2017 ZTE-ITS + * + * @ClassName: AmountUtils.java + * @Description: + * @version: v1.0.0 + * @author: wangfs + * @date: 2018年8月1日 + * Modification History: + * Date Author Version Description + *---------------------------------------------------------* + * 2018年8月1日 wangfs v1.0.0 创建 + */ +public class AsraDailyForTotalNumAndDetailReq extends BaseRequest{ + + /**登陆员工ID.*/ + private Long opId; + + /**开始时间.*/ + private String beginTime; + + /**结束时间.*/ + private String endTime; + + /**项目名称.*/ + private Long projectId; + + /**员工名称.*/ + private String opName; + + + public String getBeginTime() { + return beginTime; + } + + public void setBeginTime(String beginTime) { + this.beginTime = beginTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public String getOpName() { + return opName; + } + + public void setOpName(String opName) { + this.opName = opName; + } + + + public Long getOpId() { + return opId; + } + + public void setOpId(Long opId) { + this.opId = opId; + } + + @Override + public String toString() { + return "AsraDailyForTotalNumAndDetailReq [beginTime=" + beginTime + ", endTime=" + endTime + ", projectId=" + + projectId + ", opName=" + opName + "]"; + } + + +} diff --git a/src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java b/src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java index 96f0bfe..e848de8 100644 --- a/src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java +++ b/src/main/java/com/zteits/oa/api/service/report/query/AsraDailyQueryService.java @@ -1,13 +1,13 @@ package com.zteits.oa.api.service.report.query; +import java.util.List; + import com.zteits.oa.api.base.bean.BizResult; -import com.zteits.oa.api.base.bean.PageBean; import com.zteits.oa.api.dto.asradaily.AsraDailyDTO; +import com.zteits.oa.api.dto.asradaily.AsraDailyOpNumForCurrentDayDTO; +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.dto.asraop.AsraOpDTO; -import com.zteits.oa.api.dto.asraop.param.AsraOpQueryReq; - -import java.util.List; /** * 查询日报 @@ -26,7 +26,7 @@ public interface AsraDailyQueryService { /** - * 根据登录工号和查询时间查询日报 + * 根据登录工号和查询时间查询日报(工时填报) * @param * @return * @Author: xiejianpeng @@ -34,4 +34,21 @@ public interface AsraDailyQueryService { * */ BizResult> queryAsraDailyList(AsraDailyQueryReq asraDailyQueryReq); + /** + * 工时查询-当天提交及未提交人数汇总.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + BizResult queryAsraDailyOpNumForCurrentDay(AsraDailyForTotalNumAndDetailReq request); + + /** + * 工时查询-所有员工及自己或者自己日报.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + BizResult queryAsraDailyAllForList(AsraDailyForTotalNumAndDetailReq request); + + } diff --git a/src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java b/src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java index cb5441d..82f1585 100644 --- a/src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java +++ b/src/main/java/com/zteits/oa/report/biz/AsraDailyQueryServiceImpl.java @@ -1,18 +1,28 @@ 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 org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; +import com.zteits.oa.report.domain.sdo.AsraDailyDO; +import com.zteits.oa.report.domain.sdo.AsraDailyOpNumForCurrentDayDO; /** * Copyright: Copyright (c) 2018 zteits @@ -41,4 +51,76 @@ public class AsraDailyQueryServiceImpl implements AsraDailyQueryService { } return new BizResult<>(asraDailyDTOs); } + + /** + * 工时查询-当天提交及未提交人数汇总.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + @Override + public BizResult queryAsraDailyOpNumForCurrentDay( + AsraDailyForTotalNumAndDetailReq request) { + AsraDailyOpNumForCurrentDayDTO asraDailyOpNumForCurrentDayDTO = new AsraDailyOpNumForCurrentDayDTO(); + AsraDailyOpNumForCurrentDayDO asraDailyOpNumForCurrentDayDO = asraDailyDao.queryAsraDailyOpNumForCurrentDay(request); + BeanUtils.copyProperties(asraDailyOpNumForCurrentDayDO, asraDailyOpNumForCurrentDayDTO); + return new BizResult(asraDailyOpNumForCurrentDayDTO); + } + + /** + * 工时查询-所有员工及自己或者自己日报.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + @Override + public BizResult queryAsraDailyAllForList( + AsraDailyForTotalNumAndDetailReq request) { + QueryAsraDailyAllForListReqDTO queryAsraDailyAllForListReqDTO = new QueryAsraDailyAllForListReqDTO(); + List personNumDTOList = new ArrayList<>(); + + + List 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 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); + } + + } diff --git a/src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java b/src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java index 8c78b5a..1ed55f6 100644 --- a/src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java +++ b/src/main/java/com/zteits/oa/report/dao/AsraDailyDao.java @@ -1,9 +1,12 @@ package com.zteits.oa.report.dao; +import java.util.List; + +import com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq; import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq; import com.zteits.oa.report.domain.AsraDaily; - -import java.util.List; +import com.zteits.oa.report.domain.sdo.AsraDailyDO; +import com.zteits.oa.report.domain.sdo.AsraDailyOpNumForCurrentDayDO; /** * Copyright: Copyright (c) 2018 zteits @@ -28,4 +31,19 @@ public interface AsraDailyDao { * */ List queryAsraDailyList(AsraDailyQueryReq asraDailyQueryReq); + /** + * 工时查询-当天提交及未提交人数汇总.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + AsraDailyOpNumForCurrentDayDO queryAsraDailyOpNumForCurrentDay(AsraDailyForTotalNumAndDetailReq request); + + /** + * 工时查询-所有员工及自己或者自己日报.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + List queryAsraDailyAllForList(AsraDailyForTotalNumAndDetailReq request); } diff --git a/src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java b/src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java index 765e11d..f35e0c6 100644 --- a/src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java +++ b/src/main/java/com/zteits/oa/report/dao/impl/AsraDailyDaoImpl.java @@ -1,14 +1,26 @@ package com.zteits.oa.report.dao.impl; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.xiaoleilu.hutool.date.DateUtil; +import com.xiaoleilu.hutool.util.CollectionUtil; +import com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq; import com.zteits.oa.api.dto.asradaily.param.AsraDailyQueryReq; import com.zteits.oa.report.dao.AsraDailyDao; import com.zteits.oa.report.domain.AsraDaily; import com.zteits.oa.report.domain.AsraDailyExample; +import com.zteits.oa.report.domain.AsraOpRelations; +import com.zteits.oa.report.domain.AsraOpRelationsExample; +import com.zteits.oa.report.domain.sdo.AsraDailyDO; +import com.zteits.oa.report.domain.sdo.AsraDailyOpNumForCurrentDayDO; import com.zteits.oa.report.mapper.AsraDailyMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.List; +import com.zteits.oa.report.mapper.AsraOpRelationsMapper; +import com.zteits.oa.report.mapper.smapper.AsraDailySmapper; /** * Copyright: Copyright (c) 2018 zteits @@ -27,7 +39,10 @@ public class AsraDailyDaoImpl implements AsraDailyDao{ @Autowired private AsraDailyMapper asraDailyMapper; - + @Autowired + private AsraOpRelationsMapper asraOpRelationsMapper; + @Autowired + private AsraDailySmapper asraDailySmapper; @Override public List queryAsraDailyList(AsraDailyQueryReq asraDailyQueryReq) { @@ -37,4 +52,53 @@ public class AsraDailyDaoImpl implements AsraDailyDao{ .andWeeksEqualTo(asraDailyQueryReq.getWeeks()); return asraDailyMapper.selectByExample(example); } + + /** + * 工时查询-当天提交及未提交人数汇总.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + @Override + public AsraDailyOpNumForCurrentDayDO queryAsraDailyOpNumForCurrentDay(AsraDailyForTotalNumAndDetailReq request) { + AsraDailyOpNumForCurrentDayDO asraDailyOpNumForCurrentDayDO = new AsraDailyOpNumForCurrentDayDO(); + List opList = new ArrayList<>(); + //1.总人数获取 + AsraOpRelationsExample example = new AsraOpRelationsExample(); + example.createCriteria().andParentIdEqualTo(request.getOpId()); + List selectByExample = asraOpRelationsMapper.selectByExample(example); + int employeeTotal = (CollectionUtil.isNotEmpty(selectByExample) ? selectByExample.size() +1 : 1); + asraDailyOpNumForCurrentDayDO.setEmployeeTotal(employeeTotal); + //获取员工人数 + if(CollectionUtil.isNotEmpty(selectByExample)){ + for(AsraOpRelations op:selectByExample){ + if(op == null){ + continue; + } + opList.add(op.getOpId()); + } + } + opList.add(request.getOpId());//查询自己id + //2.查询今日日报填写人数 + AsraDailyExample exampleTwo = new AsraDailyExample(); + exampleTwo.createCriteria().andAsarOpIdIn(opList) + .andDailyDateEqualTo(DateUtil.parse(DateUtil.format(new Date(),DateUtil.NORM_DATE_PATTERN),DateUtil.NORM_DATE_PATTERN)) + .andDataStateEqualTo(1); + int countByExample = (int)asraDailyMapper.countByExample(exampleTwo); + asraDailyOpNumForCurrentDayDO.setCurrentDayCommitEmployeeNum(countByExample); + asraDailyOpNumForCurrentDayDO.setCurrentDayNotCommitEmployeeNum(employeeTotal - countByExample); + return asraDailyOpNumForCurrentDayDO; + } + + /** + * 工时查询-所有员工及自己或者自己日报.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + @Override + public List queryAsraDailyAllForList(AsraDailyForTotalNumAndDetailReq request) { + // TODO Auto-generated method stub + return asraDailySmapper.queryAsraDailyAllForList(request); + } } diff --git a/src/main/java/com/zteits/oa/report/dao/impl/AsraOpDaoImpl.java b/src/main/java/com/zteits/oa/report/dao/impl/AsraOpDaoImpl.java index 19b5b35..6eb6347 100644 --- a/src/main/java/com/zteits/oa/report/dao/impl/AsraOpDaoImpl.java +++ b/src/main/java/com/zteits/oa/report/dao/impl/AsraOpDaoImpl.java @@ -60,6 +60,7 @@ public class AsraOpDaoImpl implements AsraOpDao { if(asraOpQueryRe.getId() != null){ criteria.andIdEqualTo(asraOpQueryRe.getId()); } + criteria.andDataStateEqualTo(1); List list = asraOpMapper.selectByExample(example); return CollectionUtils.isEmpty(list) ? new AsraOp() : list.get(0); } diff --git a/src/main/java/com/zteits/oa/report/dao/impl/AsraProjectDaoImpl.java b/src/main/java/com/zteits/oa/report/dao/impl/AsraProjectDaoImpl.java index 80f387a..a39c4aa 100644 --- a/src/main/java/com/zteits/oa/report/dao/impl/AsraProjectDaoImpl.java +++ b/src/main/java/com/zteits/oa/report/dao/impl/AsraProjectDaoImpl.java @@ -29,6 +29,7 @@ public class AsraProjectDaoImpl implements AsraProjectDao{ if(asraProjecQueryReq.getId() != null){ createCriteria.andIdEqualTo(asraProjecQueryReq.getId()); } + createCriteria.andDataStateEqualTo(1); example.setOrderByClause(" sort_num asc"); List list = asraProjectMapper.selectByExample(example); return list; diff --git a/src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyDO.java b/src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyDO.java new file mode 100644 index 0000000..4f02ac3 --- /dev/null +++ b/src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyDO.java @@ -0,0 +1,248 @@ +package com.zteits.oa.report.domain.sdo; + +import java.util.Date; + +public class AsraDailyDO { + + /**主键*/ + private Long id; + + /**所属项目ID*/ + private Long projectId; + + /**所属员工ID*/ + private Long asarOpId; + + /**操作员姓名*/ + private String asarOpName; + + /**年:2018*/ + private Integer years; + + /**周:1-54周*/ + private Integer weeks; + + /**星期:1-7*/ + private Integer weeksNum; + + /**工时填写日期*/ + private Date dailyDate; + + /**数据状态:1有效,0无效,2:锁定*/ + private Integer dataState; + + /**创建人ID*/ + private String createEmpid; + + /**创建人*/ + private String createEmpName; + + /**创建时间*/ + private Date createDate; + + /**修改人*/ + private String modfiyEmpid; + + /**修改人*/ + private String modfiyEmpName; + + /**修改时间*/ + private Date modfiyDate; + + /**工时内容*/ + private String dailyContent; + + /**所属项目名称.*/ + private String projectName; + /**提交人数.*/ + private Integer commitPersonNum; + + /**工时小时数.*/ + private Long asraHours; + + + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public Integer getCommitPersonNum() { + return commitPersonNum; + } + + public void setCommitPersonNum(Integer commitPersonNum) { + this.commitPersonNum = commitPersonNum; + } + + public Long getAsraHours() { + return asraHours; + } + + public void setAsraHours(Long asraHours) { + this.asraHours = asraHours; + } + + /**获取主键*/ + public Long getId() { + return id; + } + + /**设置主键*/ + public void setId(Long id) { + this.id = id; + } + + /**获取所属项目ID*/ + public Long getProjectId() { + return projectId; + } + + /**设置所属项目ID*/ + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + /**获取所属员工ID*/ + public Long getAsarOpId() { + return asarOpId; + } + + /**设置所属员工ID*/ + public void setAsarOpId(Long asarOpId) { + this.asarOpId = asarOpId; + } + + /**获取操作员姓名*/ + public String getAsarOpName() { + return asarOpName; + } + + /**设置操作员姓名*/ + public void setAsarOpName(String asarOpName) { + this.asarOpName = asarOpName == null ? null : asarOpName.trim(); + } + + /**获取年:2018*/ + public Integer getYears() { + return years; + } + + /**设置年:2018*/ + public void setYears(Integer years) { + this.years = years; + } + + /**获取周:1-54周*/ + public Integer getWeeks() { + return weeks; + } + + /**设置周:1-54周*/ + public void setWeeks(Integer weeks) { + this.weeks = weeks; + } + + /**获取星期:1-7*/ + public Integer getWeeksNum() { + return weeksNum; + } + + /**设置星期:1-7*/ + public void setWeeksNum(Integer weeksNum) { + this.weeksNum = weeksNum; + } + + /**获取工时填写日期*/ + public Date getDailyDate() { + return dailyDate; + } + + /**设置工时填写日期*/ + public void setDailyDate(Date dailyDate) { + this.dailyDate = dailyDate; + } + + /**获取数据状态:1有效,0无效,2:锁定*/ + public Integer getDataState() { + return dataState; + } + + /**设置数据状态:1有效,0无效,2:锁定*/ + public void setDataState(Integer dataState) { + this.dataState = dataState; + } + + /**获取创建人ID*/ + public String getCreateEmpid() { + return createEmpid; + } + + /**设置创建人ID*/ + public void setCreateEmpid(String createEmpid) { + this.createEmpid = createEmpid == null ? null : createEmpid.trim(); + } + + /**获取创建人*/ + public String getCreateEmpName() { + return createEmpName; + } + + /**设置创建人*/ + public void setCreateEmpName(String createEmpName) { + this.createEmpName = createEmpName == null ? null : createEmpName.trim(); + } + + /**获取创建时间*/ + public Date getCreateDate() { + return createDate; + } + + /**设置创建时间*/ + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + /**获取修改人*/ + public String getModfiyEmpid() { + return modfiyEmpid; + } + + /**设置修改人*/ + public void setModfiyEmpid(String modfiyEmpid) { + this.modfiyEmpid = modfiyEmpid == null ? null : modfiyEmpid.trim(); + } + + /**获取修改人*/ + public String getModfiyEmpName() { + return modfiyEmpName; + } + + /**设置修改人*/ + public void setModfiyEmpName(String modfiyEmpName) { + this.modfiyEmpName = modfiyEmpName == null ? null : modfiyEmpName.trim(); + } + + /**获取修改时间*/ + public Date getModfiyDate() { + return modfiyDate; + } + + /**设置修改时间*/ + public void setModfiyDate(Date modfiyDate) { + this.modfiyDate = modfiyDate; + } + + /**获取工时内容*/ + public String getDailyContent() { + return dailyContent; + } + + /**设置工时内容*/ + public void setDailyContent(String dailyContent) { + this.dailyContent = dailyContent == null ? null : dailyContent.trim(); + } +} diff --git a/src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyOpNumForCurrentDayDO.java b/src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyOpNumForCurrentDayDO.java new file mode 100644 index 0000000..b43a1b0 --- /dev/null +++ b/src/main/java/com/zteits/oa/report/domain/sdo/AsraDailyOpNumForCurrentDayDO.java @@ -0,0 +1,45 @@ +package com.zteits.oa.report.domain.sdo; + +public class AsraDailyOpNumForCurrentDayDO { + + /**领导下员工总数.*/ + private Integer employeeTotal; + + /**当天提交人数.*/ + private Integer currentDayCommitEmployeeNum; + + /**当天日报未提交人数.*/ + private Integer currentDayNotCommitEmployeeNum; + + public Integer getEmployeeTotal() { + return employeeTotal; + } + + public void setEmployeeTotal(Integer employeeTotal) { + this.employeeTotal = employeeTotal; + } + + public Integer getCurrentDayCommitEmployeeNum() { + return currentDayCommitEmployeeNum; + } + + public void setCurrentDayCommitEmployeeNum(Integer currentDayCommitEmployeeNum) { + this.currentDayCommitEmployeeNum = currentDayCommitEmployeeNum; + } + + public Integer getCurrentDayNotCommitEmployeeNum() { + return currentDayNotCommitEmployeeNum; + } + + public void setCurrentDayNotCommitEmployeeNum(Integer currentDayNotCommitEmployeeNum) { + this.currentDayNotCommitEmployeeNum = currentDayNotCommitEmployeeNum; + } + + @Override + public String toString() { + return "AsraDailyOpNumForCurrentDayDO [employeeTotal=" + employeeTotal + ", currentDayCommitEmployeeNum=" + + currentDayCommitEmployeeNum + ", currentDayNotCommitEmployeeNum=" + currentDayNotCommitEmployeeNum + + "]"; + } + +} diff --git a/src/main/java/com/zteits/oa/report/mapper/smapper/AsraDailySmapper.java b/src/main/java/com/zteits/oa/report/mapper/smapper/AsraDailySmapper.java new file mode 100644 index 0000000..65f1cbc --- /dev/null +++ b/src/main/java/com/zteits/oa/report/mapper/smapper/AsraDailySmapper.java @@ -0,0 +1,16 @@ +package com.zteits.oa.report.mapper.smapper; + +import com.zteits.oa.api.dto.asradaily.param.AsraDailyForTotalNumAndDetailReq; +import com.zteits.oa.report.domain.sdo.AsraDailyDO; + +import java.util.List; + +public interface AsraDailySmapper { + /** + * 工时查询-所有员工及自己或者自己日报.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + List queryAsraDailyAllForList(AsraDailyForTotalNumAndDetailReq request); +} \ No newline at end of file diff --git a/src/main/java/com/zteits/oa/report/web/AsraDailyController.java b/src/main/java/com/zteits/oa/report/web/AsraDailyController.java index 37f6581..fe8e3cd 100644 --- a/src/main/java/com/zteits/oa/report/web/AsraDailyController.java +++ b/src/main/java/com/zteits/oa/report/web/AsraDailyController.java @@ -5,8 +5,13 @@ 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.base.bean.PageBean; +import com.zteits.oa.api.base.constants.ErrorType; import com.zteits.oa.api.base.constants.SessionEnum; +import com.zteits.oa.api.base.exception.BizException; import com.zteits.oa.api.dto.asradaily.AsraDailyDTO; +import com.zteits.oa.api.dto.asradaily.AsraDailyOpNumForCurrentDayDTO; +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.dto.asraop.AsraOpDTO; import com.zteits.oa.api.dto.asraop.param.AsraOpQueryReq; @@ -17,6 +22,8 @@ import com.zteits.oa.api.service.report.query.AsraOpQueryService; import com.zteits.oa.api.service.report.query.AsraOpRelationsQueryService; import com.zteits.oa.report.domain.AsraDaily; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -62,5 +69,47 @@ public class AsraDailyController { logger.info("日报系统-日报管理-根据登录人分页查询员工信息结束"); return result; } + + /** + * 工时查询-当天提交及未提交人数汇总.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + @RequestMapping("/queryAsraDailyOpNumForCurrentDay") + @ApiOperation("工时查询-当天填报人数统计(汇总)") + public BizResult queryAsraDailyOpNumForCurrentDay(@RequestBody AsraDailyForTotalNumAndDetailReq request,HttpServletRequest servletRequest){ + logger.info("--begin工时查询-当天填报人数统计(汇总),入参={}",JSONObject.toJSON(request)); + AsraOpDTO asraOpDTO = (AsraOpDTO)servletRequest.getSession().getAttribute(SessionEnum.USER_INFO.key()); + if(asraOpDTO == null ){ + throw new BizException(ErrorType.PARAMM_NULL,"获取session为空"); + } + request.setOpId(asraOpDTO.getId()); + BizResult result = asraDailyQueryService.queryAsraDailyOpNumForCurrentDay(request); + logger.info("--end工时查询-当天填报人数统计(汇总),结果={}",JSONObject.toJSON(result)); + return result; + } + + + /** + * 工时查询-所有员工及自己或者自己日报.
+ * @param request + * @return + * 2018年8月1日 wangfs.
+ */ + @RequestMapping("/queryAsraDailyAllForList") + @ApiOperation("工时查询-所有员工及自己或者自己日报") + public BizResult queryAsraDailyAllForList(@RequestBody AsraDailyForTotalNumAndDetailReq request,HttpServletRequest servletRequest){ + logger.info("--begin工时查询-所有员工及自己或者自己日报,入参={}",JSONObject.toJSON(request)); + AsraOpDTO asraOpDTO = (AsraOpDTO)servletRequest.getSession().getAttribute(SessionEnum.USER_INFO.key()); + if(asraOpDTO == null ){ + throw new BizException(ErrorType.PARAMM_NULL,"获取session为空"); + } + request.setOpId(asraOpDTO.getId()); + BizResult result = asraDailyQueryService.queryAsraDailyAllForList(request); + logger.info("--end工时查询-所有员工及自己或者自己日报,结果={}",JSONObject.toJSON(result)); + return result; + } + } diff --git a/src/main/resources/mybatis/smapper/AsraDailySmapper.xml b/src/main/resources/mybatis/smapper/AsraDailySmapper.xml new file mode 100644 index 0000000..7071bc7 --- /dev/null +++ b/src/main/resources/mybatis/smapper/AsraDailySmapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + id, project_id, asar_op_id, asar_op_name, years, weeks, weeks_num, daily_date, data_state, + create_empid, create_emp_name, create_date, modfiy_empid, modfiy_emp_name, modfiy_date + + + daily_content + + + + + + \ No newline at end of file -- libgit2 0.21.4