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