Jelajahi Sumber

更新查询数量

xiewj 2 tahun lalu
induk
melakukan
2503d9829b

+ 9 - 0
src/main/java/com/fdkankan/site/controller/MarkingController.java

@@ -63,6 +63,15 @@ public class MarkingController  extends BaseController {
         return ResultData.ok(markingService.pageList(param));
     }
     /**
+     * 标注列表
+     */
+    @PostMapping("/count")
+    @SaIgnore
+    public ResultData countMarkingStatus(@RequestBody MarkingSearchParam param){
+        VUtils.isTure(param.getProjectId() == null).throwMessage(ResultCode.PARAM_MISS);
+        return ResultData.ok(markingService.countMarkingStatus(param));
+    }
+    /**
      * 删除
      */
     @PostMapping("/del")

+ 7 - 0
src/main/java/com/fdkankan/site/mapper/IMarkingMapper.java

@@ -4,6 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fdkankan.site.entity.Marking;
 import com.github.yulichang.base.MPJBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -16,4 +21,6 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface IMarkingMapper extends MPJBaseMapper<Marking> {
 
+
+    List<Map<Integer, Integer> > countMarkingStatus(@Param("projectId") Integer projectId);
 }

+ 3 - 0
src/main/java/com/fdkankan/site/service/IMarkingService.java

@@ -7,6 +7,7 @@ import com.fdkankan.site.request.MarkingParam;
 import com.fdkankan.site.request.MarkingSearchParam;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -28,4 +29,6 @@ public interface IMarkingService extends IService<Marking> {
     List<Marking> findByProjectIdAndNum(Integer projectId,String num);
 
     ResultData addOrUpdate(MarkingParam param,String token);
+
+    List<Map<Integer, Integer>> countMarkingStatus(MarkingSearchParam param);
 }

+ 19 - 9
src/main/java/com/fdkankan/site/service/impl/MarkingServiceImpl.java

@@ -89,18 +89,22 @@ public class MarkingServiceImpl extends ServiceImpl<IMarkingMapper, Marking> imp
         for (MarkingDTO record : page.getRecords()) {
             List<UserDTO> users = markingUserService.findByProjectIdAndMarkingId(record.getProjectId(), record.getMarkingId());
             record.setUsers(users);
-            ProjectTeam create = projectTeamService.findByUserIdAndProjectId(Integer.valueOf(record.getCreateBy()), record.getProjectId());
-            if (ObjectUtil.isNotNull(create)){
-                if (StrUtil.isNotEmpty(create.getNickName())){
-                    record.setLastCreateBy(create.getNickName());
+            if (ObjectUtil.isNotNull(record.getUpdateBy())){
+                ProjectTeam update = projectTeamService.findByUserIdAndProjectId(Integer.valueOf(record.getUpdateBy()), record.getProjectId());
+                if (ObjectUtil.isNotNull(update)){
+                    if (StrUtil.isNotEmpty(update.getNickName())){
+                        record.setLastUpdateBy(update.getNickName());
+                    }
                 }
-            }
-            ProjectTeam update = projectTeamService.findByUserIdAndProjectId(Integer.valueOf(record.getCreateBy()), record.getProjectId());
-            if (ObjectUtil.isNotNull(update)){
-                if (StrUtil.isNotEmpty(update.getNickName())){
-                    record.setLastUpdateBy(update.getNickName());
+            }else {
+                ProjectTeam create = projectTeamService.findByUserIdAndProjectId(Integer.valueOf(record.getCreateBy()), record.getProjectId());
+                if (ObjectUtil.isNotNull(create)){
+                    if (StrUtil.isNotEmpty(create.getNickName())){
+                        record.setLastCreateBy(create.getNickName());
+                    }
                 }
             }
+
         }
 
         return PageInfo.PageInfo(page);
@@ -189,4 +193,10 @@ public class MarkingServiceImpl extends ServiceImpl<IMarkingMapper, Marking> imp
         }
         return ResultData.ok(param);
     }
+
+    @Override
+    public List<Map<Integer, Integer>> countMarkingStatus(MarkingSearchParam param) {
+        List<Map<Integer, Integer>> maps = getBaseMapper().countMarkingStatus(param.getProjectId());
+        return maps;
+    }
 }

+ 30 - 0
src/main/resources/mapper/site/MarkingMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.site.mapper.IMarkingMapper">
+
+    <select id="countMarkingStatus" resultType="java.util.Map">
+
+
+
+
+        SELECT
+            0 markingStatus ,count(marking_id) count
+        FROM
+            t_marking
+        WHERE
+            tb_status = 0
+          AND (
+            project_id = ${projectId})
+        UNION ALL
+
+
+        SELECT
+            marking_status markingStatus,count(marking_id) count
+        FROM
+            t_marking
+        WHERE
+            tb_status = 0
+          AND (
+            project_id =  ${projectId}) GROUP BY marking_status
+    </select>
+</mapper>