Procházet zdrojové kódy

修复在建项目bug

JiangPengLi před 3 měsíci
rodič
revize
ac17c8cab0

+ 1 - 1
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml

@@ -347,7 +347,6 @@
             last_update_user_id AS lastUpdateUserId,
             last_update_user_name AS lastUpdateUserName,
             last_update_time AS lastUpdateTime,
-            logic_delete_flag AS logicDeleteFlag,
             status_lamp AS statusLamp,
             kind_nature AS kindNature
         from sub_info
@@ -558,6 +557,7 @@
     </select>
     <select id="selectNewestMonthReport" resultType="com.rtrh.projects.modules.projects.po.RptCont">
         SELECT
+            DISTINCT
             src.sub_id AS subId,src.content
         FROM
             sub_rpt_cont src

+ 2 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubRptContMapper.java

@@ -1,6 +1,7 @@
 package com.rtrh.projects.modules.projects.mapper;
 
 import com.rtrh.core.repository.mybatis.MyBatisRepository;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -15,4 +16,5 @@ public interface SubRptContMapper {
 
     List<Map<String,Object>>  pageQueryMonthWarnData(Map<String, Object> params);
 
+    String selectNewestMonthReportByIdAndKind(@Param("subId") String subId,@Param("kind") String kind);
 }

+ 14 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubRptContMapper.xml

@@ -71,4 +71,18 @@
         GROUP BY
             a.id
     </select>
+    <select id="selectNewestMonthReportByIdAndKind" resultType="java.lang.String">
+        SELECT
+            content
+        FROM
+            sub_rpt_cont
+        WHERE
+            logic_delete_flag = 0
+          AND sub_id = #{subId}
+          AND kind = #{kind}
+          AND content IS NOT NULL
+        ORDER BY
+            kj_month DESC
+            LIMIT 1
+    </select>
 </mapper>

+ 2 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubRptContService.java

@@ -167,4 +167,6 @@ public interface SubRptContService {
 	 * @return
 	 */
 	Page list(Page page, LoginUserVO loginUserVO, SubInfoQueryTzVO queryTzVO);
+
+    String selectNewestMonthReportByIdAndKind(String subId, String code);
 }

+ 4 - 7
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoServiceImpl.java

@@ -4879,13 +4879,10 @@ public class SubInfoServiceImpl implements SubInfoService {
     @Override
     public SubInfoGxj findById(String subId) {
         SubInfoGxj subInfo = subInfoMapper.findById(subId);
-        String hql = "FROM RptCont WHERE logicDeleteFlag = 0 AND subId = :subId AND kind = :kind AND content IS NOT NULL ORDER BY kjMonth DESC";
-        Query query = rptContDao.createQuery(hql);
-        query.setParameter("subId", subInfo.getSubId());
-        query.setParameter("kind", RptContKindEnum.MONTH.getCode());
-        query.setMaxResults(1);
-        Object result = query.uniqueResult();
-        Optional.ofNullable(result).map(o -> (RptCont) o).ifPresent(o -> subInfo.setProgress(o.getContent()));
+        if (Arrays.asList(SubInfoStatusEnum.ZJ.getCode(), SubInfoStatusEnum.TC.getCode()).contains(subInfo.getStatus())){
+            String content = subRptContService.selectNewestMonthReportByIdAndKind(subId, RptContKindEnum.MONTH.getCode());
+            subInfo.setProgress(content);
+        }
         subInduService.queryAll(null).stream()
                 .filter(e -> e.getCode().equals(subInfo.getIndusKind()))
                 .findFirst().ifPresent(e-> subInfo.setIndusName(e.getTitle()));

+ 6 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubRptContServiceImpl.java

@@ -1331,6 +1331,12 @@ public class SubRptContServiceImpl implements SubRptContService {
 		return page;
 	}
 
+	@Override
+	@TargetDataSource("secondary")
+	public String selectNewestMonthReportByIdAndKind(String subId, String kind) {
+		return subRptContMapper.selectNewestMonthReportByIdAndKind(subId, kind);
+	}
+
 	private StringBuffer buildSql(LoginUserVO loginUserVO, SubInfoQueryTzVO queryVO) {
 		StringBuffer sql = new StringBuffer();
 		if (StringUtil.isEmpty(queryVO.getYear())) {

+ 2 - 1
projects/src/main/java/com/rtrh/projects/web/controller/subject/api/SubInfoApiController.java

@@ -384,7 +384,8 @@ public class SubInfoApiController extends BaseController {
     public Message getById(@RequestBody SubInfoJsonGetVO getVO) {
         Message message = new Message();
         try {
-            SubInfoVO infoVO = subInfoService.getById(getVO.getId());
+            // SubInfoVO infoVO = subInfoService.getById(getVO.getId());
+            SubInfoGxj infoVO = subInfoService.findById(getVO.getId());
             message.setData(infoVO);
         } catch (Exception e) {
             logger.error("", e);