Selaa lähdekoodia

Merge branch 'fu-dev' of uskycloud/usky-modules into server-165

fuyuchuan 9 kuukautta sitten
vanhempi
commit
501912ce63

+ 1 - 1
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/PmWorkContentService.java

@@ -33,7 +33,7 @@ public interface PmWorkContentService extends CrudService<PmWorkContent> {
      * @param startDate         开始时间
      * @param endDate           结束时间
      * @param projectName       项目名
-     * @param projectAscription 查询标识(1:我负责的;2:抄送我的,3:我发出的)
+     * @param projectAscription 查询标识(1:我负责的;2:我收到,3:我发出的)
      * @return
      */
     List<PmWorkContent> projectQuery(String startDate, String endDate, String projectName, Integer projectAscription, Integer reportId);

+ 24 - 13
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkContentServiceImpl.java

@@ -29,6 +29,8 @@ import com.ruoyi.common.datascope.context.DataScopeContextHolder;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -69,11 +71,12 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
     }
 
     private List<Integer> reportDateQuery(String startDate, String endDate) {
-
+        Long deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId();
         Integer tenantId = SecurityUtils.getTenantId();
         LambdaQueryWrapper<PmWorkReport> reportQuery = Wrappers.lambdaQuery();
         reportQuery.select(PmWorkReport::getId)
-                .eq(PmWorkReport::getTenantId, tenantId);
+                .eq(PmWorkReport::getTenantId, tenantId)
+                .eq(PmWorkReport::getDeptId, deptId);
         if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
             LocalDate start = LocalDate.parse(startDate);
             LocalDate end = LocalDate.parse(endDate);
@@ -163,8 +166,10 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
         //String sentOut = "SELECT id FROM pm_work_report WHERE create_by = '" + SecurityUtils.getUsername() + "' AND tenant_id = " + SecurityUtils.getTenantId();
         //String subQueryProjects = "SELECT id FROM pm_project WHERE project_head = '" + SecurityUtils.getUserId() + "' AND tenant_id = " + SecurityUtils.getTenantId();
         LambdaQueryWrapper<PmWorkContent> contentLambdaQuery = Wrappers.lambdaQuery();
-        contentLambdaQuery.select(PmWorkContent::getProjectId, PmWorkContent::getProjectName)
-                .in(PmWorkContent::getReportId, reportIds);
+        contentLambdaQuery.select(PmWorkContent::getProjectId, PmWorkContent::getProjectName);
+        if (!reportIds.isEmpty()) {
+            contentLambdaQuery.in(PmWorkContent::getReportId, reportIds);
+        }
         //.inSql(PmWorkContent::getReportId, subQueryReports);
         if (StringUtils.isNotBlank(projectName)) {
             contentLambdaQuery.like(PmWorkContent::getProjectName, projectName);
@@ -177,12 +182,15 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
             //contentLambdaQuery.inSql(PmWorkContent::getProjectId, subQueryProjects);
         } else if (projectAscription == 2) {
             //contentLambdaQuery.inSql(PmWorkContent::getReportId, subQueryReport);
-            if (receiveList.isEmpty()){
+            if (receiveList.isEmpty()) {
                 return new ArrayList<PmWorkContent>();
             }
             contentLambdaQuery.in(PmWorkContent::getReportId, receiveList);
         } else if (projectAscription == 3) {
             //contentLambdaQuery.in(PmWorkContent::getReportId, sentOutList);
+            if (sentOutList.isEmpty()) {
+                return new ArrayList<PmWorkContent>();
+            }
             contentLambdaQuery.in(PmWorkContent::getReportId, sentOutList);
         }
         contentLambdaQuery.groupBy(PmWorkContent::getProjectId, PmWorkContent::getProjectName);
@@ -211,9 +219,6 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
                 userIds.add(c.getSubmitterId());
             }
         } else {
-            //LocalDate start = LocalDate.parse(startDate);
-            //LocalDate end = LocalDate.parse(endDate);
-            List<Integer> reportIds2 = reportDateQuery(startDate, endDate);
             List<Integer> receiveList2 = receive();
             List<Integer> sentOutList = sentOut();
             List<Integer> headProjects = head();
@@ -223,8 +228,15 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
             //String sentOut = "SELECT id FROM pm_work_report WHERE create_by = '" + SecurityUtils.getUsername() + "' AND tenant_id = " + SecurityUtils.getTenantId();
             //String reportIdList = "SELECT report_id FROM pm_work_content WHERE project_name = '" + projectName + "' AND tenant_id = " + SecurityUtils.getTenantId();
             LambdaQueryWrapper<PmWorkContent> contentLambdaQuery = Wrappers.lambdaQuery();
-            contentLambdaQuery.select(PmWorkContent::getReportId, PmWorkContent::getWorkContent, PmWorkContent::getWorkTime, PmWorkContent::getProjectName)
-                    .in(PmWorkContent::getReportId, reportIds2);
+            contentLambdaQuery.select(PmWorkContent::getReportId, PmWorkContent::getWorkContent, PmWorkContent::getWorkTime, PmWorkContent::getProjectName);
+            if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
+                DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                LocalDate start = LocalDate.parse(startDate, formatter);
+                LocalDate end = LocalDate.parse(endDate, formatter);
+                LocalDateTime startDateTime = start.atStartOfDay();
+                LocalDateTime endDateTime = end.atTime(23, 59, 59);
+                contentLambdaQuery.between(PmWorkContent::getCreateTime, startDateTime, endDateTime);
+            }
             if (projectAscription == 1) {
                 //.inSql(PmWorkContent::getReportId, subQueryReports);
                 contentLambdaQuery.in(PmWorkContent::getProjectId, headProjects);
@@ -542,7 +554,6 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
     }
 
 
-
     @Override
     public List<Object> workHourStatistic(Long userId, Integer projectId, Integer filter, String startDate, String endDate, Integer workerOrProject) {
         List<ProjectWorkTimeVO> projectWorkTime = new ArrayList<>();
@@ -590,9 +601,9 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
                     workHoursStatisticsVO.setNickName(nickName1);
                 }
             }
-            for (PmProject project : pmProjects){
+            for (PmProject project : pmProjects) {
                 String projectName = project.getProjectName();
-                if (projectName.equals(projectName1)){
+                if (projectName.equals(projectName1)) {
                     workHoursStatisticsVO.setProjectName(projectName);
                 }
             }

+ 1 - 5
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/PmWorkReportServiceImpl.java

@@ -294,16 +294,12 @@ public class PmWorkReportServiceImpl extends AbstractCrudService<PmWorkReportMap
                 for (Long id : ids) {
                     PmReceive pmReceive = new PmReceive();
                     pmReceive.setReceiverId(id);
-                    for (SysUser user : usersName) {
-                        if (id == user.getUserId()) {
-                            pmReceive.setReceiverName(user.getUserName());
-                        }
-                    }
                     pmReceive.setReportId(newReport.getId());
                     pmReceive.setTenantId(tenantId);
                     pmReceive.setDeptId(deptId);
                     pmReceive.setCreateBy(userName);
                     pmReceive.setCreateTime(dateTime);
+                    pmReceive.setReceiverName(userName);
                     pmReceive.setReadFlag(0);
                     pmReceiveMapper.insert(pmReceive);
                 }