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