From 7c2c6a5e5b3d9f96aef3c67573aa62bbd9a3aa7f Mon Sep 17 00:00:00 2001
From: p-honggang.li <p-honggang.li@pcitc.com>
Date: 星期四, 11 九月 2025 10:48:18 +0800
Subject: [PATCH] 修改产品类型,单位工程条偶见查询问题

---
 src/main/resources/mapper/OrderInfoMapper.xml                        |    4 ++--
 src/main/java/com/webmanage/mapper/ReportResultSubmissionMapper.java |    3 ++-
 src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java   |   16 ++++++++--------
 src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java  |   12 ++++++------
 src/main/resources/mapper/ReportResultSubmissionMapper.xml           |   19 ++++++++++++++-----
 src/main/java/com/webmanage/dto/OrderQueryDTO.java                   |    5 ++++-
 6 files changed, 36 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/webmanage/dto/OrderQueryDTO.java b/src/main/java/com/webmanage/dto/OrderQueryDTO.java
index 99e896e..118c221 100644
--- a/src/main/java/com/webmanage/dto/OrderQueryDTO.java
+++ b/src/main/java/com/webmanage/dto/OrderQueryDTO.java
@@ -69,7 +69,10 @@
     private String industryId;
     
     @ApiModelProperty("鍗曚綅宸ョ▼ID")
-    private String unitProjectId;
+    private List<String> unitProjectId;
+
+    @ApiModelProperty("鍗曚綅宸ョ▼涓�绾D")
+    private List<String> importantDistrictId;
     
     @ApiModelProperty("浜у搧绫诲瀷ID")
     private String productTypeId;
diff --git a/src/main/java/com/webmanage/mapper/ReportResultSubmissionMapper.java b/src/main/java/com/webmanage/mapper/ReportResultSubmissionMapper.java
index 1fef68d..5085b88 100644
--- a/src/main/java/com/webmanage/mapper/ReportResultSubmissionMapper.java
+++ b/src/main/java/com/webmanage/mapper/ReportResultSubmissionMapper.java
@@ -23,7 +23,8 @@
      */
     List<String> selectProductIdsByConditions(
         @Param("industryId") String industryId,
-        @Param("unitProjectId") String unitProjectId,
+        @Param("unitProjectId") List<String> unitProjectId,
+        @Param("importantDistrictId") List<String> importantDistrictId,
         @Param("productTypeId") String productTypeId,
         @Param("productSubTypeId") String productSubTypeId
     );
