sheldon 11 місяців тому
батько
коміт
0561527164

+ 16 - 4
auth-sdk/pom.xml

@@ -19,7 +19,6 @@
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -68,16 +67,29 @@
             <groupId>com.github.ben-manes.caffeine</groupId>
             <artifactId>caffeine</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
+        </dependency>
     </dependencies>
 
+<!--    <build>-->
+<!--        <plugins>-->
+<!--            <plugin>-->
+<!--                <groupId>org.springframework.boot</groupId>-->
+<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
+<!--                <configuration>-->
+<!--                    <classifier>exec</classifier>-->
+<!--                </configuration>-->
+<!--            </plugin>-->
+<!--        </plugins>-->
+<!--    </build>-->
     <build>
         <plugins>
+            <!-- SpringBoot启动 -->
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <classifier>exec</classifier>
-                </configuration>
             </plugin>
         </plugins>
     </build>

+ 2 - 0
auth-sdk/src/main/java/com/tofly/security/component/config/BaseSecurityConfig.java

@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
 import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
@@ -72,6 +73,7 @@ public class BaseSecurityConfig extends WebSecurityConfigurerAdapter {
     @Autowired
     private ObjectMapper objectMapper;
 
+    @Lazy
     @Autowired
     private AuthenticationManager authenticationManager;
 

+ 3 - 1
auth-sdk/src/main/java/com/tofly/security/component/user/User.java

@@ -31,7 +31,9 @@ public class User extends SearchTextBasedWithAdditionalInfo<UserId>
   @Length(fieldName = "last name")
   private String lastName;
   /** 平台的用户详情 */
-  @Getter @Setter private UserDetailsDTO userDetailsDTO;
+  @Getter
+  @Setter
+  private UserDetailsDTO userDetailsDTO;
 
   public User() {
     super();

+ 9 - 7
pms-report/pom.xml

@@ -14,7 +14,6 @@
     <name>pms-report</name>
     <description>pms-report</description>
 
-
     <properties>
         <jimureport.version>1.7.4</jimureport.version>
         <java.version>11</java.version>
@@ -30,18 +29,21 @@
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>com.tofly</groupId>
+            <artifactId>auth-sdk</artifactId>
+            <version>1.0.0</version>
+        </dependency>
         <!-- JimuReport -->
         <dependency>
             <groupId>org.jeecgframework.jimureport</groupId>
             <artifactId>jimureport-spring-boot-starter</artifactId>
             <version>${jimureport.version}</version>
         </dependency>
-        <dependency>
-            <groupId>com.tofly</groupId>
-            <artifactId>auth-sdk</artifactId>
-            <version>1.0.0</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.boot</groupId>-->
+<!--            <artifactId>spring-boot-starter-oauth2-resource-server</artifactId>-->
+<!--        </dependency>-->
         <!-- JimuReport mogodb/redis支持包(按需添加) -->
         <dependency>
             <groupId>org.jeecgframework.jimureport</groupId>

+ 2 - 1
pms-report/src/main/java/com/tofly/report/PmsReportApplication.java

@@ -5,7 +5,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 
-@SpringBootApplication(exclude={MongoAutoConfiguration.class},scanBasePackages = {"org.jeecg.modules.jmreport","com.tofly"})
+@SpringBootApplication(exclude={MongoAutoConfiguration.class},
+        scanBasePackages = {"org.jeecg.modules.jmreport","com.tofly"})
 @EnableDiscoveryClient
 public class PmsReportApplication {
 

+ 2 - 0
pms-report/src/main/resources/application-dev.yml

@@ -18,6 +18,8 @@ spring:
 
   application:
     name: pms-report-service
+  main:
+    allow-bean-definition-overriding: true
 
 #持久层框架
 minidao:

+ 13 - 0
pms-service/src/main/java/com/tofly/pms/working/controller/FeedBackPlanController.java

@@ -8,8 +8,10 @@ import com.tofly.pms.working.dto.FeedBackPlanDto;
 import com.tofly.pms.working.dto.FeedBackQueryDto;
 import com.tofly.pms.working.entity.FeedBackPlan;
 import com.tofly.pms.working.entity.Feedback;
+import com.tofly.pms.working.entity.TaskW;
 import com.tofly.pms.working.service.FeedBackPlanService;
 import com.tofly.pms.working.service.FeedBackService;
+import com.tofly.pms.working.service.TaskWService;
 import com.tofly.pms.working.vo.FeedBackWithPlanVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -33,6 +35,8 @@ public class FeedBackPlanController {
     private FeedBackPlanService feedBackPlanService;
     @Autowired
     private FeedBackService feedBackService;
+    @Autowired
+    private TaskWService taskWService;
 
     /**
      * 通过ID查询单条数据
@@ -90,6 +94,15 @@ public class FeedBackPlanController {
                 feedBackWithPlanVo.setFeedBackPlan(plans.get(0));
 
             }
+            //意见关联的任务数量统计
+            Integer id = record.getId();
+           long tatalTask = taskWService.count(Wrappers.<TaskW>lambdaQuery().eq(TaskW::getFeedbackId, id)
+                    .eq(TaskW::getDeleted,0));
+            long completedTask = taskWService.count(Wrappers.<TaskW>lambdaQuery().eq(TaskW::getFeedbackId, id)
+                    .eq(TaskW::getDeleted,0)
+                    .eq(TaskW::getStatus,'3'));
+            feedBackWithPlanVo.setTotalTask(tatalTask);
+            feedBackWithPlanVo.setCompletedTask(completedTask);
             datas.add(feedBackWithPlanVo);
         }
         page1.setRecords(datas);

+ 7 - 2
pms-service/src/main/java/com/tofly/pms/working/controller/TaskWController.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -77,15 +78,19 @@ public class TaskWController {
     @GetMapping
     public ResponseEntity<Page<TaskW>> paginQuery(TaskW taskW, Page<TaskW> page, String orderBy, String ascOrDesc) {
 
+        List<OrderItem> orders = page.getOrders();
+        page.setOrders(null);
         String title = taskW.getTitle();
         taskW.setTitle(null);
         LambdaQueryWrapper<TaskW> taskWLambdaQueryWrapper = Wrappers.lambdaQuery(taskW)
                 .like(StringUtils.isNotBlank(title), TaskW::getTitle, title)
                 .eq(TaskW::getDeleted, 0);
         if (StringUtils.isNotBlank(orderBy)) {
-            taskWLambdaQueryWrapper.last("order by " + orderBy + " " + ascOrDesc);
+            taskWLambdaQueryWrapper.last("order by " + orderBy +" "+ascOrDesc+ " NULLS last "  );
+        } else if (CollectionUtil.isNotEmpty(orders)) {
+            taskWLambdaQueryWrapper.last("order by " + orders.get(0).getColumn() + (orders.get(0).isAsc()?" asc":" desc") + " NULLS last " );
         } else {
-            taskWLambdaQueryWrapper.orderByDesc(TaskW::getCreateDate);
+            taskWLambdaQueryWrapper.orderByDesc(TaskW::getCreateDate).last("NULLS last ");
         }
         final Page<TaskW> page1 = taskWService.page(page,
                 taskWLambdaQueryWrapper

+ 4 - 0
pms-service/src/main/java/com/tofly/pms/working/vo/FeedBackWithPlanVo.java

@@ -93,6 +93,10 @@ public class FeedBackWithPlanVo implements Serializable {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @TableField(value = "create_date", fill = FieldFill.INSERT)
     private Date createDate ;
+    @ApiModelProperty(value = "意见关联的总任务数")
+    private Long totalTask;
+    @ApiModelProperty(value = "意见关联的完成的任务数")
+    private Long completedTask;
 
     private FeedBackPlan feedBackPlan;
 }

+ 2 - 1
pms-service/src/main/resources/mapper/HoursWMapper.xml

@@ -202,11 +202,12 @@
         wh.project_id,
         project.name as project_name,
         project.contract_name as contract_name,
+        project.custom_name as customer_name,
         sum(COALESCE(duration, 0)) as project_work_hours
         from business.tf_pm_workinghours_w wh
         inner join business.tf_pm_project_w project on wh.project_id = project.id
         where work_date like concat(#{month}, '%')
-        group by wh.create_user, wh.project_id, project.name,project.contract_name) temp2
+        group by wh.create_user, wh.project_id, project.name,project.contract_name, project.custom_name) temp2
         on temp1.user_id = temp2.create_user
     </select>
     <select id="getCompleteTask" resultType="java.lang.Integer">