wuweihao 4 лет назад
Родитель
Сommit
ff86acfab1
21 измененных файлов с 416 добавлено и 176 удалено
  1. 7 0
      gis_application/src/main/resources/application-dev.properties
  2. 1 1
      gis_application/src/main/resources/application.properties
  3. 17 0
      gis_common/src/main/java/com/gis/common/config/WebMvcConfig.java
  4. 26 0
      gis_domain/src/main/java/com/gis/domain/dto/DeptPageDto.java
  5. 1 1
      gis_domain/src/main/java/com/gis/domain/dto/PageDateRequest.java
  6. 30 0
      gis_domain/src/main/java/com/gis/domain/dto/PersonalPageDto.java
  7. 6 3
      gis_domain/src/main/java/com/gis/domain/dto/EffortDto.java
  8. 5 2
      gis_domain/src/main/java/com/gis/domain/vo/EffortVo.java
  9. 47 0
      gis_domain/src/main/java/com/gis/domain/vo/FinanceMonthVo.java
  10. 1 4
      gis_domain/src/main/java/com/gis/domain/vo/DeptEffortVo.java
  11. 20 9
      gis_mapper/src/main/java/com/gis/mapper/TaskesTimateMapper.java
  12. 42 3
      gis_mapper/src/main/java/com/gis/mapper/provider/TaskesTimateProvider.java
  13. 2 4
      gis_service/src/main/java/com/gis/service/TaskService.java
  14. 13 9
      gis_service/src/main/java/com/gis/service/TaskesTimateService.java
  15. 2 3
      gis_service/src/main/java/com/gis/service/impl/TaskServiceImpl.java
  16. 35 39
      gis_service/src/main/java/com/gis/service/impl/TaskesTimateServiceImpl.java
  17. 33 14
      gis_web/src/main/java/com/gis/web/controller/DeptController.java
  18. 53 0
      gis_web/src/main/java/com/gis/web/controller/FinanceController.java
  19. 68 0
      gis_web/src/main/java/com/gis/web/controller/PersonalController.java
  20. 0 82
      gis_web/src/main/java/com/gis/web/controller/ProjectController.java
  21. 7 2
      remark.md

+ 7 - 0
gis_application/src/main/resources/application-dev.properties

@@ -79,6 +79,13 @@ server.file.path=F:\\test\\ngin\\${project.name}_data\\
 server.url.prefix =data
 server.domain =http://192.168.0.135:${server.port}/${server.url.prefix}/
 
+# springboot\u914D\u7F6E\u9879\u76EE\u5916\u8BBF\u95EE\u9759\u6001\u8D44\u6E90
+# http://127.0.0.1:8200/data/aa.jpg
+# \u5339\u914D\u89C4\u5219
+spring.mvc.static-path-pattern=/${server.url.prefix}/**
+### \u5339\u914D\u8DEF\u5F84
+spring.resources.static-locations=file:\\${server.file.path}
+
 
 
 

+ 1 - 1
gis_application/src/main/resources/application.properties

@@ -1,6 +1,6 @@
 server.port=8085
 
-spring.profiles.active=pro
+spring.profiles.active=dev
 
 # \u9879\u76EE\u540D\u79F0
 project.name=zentao_age

+ 17 - 0
gis_common/src/main/java/com/gis/common/config/WebMvcConfig.java

@@ -10,6 +10,7 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.http.MediaType;
 import org.springframework.web.servlet.config.annotation.CorsRegistry;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
 import java.util.ArrayList;
@@ -45,6 +46,22 @@ public class WebMvcConfig implements WebMvcConfigurer {
         registry.addInterceptor(commonInterceptor).addPathPatterns("/**");
     }
 
+
+    private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
+            "classpath:/META-INF/resources/", "classpath:/resources/",
+            "classpath:/static/", "classpath:/public/" };
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        if (!registry.hasMappingForPattern("/webjars/**")) {
+            registry.addResourceHandler("/webjars/**").addResourceLocations(
+                    "classpath:/META-INF/resources/webjars/");
+        }
+        if (!registry.hasMappingForPattern("/**")) {
+            registry.addResourceHandler("/**").addResourceLocations(
+                    CLASSPATH_RESOURCE_LOCATIONS);
+        }
+    }
+
     /**
      * fastJson相关设置
      * Dto包含json,需要配置不然会异常

+ 26 - 0
gis_domain/src/main/java/com/gis/domain/dto/DeptPageDto.java

@@ -0,0 +1,26 @@
+package com.gis.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+
+/**
+ * Created by owen on 2021/4/20 0026 12:13
+ */
+@Data
+public class DeptPageDto extends PageDto {
+
+
+
+    @NotBlank(message = "日期不能为空")
+    @ApiModelProperty(value = "日期,yyyy-MM-dd", required = true)
+    private String date;
+
+    @NotBlank(message = "部门id不能为空")
+    @ApiModelProperty(value = "部门id", required = true)
+    private String deptId;
+
+
+}