diff --git a/src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java b/src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java
index 9db84be..1563f14 100644
--- a/src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java
+++ b/src/main/java/com/webmanage/service/impl/OrderInfoServiceImpl.java
@@ -256,10 +256,10 @@
     public PageResult<OrderDetailVO> getPendingApprovalOrderPageWithProductConditions(OrderQueryDTO queryDTO) {
         // 鏍规嵁浜у搧鏉′欢鏌ヨ浜у搧ID鍒楄〃
         List<String> productIds = null;
-        if (StringUtils.hasText(queryDTO.getIndustryId()) || StringUtils.hasText(queryDTO.getUnitProjectId()) ||
+        if (StringUtils.hasText(queryDTO.getIndustryId()) || queryDTO.getUnitProjectId() != null ||
             StringUtils.hasText(queryDTO.getProductTypeId()) || StringUtils.hasText(queryDTO.getProductSubTypeId())) {
             productIds = reportResultSubmissionMapper.selectProductIdsByConditions(
-                queryDTO.getIndustryId(), queryDTO.getUnitProjectId(), 
+                queryDTO.getIndustryId(), queryDTO.getUnitProjectId(), queryDTO.getImportantDistrictId(),
                 queryDTO.getProductTypeId(), queryDTO.getProductSubTypeId()
             );
             
@@ -353,10 +353,10 @@
 
         // 鏍规嵁浜у搧鏉′欢鏌ヨ浜у搧ID鍒楄〃
         List<String> productIds = null;
-        if (StringUtils.hasText(queryDTO.getIndustryId()) || StringUtils.hasText(queryDTO.getUnitProjectId()) ||
+        if (StringUtils.hasText(queryDTO.getIndustryId())  || queryDTO.getUnitProjectId() != null ||
             StringUtils.hasText(queryDTO.getProductTypeId()) || StringUtils.hasText(queryDTO.getProductSubTypeId())) {
             productIds = reportResultSubmissionMapper.selectProductIdsByConditions(
-                queryDTO.getIndustryId(), queryDTO.getUnitProjectId(), 
+                queryDTO.getIndustryId(), queryDTO.getUnitProjectId(), queryDTO.getImportantDistrictId(),
                 queryDTO.getProductTypeId(), queryDTO.getProductSubTypeId()
             );
             
@@ -420,10 +420,10 @@
 
         // 鏍规嵁浜у搧鏉′欢鏌ヨ浜у搧ID鍒楄〃
         List<String> productIds = null;
-        if (StringUtils.hasText(queryDTO.getIndustryId()) || StringUtils.hasText(queryDTO.getUnitProjectId()) ||
+        if (StringUtils.hasText(queryDTO.getIndustryId()) || queryDTO.getUnitProjectId()!= null ||
             StringUtils.hasText(queryDTO.getProductTypeId()) || StringUtils.hasText(queryDTO.getProductSubTypeId())) {
             productIds = reportResultSubmissionMapper.selectProductIdsByConditions(
-                queryDTO.getIndustryId(), queryDTO.getUnitProjectId(), 
+                queryDTO.getIndustryId(), queryDTO.getUnitProjectId(), queryDTO.getImportantDistrictId(),
                 queryDTO.getProductTypeId(), queryDTO.getProductSubTypeId()
             );
             
@@ -1003,9 +1003,9 @@
         // 鏍规嵁瀹℃壒缁撴灉璋冪敤鎻愪氦鎴栭┏鍥炴帴鍙�
         String comment = orderApprovalDTO.getApprovalResult().contains("椹冲洖") ? "瀹℃牳椹冲洖" : "瀹℃牳閫氳繃";
         if ("瀹℃牳椹冲洖".equals(comment)) {
-            rejectWorkflowTask(orderApprovalDTO.getTaskId(), String.valueOf(orderApprovalDTO.getApproverId()), comment);
+            rejectWorkflowTask(orderApprovalDTO.getTaskId(), String.valueOf(orderApprovalDTO.getApproverId()), orderApprovalDTO.getApprovalOpinion());
         } else {
-            completeWorkflowTask(orderApprovalDTO.getTaskId(), String.valueOf(orderApprovalDTO.getApproverId()), comment);
+            completeWorkflowTask(orderApprovalDTO.getTaskId(), String.valueOf(orderApprovalDTO.getApproverId()), orderApprovalDTO.getApprovalOpinion());
         }
 
         log.info("瀹℃壒璁板綍娣诲姞鎴愬姛锛岃鍗旾D: {}, 瀹℃壒绫诲瀷: {}, 瀹℃壒缁撴灉: {}, 瀹℃壒浜�: {}, 瀹℃壒鎰忚: {}", 
diff --git a/src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java b/src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java
index a75f266..c09eb66 100644
--- a/src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java
+++ b/src/main/java/com/webmanage/service/impl/PointsFlowServiceImpl.java
@@ -186,7 +186,7 @@
             checkDailyLimitByRule(userId, unitId, userRule, userPointsChange);
         }
         if (applyProvider && providerRule.getIsLimit() != null && providerRule.getIsLimit() == 1) {
-            checkDailyLimitByRule(providerId, providerId, providerRule, providerPointsChange);
+            checkDailyLimitByRule(providerId, null, providerRule, providerPointsChange);
         }
 
         // 浣欓鏍¢獙锛堜粎鍦ㄦ墸鍑忔椂锛�
@@ -359,7 +359,7 @@
                .eq("user_id", userId)
 //               .eq("data_category", pointsRule.getRuleName())
                 .eq("rule_id",pointsRule.getId())
-                .eq("data_type", 0)
+                // .eq("data_type", 0)
                .ge("flow_time", startOfDay)
                .le("flow_time", endOfDay);
         if(StringUtils.hasText(unitId)){
@@ -377,14 +377,14 @@
         Integer dailyLimit = pointsRule.getDailyLimit();
         if (dailyLimit != null && dailyLimit > 0) {
             // 濡傛灉浠婃棩绱绉垎瓒呰繃姣忔棩涓婇檺锛屽垯鎶涘嚭寮傚父
-            if (Math.abs(todayTotal) >= dailyLimit) {
+            if (Math.abs(todayTotal) > dailyLimit) {
                 throw new BusinessException("浠婃棩璇ヨ鍒欑Н鍒嗗凡杈句笂闄�: " + dailyLimit);
             }
             
             // 濡傛灉鍔犱笂褰撳墠绉垎浼氳秴杩囨瘡鏃ヤ笂闄愶紝鍒欐姏鍑哄紓甯�
-            if (Math.abs(todayTotal + currentPoints) > dailyLimit) {
-                throw new BusinessException("鏈绉垎鎿嶄綔灏嗚秴杩囨瘡鏃ヤ笂闄�: " + dailyLimit + "锛屽綋鍓嶅凡绱: " + Math.abs(todayTotal));
-            }
+//            if (Math.abs(todayTotal + currentPoints) > dailyLimit) {
+//                throw new BusinessException("鏈绉垎鎿嶄綔灏嗚秴杩囨瘡鏃ヤ笂闄�: " + dailyLimit + "锛屽綋鍓嶅凡绱: " + Math.abs(todayTotal));
+//            }
         }
     }
 
diff --git a/src/main/resources/mapper/OrderInfoMapper.xml b/src/main/resources/mapper/OrderInfoMapper.xml
index ed2ceb7..c4ad121 100644
--- a/src/main/resources/mapper/OrderInfoMapper.xml
+++ b/src/main/resources/mapper/OrderInfoMapper.xml
@@ -153,7 +153,7 @@
         <include refid="Base_Column_List"/>
         FROM tb_order_info
         WHERE deleted = 0
-        AND order_status IN ('寰呭鎵规巿鏉�','寰呮巿鏉�', '寰呬氦鏄撶‘璁�', '宸插畬鎴�', '宸插彇娑�')
+        AND order_status IN ('寰呭鎵规巿鏉�','寰呮巿鏉�', '寰呬氦鏄撶‘璁�', '宸插畬鎴�')
         <if test="orderStatus != null and orderStatus != ''">
             AND order_status = #{orderStatus}
         </if>
@@ -203,7 +203,7 @@
         <include refid="Base_Column_List"/>
         FROM tb_order_info
         WHERE deleted = 0
-        AND order_status IN ('寰呮巿鏉�', '寰呭鎵规巿鏉�', '寰呬氦鏄撶‘璁�', '宸插畬鎴�', '宸插彇娑�')
+        AND order_status IN ('寰呮巿鏉�', '寰呭鎵规巿鏉�', '寰呬氦鏄撶‘璁�', '宸插畬鎴�')
         <if test="orderStatus != null and orderStatus != ''">
             AND order_status = #{orderStatus}
         </if>
diff --git a/src/main/resources/mapper/ReportResultSubmissionMapper.xml b/src/main/resources/mapper/ReportResultSubmissionMapper.xml
index 447d8ef..9e1f1a9 100644
--- a/src/main/resources/mapper/ReportResultSubmissionMapper.xml
+++ b/src/main/resources/mapper/ReportResultSubmissionMapper.xml
@@ -5,16 +5,25 @@
     <!-- 鏍规嵁鏉′欢鏌ヨ浜у搧ID鍒楄〃 -->
     <select id="selectProductIdsByConditions" resultType="java.lang.String">
         SELECT id
-        FROM tb_report_result_submission
+        FROM tb_report_product_submission
         WHERE deleted = '0'
         <if test="industryId != null and industryId != ''">
-            AND industrial_chain_id = #{industryId}
+            AND #{industryId} = ANY ( STRING_TO_ARRAY( industrial_chain_id, ',' ) )
         </if>
-        <if test="unitProjectId != null and unitProjectId != ''">
-            AND important_area_id = #{unitProjectId}
+        <if test="unitProjectId != null and unitProjectId.size() > 0">
+            AND
+            <foreach collection="unitProjectId" item="importantAreaId" open="(" separator="OR" close=")">
+                #{importantAreaId} = ANY ( STRING_TO_ARRAY( important_area_id, ',' ) )
+            </foreach>
+        </if>
+        <if test="importantDistrictId != null and importantDistrictId.size() > 0">
+            AND
+            <foreach collection="importantDistrictId" item="importantDistrictId" open="(" separator="OR" close=")">
+                #{importantDistrictId} = ANY ( STRING_TO_ARRAY( important_district_id, ',' ) )
+            </foreach>
         </if>
         <if test="productTypeId != null and productTypeId != ''">
-            AND type_id = #{productTypeId}
+            AND technology_type_id = #{productTypeId}
         </if>
         <if test="productSubTypeId != null and productSubTypeId != ''">
             AND type_child_id = #{productSubTypeId}

--
Gitblit v1.8.0