From 647960c44d36b97263fee0325487f9dea8b24307 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期五, 30 十月 2026 16:32:18 +0800
Subject: [PATCH] feat(cnas,inspect): 客户满意度表单与年度汇总导出、委托单费用优惠维护

---
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java
index 9b3066f..49afc1e 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderRatesServiceImpl.java
@@ -1,15 +1,23 @@
 package com.ruoyi.inspect.service.impl;
 
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.inspect.dto.SampleOrderDto;
 import com.ruoyi.inspect.dto.TemplateRateDto;
 import com.ruoyi.inspect.mapper.InsOrderRatesMapper;
 import com.ruoyi.inspect.pojo.InsOrderRates;
 import com.ruoyi.inspect.service.InsOrderRatesService;
 import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.YearMonth;
+import java.time.format.DateTimeParseException;
 
 /**
  * 璁㈠崟璐圭敤琛�
@@ -21,14 +29,37 @@
 public class InsOrderRatesServiceImpl extends ServiceImpl<InsOrderRatesMapper, InsOrderRates> implements InsOrderRatesService {
 
     /**
-     * 鏌ヨ璁㈠崟璐圭敤鍒楄〃
+     * 鏌ヨ璁㈠崟璐圭敤鍒楄〃锛堝彲鎸夐�佹牱鏈堜唤鍖洪棿绛涢�夛級
      * @param page
      * @param sampleOrderDto
+     * @param startMonth 璧峰鏈堜唤 yyyy-MM
+     * @param endMonth 缁撴潫鏈堜唤 yyyy-MM
      * @return
      */
     @Override
-    public IPage<SampleOrderDto> selectInsOrderRates(Page page, SampleOrderDto sampleOrderDto) {
-        return baseMapper.selectInsOrderRates(page, QueryWrappers.queryWrappers(sampleOrderDto));
+    public IPage<SampleOrderDto> selectInsOrderRates(Page page, SampleOrderDto sampleOrderDto, String startMonth, String endMonth) {
+        QueryWrapper<SampleOrderDto> wrapper = QueryWrappers.queryWrappers(sampleOrderDto);
+        if (wrapper == null) {
+            wrapper = Wrappers.query();
+        }
+        if (StrUtil.isNotBlank(startMonth) || StrUtil.isNotBlank(endMonth)) {
+            try {
+                if (StrUtil.isNotBlank(startMonth)) {
+                    wrapper.ge("sample_date", YearMonth.parse(startMonth).atDay(1));
+                }
+                if (StrUtil.isNotBlank(endMonth)) {
+                    wrapper.le("sample_date", YearMonth.parse(endMonth).atEndOfMonth());
+                }
+            } catch (DateTimeParseException e) {
+                throw new ErrorException("閫佹牱鏃堕棿绛涢�夋牸寮忎笉姝g‘锛屽簲涓� yyyy-MM");
+            }
+        }
+        return baseMapper.selectInsOrderRates(page, wrapper);
+    }
+
+    @Override
+    public boolean updateOrderFee(Integer id, Integer isDiscount, BigDecimal discountAmount, String feeRemark) {
+        return baseMapper.updateOrderFee(id, isDiscount, discountAmount, feeRemark) > 0;
     }
 
     @Override

--
Gitblit v1.9.3