+ 1 - 1
gis_domain/src/main/java/com/gis/domain/dto/PageDateRequest.java

@@ -9,7 +9,7 @@ import lombok.Data;
  * 有时间
  */
 @Data
-public class PageDateRequest extends PageDto {
+public class PageDateDto extends PageDto {
 
     /**
      * 开始时间

+ 30 - 0
gis_domain/src/main/java/com/gis/domain/dto/PersonalPageDto.java

@@ -0,0 +1,30 @@
+package com.gis.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+
+/**
+ * Created by owen on 2021/3/5 0026 12:13
+ * 工时表(windows版用这个,生产环境不用这个表统计)
+ */
+@Data
+public class PersonalPageDto extends PageDto {
+
+    @ApiModelProperty(value = "账号")
+    private String account;
+
+//    @ApiModelProperty(value = "项目id")
+//    private String project;
+
+    @NotBlank(message = "日期不能为空")
+    @ApiModelProperty(value = "日期,yyyy-MM-dd", required = true)
+    private String date;
+
+//    @ApiModelProperty(value = "部门id")
+//    private String deptId;
+
+
+}

+ 6 - 3
gis_domain/src/main/java/com/gis/domain/dto/EffortDto.java

@@ -3,20 +3,23 @@ package com.gis.domain.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+
 
 /**
  * Created by owen on 2021/3/5 0026 12:13
  * 工时表(windows版用这个,生产环境不用这个表统计)
  */
 @Data
-public class EffortDto  {
+public class WorkPageDto extends PageDto {
 
     @ApiModelProperty(value = "账号")
     private String account;
 
-    @ApiModelProperty(value = "项目id")
-    private String project;
+//    @ApiModelProperty(value = "项目id")
+//    private String project;
 
+    @NotBlank(message = "日期不能为空")
     @ApiModelProperty(value = "日期,yyyy-MM-dd", required = true)
     private String date;
 

+ 5 - 2
gis_domain/src/main/java/com/gis/domain/vo/EffortVo.java

@@ -11,7 +11,7 @@ import java.util.Date;
  * 工时表(windows版用这个,生产环境不用这个表统计)
  */
 @Data
-public class EffortVo  implements Serializable {
+public class DetailVo implements Serializable {
 
 
     private static final long serialVersionUID = 6265805965200890355L;
@@ -21,7 +21,7 @@ public class EffortVo  implements Serializable {
     @ApiModelProperty(value = "真实姓名")
     private String realname;
 
-    @ApiModelProperty(value = "消耗时间, 单位是")
+    @ApiModelProperty(value = "消耗时间, 单位是小时")
     private String consumed;
 
     @ApiModelProperty(value = "项目id")
@@ -45,6 +45,9 @@ public class EffortVo  implements Serializable {
     @ApiModelProperty(value = "部门名称")
     private String deptName;
 
+    @ApiModelProperty(value = "工号")
+    private String slack;
+
 
 
 

+ 47 - 0
gis_domain/src/main/java/com/gis/domain/vo/FinanceMonthVo.java

@@ -0,0 +1,47 @@
+package com.gis.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Created by owen on 2021/3/5 0026 12:13
+ * 工时表(windows版用这个,生产环境不用这个表统计)
+ */
+@Data
+public class FinanceMonthVo implements Serializable {
+
+
+    private static final long serialVersionUID = 6265805965200890355L;
+
+
+    @ApiModelProperty(value = "部门名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "账号")
+    private String account;
+
+    @ApiModelProperty(value = "真实姓名")
+    private String realname;
+
+    @ApiModelProperty(value = "消耗时间, 单位是天")
+    private String consumed;
+
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
+
+    @ApiModelProperty(value = "项目号")
+    private String code;
+
+    @ApiModelProperty(value = "任务号")
+    private String task;
+
+    @ApiModelProperty(value = "工号")
+    private String slack;
+
+
+
+
+}

+ 1 - 4
gis_domain/src/main/java/com/gis/domain/vo/DeptEffortVo.java

@@ -11,7 +11,7 @@ import java.util.Date;
  * 工时表(windows版用这个,生产环境不用这个表统计)
  */
 @Data
-public class DeptEffortVo implements Serializable {
+public class MonthVo implements Serializable {
 
 
     private static final long serialVersionUID = 6265805965200890355L;
@@ -27,9 +27,6 @@ public class DeptEffortVo implements Serializable {
     @ApiModelProperty(value = "日期")
     private Date date;
 
-//    @ApiModelProperty(value = "部门id")
-//    private String deptId;
-
     @ApiModelProperty(value = "部门名称")
     private String deptName;
 

+ 20 - 9
gis_mapper/src/main/java/com/gis/mapper/TaskesTimateMapper.java

@@ -2,11 +2,12 @@ package com.gis.mapper;
 
 
 import com.gis.domain.dto.DeptDto;
-import com.gis.domain.dto.EffortDto;
+import com.gis.domain.dto.WorkPageDto;
 import com.gis.domain.entity.EffortEntity;
 import com.gis.domain.entity.TaskesTimateEntity;
-import com.gis.domain.vo.DeptEffortVo;
-import com.gis.domain.vo.EffortVo;
+import com.gis.domain.vo.FinanceMonthVo;
+import com.gis.domain.vo.MonthVo;
+import com.gis.domain.vo.DetailVo;
 import com.gis.mapper.provider.TaskesTimateProvider;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
@@ -36,16 +37,18 @@ public interface TaskesTimateMapper extends ZtBaseMapper<TaskesTimateEntity, Lon
     @Select("SELECT a.* , b.project, ROUND(SUM(a.consumed/8),2) as consumed,c.code, c.name as projectName, d.realname as realname " +
             "FROM zt_taskestimate a left join zt_task b on b.id = a.task left join zt_project c on c.id=b.project left join zt_user d  on d.account = a.account " +
             "WHERE b.deleted = '0' AND  b.project = #{projectId} and DATE_FORMAT( date, '%Y%m' ) = DATE_FORMAT(#{date} , '%Y%m' ) GROUP BY a.account ")
-    List<EffortVo> sumEffortByMonth(String projectId, String date);
+    List<DetailVo> sumEffortByMonth(String projectId, String date);
 
     // 查询当月所有项目每个人的总工时
-    @Select("SELECT a.id, a.account, a.task , b.project, ROUND(SUM(a.consumed/8),2) as consumed,c.code, c.name as projectName, d.realname as realname " +
-            "FROM zt_taskestimate a left join zt_task b on b.id = a.task left join zt_project c on c.id=b.project left join zt_user d  on d.account = a.account " +
+    @Select("SELECT a.id, a.account, a.task , b.project, ROUND(SUM(a.consumed/8),2) as consumed,c.code, c.name as projectName, " +
+            "d.realname as realname, d.slack, e.name as deptName " +
+            "FROM zt_taskestimate a left join zt_task b on b.id = a.task left join zt_project c on c.id=b.project " +
+            "left join zt_user d  on d.account = a.account left join zt_dept e on d.dept = e.id " +
             "WHERE b.deleted = '0' AND DATE_FORMAT( date, '%Y%m' ) = DATE_FORMAT(#{date} , '%Y%m' ) GROUP BY a.account, b.project order by c.id, a.account ")
-    List<EffortVo> allProjectEffortByMonth(String date);
+    List<FinanceMonthVo> allProjectEffortByMonth(String date);
 
     @SelectProvider(type = TaskesTimateProvider.class, method = "search")
-    List<EffortVo> effortByMonth(DeptDto param);
+    List<DetailVo> effortByMonth(DeptDto param);
 
     /**
      * 统计部门每月工时
@@ -59,5 +62,13 @@ public interface TaskesTimateMapper extends ZtBaseMapper<TaskesTimateEntity, Lon
             "left join zt_user d  on d.account = a.account left join zt_dept e on d.dept = e.id " +
             "where  b.deleted = '0' AND DATE_FORMAT( date, '%Y%m' ) = DATE_FORMAT(#{date} , '%Y%m' ) AND e.id = #{deptId}) as f " +
             "group by f.account, f.date")
-    List<DeptEffortVo> deptEffortByMonth(String deptId, String date);
+    List<MonthVo> deptEffortByMonth(String deptId, String date);
+
+//    @SelectProvider(type = TaskesTimateProvider.class, method = "list")
+    @Select("select account, date , sum(consumed) as consumed from zt_taskestimate where DATE_FORMAT( date, '%Y%m' ) = DATE_FORMAT(#{date} , '%Y%m' )" +
+            " AND account = #{account} GROUP BY date;")
+    List<MonthVo> workByMonth(String account, String date);
+
+    @SelectProvider(type = TaskesTimateProvider.class, method = "detail")
+    List<DetailVo> workByMonthDetail(WorkPageDto param);
 }

+ 42 - 3
gis_mapper/src/main/java/com/gis/mapper/provider/TaskesTimateProvider.java

@@ -1,8 +1,8 @@
 package com.gis.mapper.provider;
 
 import com.gis.domain.dto.DeptDto;
-import com.gis.domain.dto.EffortDto;
-import com.gis.domain.dto.PageDto;
+import com.gis.domain.dto.PersonalPageDto;
+import com.gis.domain.dto.WorkPageDto;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 
@@ -13,7 +13,8 @@ import org.apache.commons.lang3.StringUtils;
 public class TaskesTimateProvider {
 
     public String search(DeptDto param){
-        StringBuffer sql = new StringBuffer("select a.*,b.project,c.name as projectName,c.code,d.realname as realname, e.id as deptId, e.name as deptName " +
+        StringBuffer sql = new StringBuffer("select a.*,b.project,c.name as projectName,c.code,d.realname as realname, d.slack, " +
+                "e.id as deptId, e.name as deptName " +
                 "from zt_taskestimate a left join zt_task b on b.id = a.task left join zt_project c on c.id=b.project " +
                 "left join zt_user d  on d.account = a.account left join zt_dept e on d.dept = e.id " +
                 "where b.deleted = '0' ");
@@ -50,4 +51,42 @@ public class TaskesTimateProvider {
         return sql.toString();
     }
 
+    public String detail(WorkPageDto param){
+        StringBuffer sql = new StringBuffer("select a.*,b.project,c.name as projectName,c.code,d.realname as realname, e.id as deptId, e.name as deptName " +
+                "from zt_taskestimate a left join zt_task b on b.id = a.task left join zt_project c on c.id=b.project " +
+                "left join zt_user d  on d.account = a.account left join zt_dept e on d.dept = e.id " +
+                "where b.deleted = '0' ");
+
+
+
+        String account = param.getAccount();
+        if(StringUtils.isNotBlank(account)){
+            sql.append(" AND a.account = '").append(account).append("'");
+        }
+//
+//        String project = param.getProject();
+//        if(StringUtils.isNotBlank(project)){
+//            sql.append(" and b.project = '").append(project).append("'");
+//        }
+
+
+        String deptId = param.getDeptId();
+        if(StringUtils.isNotBlank(deptId)){
+            sql.append(" and e.id = '").append(deptId).append("'");
+        }
+
+        String date = param.getDate();
+        if(StringUtils.isNotBlank(date)){
+            // DATE_FORMAT( date, '%Y%m' ) = DATE_FORMAT('2021-03-1' , '%Y%m' )
+            sql.append(" AND DATE_FORMAT (date, '%Y%m') = DATE_FORMAT( '").append(date).append("', '%Y%m' )");
+        }
+
+
+
+        sql.append(" order by a.account asc");
+
+        log.info("sql: {}", sql.toString());
+        return sql.toString();
+    }
+
 }

+ 2 - 4
gis_service/src/main/java/com/gis/service/TaskService.java

@@ -2,11 +2,9 @@ package com.gis.service;
 
 
 import com.gis.common.util.Result;
-import com.gis.domain.dto.EffortDto;
-import com.gis.domain.entity.EffortEntity;
 import com.gis.domain.entity.TaskEntity;
 import com.gis.domain.dto.PageDto;
-import com.gis.domain.vo.EffortVo;
+import com.gis.domain.vo.DetailVo;
 
 
 /**
@@ -21,7 +19,7 @@ public interface TaskService extends IBaseService<TaskEntity, Long> {
 
     Result<TaskEntity> findAccountByProjectId(String projectId);
 
-    Result<EffortVo> sumEffortByMonth(String projectId, String date);
+    Result<DetailVo> sumEffortByMonth(String projectId, String date);
 
 
 }

+ 13 - 9
gis_service/src/main/java/com/gis/service/TaskesTimateService.java

@@ -3,12 +3,12 @@ package com.gis.service;
 
 import com.gis.common.util.Result;
 import com.gis.domain.dto.DeptDto;
-import com.gis.domain.dto.EffortDto;
 import com.gis.domain.dto.PageDto;
+import com.gis.domain.dto.WorkPageDto;
 import com.gis.domain.entity.TaskesTimateEntity;
-import com.gis.domain.entity.UserEntity;
-import com.gis.domain.vo.DeptEffortVo;
-import com.gis.domain.vo.EffortVo;
+import com.gis.domain.vo.FinanceMonthVo;
+import com.gis.domain.vo.MonthVo;
+import com.gis.domain.vo.DetailVo;
 
 
 /**
@@ -17,15 +17,19 @@ import com.gis.domain.vo.EffortVo;
 public interface TaskesTimateService extends IBaseService<TaskesTimateEntity, Long> {
 
 
-    Result<EffortVo> search(PageDto param);
+    Result<DetailVo> search(PageDto param);
 
-    Result<EffortVo> allProjectEffortByMonthExcel(String date);
+    Result<FinanceMonthVo> allProjectEffortByMonthExcel(String date);
 
-//    Result<EffortVo> sumEffortByMonthExcel(String projectId, String date);
+    Result<DetailVo> excelByDetail(DeptDto param);
 
-    Result<EffortVo> effortByMonthExcel(DeptDto param);
+    Result<MonthVo> excelByMonth(DeptDto param);
 
-    Result<DeptEffortVo> deptEffortByMonthExcel(DeptDto param);
 
 
+    Result workByMonth(String account, String date);
+
+    Result workByMonth(WorkPageDto param);
+
+    Result<DetailVo> workByMonthDetail(WorkPageDto param);
 }

+ 2 - 3
gis_service/src/main/java/com/gis/service/impl/TaskServiceImpl.java

@@ -2,10 +2,9 @@ package com.gis.service.impl;
 
 import com.gis.common.constant.ConfigConstant;
 import com.gis.common.util.Result;
-import com.gis.domain.dto.EffortDto;
 import com.gis.domain.entity.TaskEntity;
 import com.gis.domain.dto.PageDto;
-import com.gis.domain.vo.EffortVo;
+import com.gis.domain.vo.DetailVo;
 import com.gis.mapper.TaskMapper;
 import com.gis.mapper.TaskesTimateMapper;
 import com.gis.mapper.ZtBaseMapper;
@@ -54,7 +53,7 @@ public class TaskServiceImpl extends ZtBaseServiceImpl<TaskEntity, Long> impleme
     }
 
     @Override
-    public Result<EffortVo> sumEffortByMonth(String projectId, String date) {
+    public Result<DetailVo> sumEffortByMonth(String projectId, String date) {
         return Result.success(taskesTimateMapper.sumEffortByMonth(projectId, date));
     }
 

+ 35 - 39
gis_service/src/main/java/com/gis/service/impl/TaskesTimateServiceImpl.java

@@ -5,11 +5,12 @@ import com.gis.common.constant.ConfigConstant;
 import com.gis.common.util.ExcelUtils;
 import com.gis.common.util.Result;
 import com.gis.domain.dto.DeptDto;
-import com.gis.domain.dto.EffortDto;
 import com.gis.domain.dto.PageDto;
+import com.gis.domain.dto.WorkPageDto;
 import com.gis.domain.entity.TaskesTimateEntity;
-import com.gis.domain.vo.DeptEffortVo;
-import com.gis.domain.vo.EffortVo;
+import com.gis.domain.vo.FinanceMonthVo;
+import com.gis.domain.vo.MonthVo;
+import com.gis.domain.vo.DetailVo;
 import com.gis.mapper.TaskesTimateMapper;
 import com.gis.mapper.ZtBaseMapper;
 import com.gis.service.TaskesTimateService;
@@ -19,8 +20,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 
 /**
@@ -43,24 +42,24 @@ public class TaskesTimateServiceImpl extends ZtBaseServiceImpl<TaskesTimateEntit
 
 
     @Override
-    public Result<EffortVo> search(PageDto param) {
+    public Result<DetailVo> search(PageDto param) {
         startPage(param);
         return Result.success(new PageInfo<>(this.findAll()));
     }
 
     @Override
-    public Result<EffortVo> allProjectEffortByMonthExcel(String date) {
+    public Result<FinanceMonthVo> allProjectEffortByMonthExcel(String date) {
 
         long start = System.currentTimeMillis();
-        List<EffortVo> effortVos = entityMapper.allProjectEffortByMonth(date);
+        List<FinanceMonthVo> effortVos = entityMapper.allProjectEffortByMonth(date);
         long end = System.currentTimeMillis();
         log.info("sql耗时: {}s", (end-start)/1000);
         String time = DateUtil.format(new Date(), "yyyyMMdd_HHmmss");
         String savePath = configConstant.serverBasePath + time + ".xlsx";
         HashMap<String, String> rowTitle = new HashMap<>();
 
-        rowTitle.put("date", "日期");
-        rowTitle.put("project", "项目id");
+        rowTitle.put("slack", "工号");
+//        rowTitle.put("project", "项目id");
         rowTitle.put("code", "项目号");
         rowTitle.put("projectName", "项目名称");
         rowTitle.put("account", "账号");
@@ -78,42 +77,19 @@ public class TaskesTimateServiceImpl extends ZtBaseServiceImpl<TaskesTimateEntit
     }
 
 
-//    @Override
-//    public Result<EffortVo> sumEffortByMonthExcel(String projectId, String date) {
-//        long start = System.currentTimeMillis();
-//        List<EffortVo> effortVos = entityMapper.sumEffortByMonth(projectId, date);
-//        long end = System.currentTimeMillis();
-//        log.info("sql耗时: {}s", (end-start)/1000);
-//        String time = DateUtil.format(new Date(), "yyyyMMdd_HHmmss");
-//        String savePath = configConstant.serverBasePath + time + ".xlsx";
-//        HashMap<String, String> rowTitle = new HashMap<>();
-//
-//        rowTitle.put("date", "日期");
-//        rowTitle.put("project", "项目id");
-//        rowTitle.put("code", "项目号");
-//        rowTitle.put("projectName", "项目名称");
-//        rowTitle.put("account", "账号");
-//        rowTitle.put("realname", "姓名");
-//        rowTitle.put("consumed", "消耗时间(单位:天)");
-//        ExcelUtils.createExcel(effortVos, savePath, rowTitle);
-//
-//        HashMap<String, Object> result = new HashMap<>();
-//        result.put("size", effortVos.size());
-//        result.put("path", savePath);
-//
-//        return Result.success(result);
-//    }
+
 
     @Override
-    public Result<EffortVo> effortByMonthExcel(DeptDto param) {
+    public Result<DetailVo> excelByDetail(DeptDto param) {
         long start = System.currentTimeMillis();
-        List<EffortVo> effortVos = entityMapper.effortByMonth(param);
+        List<DetailVo> effortVos = entityMapper.effortByMonth(param);
 
         long end = System.currentTimeMillis();
         String time = DateUtil.format(new Date(), "yyyyMMdd_HHmmss");
         String savePath = configConstant.serverBasePath + time + ".xlsx";
         HashMap<String, String> rowTitle = new HashMap<>();
 
+        rowTitle.put("slack", "工号");
         rowTitle.put("date", "日期");
         rowTitle.put("task", "任务号");
         rowTitle.put("project", "项目id");
@@ -138,9 +114,9 @@ public class TaskesTimateServiceImpl extends ZtBaseServiceImpl<TaskesTimateEntit
     }
 
     @Override
-    public Result<DeptEffortVo> deptEffortByMonthExcel(DeptDto param) {
+    public Result<MonthVo> excelByMonth(DeptDto param) {
         long start = System.currentTimeMillis();
-        List<DeptEffortVo> effortVos = entityMapper.deptEffortByMonth(param.getDeptId(), param.getDate());
+        List<MonthVo> effortVos = entityMapper.deptEffortByMonth(param.getDeptId(), param.getDate());
 
 
         String time = DateUtil.format(new Date(), "yyyyMMdd_HHmmss");
@@ -167,5 +143,25 @@ public class TaskesTimateServiceImpl extends ZtBaseServiceImpl<TaskesTimateEntit
         return  Result.success(result);
     }
 
+    @Override
+    public Result workByMonth(String account, String date) {
+        List<MonthVo> effortVos = entityMapper.workByMonth(account, date);
+        return Result.success(effortVos);
+    }
+
+    @Override
+    public Result workByMonth(WorkPageDto param) {
+        startPage(param);
+        List<MonthVo> effortVos = entityMapper.deptEffortByMonth(param.getDeptId(), param.getDate());
+        return Result.success(new PageInfo<>(effortVos));
+    }
+
+    @Override
+    public Result<DetailVo> workByMonthDetail(WorkPageDto param) {
+        startPage(param);
+        List<DetailVo> effortVos = entityMapper.workByMonthDetail(param);
+        return Result.success(new PageInfo<>(effortVos));
+    }
+
 
 }

+ 33 - 14
gis_web/src/main/java/com/gis/web/controller/DeptController.java

@@ -2,17 +2,16 @@ package com.gis.web.controller;
 
 import com.gis.common.util.Result;
 import com.gis.domain.dto.DeptDto;
-import com.gis.domain.dto.EffortDto;
-import com.gis.domain.dto.PageDto;
-import com.gis.domain.entity.UserEntity;
-import com.gis.domain.vo.DeptEffortVo;
-import com.gis.domain.vo.EffortVo;
+import com.gis.domain.dto.DeptPageDto;
+import com.gis.domain.dto.WorkPageDto;
+import com.gis.domain.vo.MonthVo;
+import com.gis.domain.vo.DetailVo;
 import com.gis.mapper.MyBaseMapper;
 import com.gis.service.TaskesTimateService;
-import com.gis.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -42,18 +41,38 @@ public class DeptController extends BaseController {
         return Result.success(myBaseMapper.getDept());
     }
 
-    @ApiOperation(value = "按部门id获取月统计(date:当月日期:yyyy-MM-dd)")
-    @PostMapping(value = "deptEffortByMonth")
-    public Result<DeptEffortVo> deptEffortByMonth(@Valid @RequestBody DeptDto param) {
-        return taskesTimateService.deptEffortByMonthExcel(param);
+    @ApiOperation(value = "月统计(date:当月日期:yyyy-MM-dd)")
+    @PostMapping(value = "byMonth")
+    public Result<MonthVo> byMonth(@Valid @RequestBody DeptPageDto param) {
+        WorkPageDto workPageDto = new WorkPageDto();
+        BeanUtils.copyProperties(param, workPageDto);
+        return taskesTimateService.workByMonth(workPageDto);
     }
 
+    @ApiOperation(value = "月详情(date:当月日期:yyyy-MM-dd")
+    @PostMapping(value = "byDetail")
+    public Result<DetailVo> byDetail(@RequestBody DeptPageDto param) {
+        WorkPageDto workPageDto = new WorkPageDto();
+        BeanUtils.copyProperties(param, workPageDto);
+        return taskesTimateService.workByMonthDetail(workPageDto);
+    }
+
+    @ApiOperation(value = "月统计(excel)(date:当月日期:yyyy-MM-dd)")
+    @PostMapping(value = "excelByMonth")
+    public Result<MonthVo> excelByMonth(@Valid @RequestBody DeptDto param) {
+        return taskesTimateService.excelByMonth(param);
+    }
 
-    @ApiOperation(value = "按部门id获取月详情(date:当月日期:yyyy-MM-dd)", notes = "多参数查询工时")
-    @PostMapping(value = "effortByMonth")
-    public Result<EffortVo> effortByMonth(@RequestBody DeptDto param) {
-        return taskesTimateService.effortByMonthExcel(param);
+    @ApiOperation(value = "月详情(excel)(date:当月日期:yyyy-MM-dd")
+    @PostMapping(value = "excelByDetail")
+    public Result<DetailVo> excelByDetail(@RequestBody DeptDto param) {
+        return taskesTimateService.excelByDetail(param);
     }
 
 
+
+
+
+
+
 }

+ 53 - 0
gis_web/src/main/java/com/gis/web/controller/FinanceController.java

@@ -0,0 +1,53 @@
+package com.gis.web.controller;
+
+import com.gis.common.util.Result;
+import com.gis.domain.dto.DeptDto;
+import com.gis.domain.vo.DetailVo;
+import com.gis.domain.vo.FinanceMonthVo;
+import com.gis.service.ProjectService;
+import com.gis.service.TaskService;
+import com.gis.service.TaskesTimateService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * Created by owen on 2021/2/26 0026 11:57
+ *
+ */
+
+@Api(tags = "财务使用")
+@Slf4j
+@RequestMapping("api/finance")
+@RestController
+public class FinanceController extends BaseController {
+
+    @Autowired
+    ProjectService projectService;
+
+    @Autowired
+    TaskService taskService;
+
+    @Autowired
+    TaskesTimateService taskesTimateService;
+
+
+
+    @ApiOperation(value = "月详情(date:当月日期:yyyy-MM-dd)")
+    @GetMapping(value = "excelByDetail/{date}")
+    public Result<DetailVo> excelByDetail(@PathVariable String date) {
+        DeptDto param = new DeptDto();
+        param.setDate(date);
+        return taskesTimateService.excelByDetail(param);
+    }
+
+    @ApiOperation("月总计(date:当月日期:yyyy-MM-dd)")
+    @GetMapping(value = "excelByMonth/{date}")
+    public Result<FinanceMonthVo> excelByMonth(@PathVariable String date) {
+        return taskesTimateService.allProjectEffortByMonthExcel(date);
+    }
+
+}

+ 68 - 0
gis_web/src/main/java/com/gis/web/controller/PersonalController.java

@@ -0,0 +1,68 @@
+package com.gis.web.controller;
+
+import com.gis.common.util.Result;
+import com.gis.domain.dto.PersonalPageDto;
+import com.gis.domain.dto.WorkPageDto;
+import com.gis.domain.entity.UserEntity;
+import com.gis.domain.vo.DetailVo;
+import com.gis.mapper.MyBaseMapper;
+import com.gis.service.TaskesTimateService;
+import com.gis.service.UserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+/**
+ * Created by owen on 2021/2/26 0026 11:57
+ *
+ */
+
+@Api(tags = "个人使用")
+@Slf4j
+@RequestMapping("api/personal")
+@RestController
+public class PersonalController extends BaseController {
+
+    @Autowired
+    MyBaseMapper myBaseMapper;
+
+    @Autowired
+    TaskesTimateService taskesTimateService;
+
+
+    @Autowired
+    UserService userService;
+
+    @ApiOperation(value = "用户列表")
+    @GetMapping(value = "getUserList")
+    public Result getUserList() {
+        return Result.success(userService.findAll());
+    }
+
+
+    /**
+     * 只有30条,不分页
+     */
+    @ApiOperation(value = "月统计(date:当月日期:yyyy-MM-dd)")
+    @GetMapping(value = "workByMonth/{account}/{date}")
+    public Result workByMonth(@PathVariable String account, @PathVariable String date) {
+        return taskesTimateService.workByMonth(account,  date);
+    }
+
+
+    @ApiOperation(value = "月详情(date:当月日期:yyyy-MM-dd)", notes = "多参数查询工时")
+    @PostMapping(value = "workByMonthDetail")
+    public Result<DetailVo> effortByMonthExcel(@RequestBody PersonalPageDto param) {
+        WorkPageDto workPageDto = new WorkPageDto();
+        BeanUtils.copyProperties(param, workPageDto);
+        return taskesTimateService.workByMonthDetail(workPageDto);
+    }
+
+    
+}

+ 0 - 82
gis_web/src/main/java/com/gis/web/controller/ProjectController.java

@@ -1,82 +0,0 @@
-package com.gis.web.controller;
-
-import com.gis.common.util.Result;
-import com.gis.domain.dto.DeptDto;
-import com.gis.domain.dto.EffortDto;
-import com.gis.domain.entity.EffortEntity;
-import com.gis.domain.entity.ProjectEntity;
-import com.gis.domain.dto.PageDto;
-import com.gis.domain.entity.TaskEntity;
-import com.gis.domain.vo.EffortVo;
-import com.gis.service.EffortService;
-import com.gis.service.ProjectService;
-import com.gis.service.TaskService;
-import com.gis.service.TaskesTimateService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-
-/**
- * Created by owen on 2021/2/26 0026 11:57
- *
- */
-
-@Api(tags = "财务使用")
-@Slf4j
-@RequestMapping("api/project")
-@RestController
-public class ProjectController extends BaseController {
-
-    @Autowired
-    ProjectService projectService;
-
-    @Autowired
-    TaskService taskService;
-
-    @Autowired
-    TaskesTimateService taskesTimateService;
-
-
-
-
-//    @ApiOperation("查询项目参与人")
-//    @GetMapping(value = "findAccount/{projectId}")
-//    public Result<TaskEntity> findAccountByProjectId(@PathVariable String projectId) {
-//        return taskService.findAccountByProjectId(projectId);
-//    }
-
-
-
-//    @ApiOperation("按月份统计每个人在项目中的总工时(date:当月日期:yyyy-MM-dd)")
-//    @GetMapping(value = "sumEffortByMonth/{projectId}/{date}")
-//    public Result<EffortVo> sumEffortByMonth(@PathVariable String projectId, @PathVariable String date) {
-//        return taskService.sumEffortByMonth(projectId, date);
-//    }
-
-
-    @ApiOperation(value = "月详情(date:当月日期:yyyy-MM-dd)")
-    @GetMapping(value = "effortByMonth/{date}")
-    public Result<EffortVo> effortByMonth(@PathVariable String date) {
-        DeptDto param = new DeptDto();
-        param.setDate(date);
-        return taskesTimateService.effortByMonthExcel(param);
-    }
-
-
-//    @ApiOperation("(excel)按月份统计每个项目每个人的总工时(date:当月日期:yyyy-MM-dd)")
-//    @GetMapping(value = "excel/{projectId}/{date}")
-//    public Result<EffortVo> sumEffortByMonthExcel(@PathVariable String projectId, @PathVariable String date) {
-//        return taskesTimateService.sumEffortByMonthExcel(projectId, date);
-//    }
-
-
-    @ApiOperation("月总计(date:当月日期:yyyy-MM-dd)")
-    @GetMapping(value = "excel/{date}")
-    public Result<EffortVo> allProjectEffortByMonthExcel(@PathVariable String date) {
-        return taskesTimateService.allProjectEffortByMonthExcel(date);
-    }
-
-}

+ 7 - 2
remark.md

@@ -42,11 +42,16 @@
 ## 日志
    2021-03-24
     目前只部署在本地,没有部署到服务器 http://127.0.0.1:8004/doc.html     
-    
+
+## dev
+    2020-04-21
+    使用jar包自动访问外部静态资源    
     
 ## pro
     2020-04-20
    部署在这个服务器: 192.168.0.115
    只有马瑞有权限
    文件端口映射到8016端口
-   地址:/opt/tomcat/zentao_age_8085                
+   地址:/opt/tomcat/zentao_age_8085    
+   
+   使用nginx 访问外部静态资源