Min 1 年之前
父节点
当前提交
e9848500d4

+ 7 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -3,6 +3,7 @@ package com.management.platform.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.management.platform.config.LimitRequest;
 import com.management.platform.entity.*;
 import com.management.platform.entity.vo.OvertimeListVO;
 import com.management.platform.mapper.*;
@@ -1351,5 +1352,11 @@ public class ProjectController {
         return httpRespMsg;
     }
 
+    @LimitRequest(count = 10)
+    @RequestMapping("/getProjectListByToken")
+    public HttpRespMsg getProjectListByToken(@RequestBody String json){
+        return projectService.getProjectListByToken(json);
+    }
+
 }
 

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/Project.java

@@ -449,6 +449,9 @@ public class Project extends Model<Project> {
     @TableField(exist = false)
     private boolean isManageDept;
 
+    @TableField(exist = false)
+    private List<SubProject> subProjectList;
+
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -243,4 +243,6 @@ public interface ProjectService extends IService<Project> {
     HttpRespMsg getFTEData(Integer pageIndex, Integer pageSize, String month, String area, HttpServletRequest request);
 
     HttpRespMsg exportFTEData(String month, String area, HttpServletRequest request);
+
+    HttpRespMsg getProjectListByToken(String json);
 }

+ 47 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -59,6 +59,9 @@ import java.time.chrono.ChronoLocalDate;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;
 import java.util.*;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -75,6 +78,7 @@ import java.util.stream.Stream;
 @Transactional
 public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
     String pathPrefix = "/upload/";
+    private final static Executor executor = Executors.newFixedThreadPool(3);//启用多线程
     @Resource
     private HttpServletRequest request;
     @Resource
@@ -212,6 +216,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
     private ProDocumentTemDetailMapper proDocumentTemDetailMapper;
     @Resource
     private ProjectDocumentTemplateMapper projectDocumentTemplateMapper;
+    @Resource
+    private ThirdPartyInterfaceMapper thirdPartyInterfaceMapper;
 
     @Resource
     private HttpServletResponse response;
@@ -10835,4 +10841,45 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             getParentFolders(list,proDocumentTemDetailList,project,user);
         }
     }
+
+    @Override
+    public HttpRespMsg getProjectListByToken(String json) {
+        HttpRespMsg msg=new HttpRespMsg();
+        TokenVo tokenVo = JSON.parseObject(json, TokenVo.class);
+        String token = tokenVo.getToken();
+        String startDate =tokenVo.getStartDate();
+        String endDate = tokenVo.getEndDate();
+        DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        LocalDate openDate = LocalDate.parse(startDate, df);
+        LocalDate closeDate = LocalDate.parse(endDate, df);
+        if(Duration.between(openDate.atTime(LocalTime.now()),closeDate.atTime(LocalTime.now())).toDays()>31){
+            //msg.setError("获取数据时间段不得超过一个月");
+            msg.setError(MessageUtils.message("data.exceedMonthError"));
+            return msg;
+        }
+        List<ThirdPartyInterface> thirdPartyInterfaceList = thirdPartyInterfaceMapper.selectList(new QueryWrapper<ThirdPartyInterface>().eq("token", token));
+        if(thirdPartyInterfaceList.size()==0){
+            //msg.setError("token错误");
+            msg.setError(MessageUtils.message("other.tokenError"));
+            return msg;
+        }
+        ThirdPartyInterface thirdPartyInterface = thirdPartyInterfaceList.get(0);
+        if(LocalDateTime.now().isAfter(thirdPartyInterface.getExpireTime())){
+            //msg.setError("token过期失效");
+            msg.setError(MessageUtils.message("other.tokenOverdue"));
+            return msg;
+        }
+        if(token.equals(thirdPartyInterface.getToken())){
+            List<Project> projectList=projectMapper.selectList(new QueryWrapper<Project>().eq("company_id",thirdPartyInterface.getCompanyId()).between("create_date",startDate,endDate));
+            List<Integer> projectIds = projectList.stream().map(Project::getId).distinct().collect(Collectors.toList());
+            projectIds.add(-1);
+            List<SubProject> subProjectList = subProjectMapper.selectList(new QueryWrapper<SubProject>().eq("project_id", projectIds));
+            projectList.forEach(pl->{
+                List<SubProject> subProjects = subProjectList.stream().filter(st -> st.getProjectId().equals(pl.getId())).collect(Collectors.toList());
+                pl.setSubProjectList(subProjects);
+            });
+            msg.data=projectList;
+        }
+        return msg;
+    }
 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -5300,7 +5300,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
             return msg;
         }
         ThirdPartyInterface thirdPartyInterface = thirdPartyInterfaceList.get(0);
-        List<ReportLog> reportLogList = reportLogMapper.selectList(new QueryWrapper<ReportLog>().eq("company_id", thirdPartyInterface.getCompanyId()).ge("operate_date",openDate.atTime(LocalTime.now())).orderByAsc("operate_date"));
+        List<ReportLog> reportLogList = reportLogMapper.selectList(new QueryWrapper<ReportLog>().eq("company_id", thirdPartyInterface.getCompanyId()).between("operate_date",openDate.atTime(LocalTime.now()),closeDate.atTime(LocalTime.now())).orderByAsc("operate_date"));
         List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", thirdPartyInterface.getCompanyId()));
         if(LocalDateTime.now().isAfter(thirdPartyInterface.getExpireTime())){
             //msg.setError("token过期失效");