From 3585c4b63185b6e83ed6ed3a255e87c7853a3e48 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 21 七月 2026 10:02:18 +0800
Subject: [PATCH] 1.合格率统计逻辑调整;2.不合格处理:新增问题类型字段;3.对接企业微信配置调整;4.班次:新增删除排班操作
---
inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml | 3
ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java | 4
performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java | 12 ++
inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanVO.java | 2
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 2
inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml | 269 +++++++++++++++++++-------------------------
inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java | 6 +
performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java | 8 +
inspect-server/src/main/java/com/ruoyi/inspect/mapper/DataAnalysisMapper.java | 7 -
performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java | 2
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java | 2
11 files changed, 149 insertions(+), 168 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
index f62e320..4687bd5 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -54,7 +54,7 @@
//鑾峰彇妫�楠屼笅鍗曟暟鎹�
@ApiOperation(value = "鏌ヨ鍗曚綅妫�楠屽崟")
@GetMapping("/selectInsOrderParameter")
- public Result selectInsOrderParameter(Page page, SampleOrderDto sampleOrderDto) throws Exception {
+ public Result selectInsOrderParameter(Page page, SampleOrderDto sampleOrderDto) {
return Result.success(insOrderService.selectInsOrderParameter(page, sampleOrderDto));
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/DataAnalysisMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/DataAnalysisMapper.java
index e108c5d..844c5d1 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/DataAnalysisMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/DataAnalysisMapper.java
@@ -20,13 +20,6 @@
public interface DataAnalysisMapper {
/**
- * 鑾峰彇鏈懆鐨勭墿鏂欏睘鎬т俊鎭�
- *
- * @return
- */
- List<Map<String, Object>> getRawPassRateByBarChartByWeek(@Param("dto") DataAnalysisDto dataAnalysisDto);
-
- /**
* 鑾峰彇鏈湀鐨勭墿鏂欏睘鎬т俊鎭�
*
* @return
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java
index 4e5d574..97f4be4 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java
@@ -146,4 +146,10 @@
@ApiModelProperty("鍒嗙粍id")
private String groupId;
+ /**
+ * 闂绫诲瀷
+ */
+ @ApiModelProperty("闂绫诲瀷")
+ private String issueType;
+
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanVO.java
index 52d942c..a53a419 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanVO.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanVO.java
@@ -34,7 +34,7 @@
private String orderType;
@ApiModelProperty("鐘舵��")
- private String insState;
+ private Integer insState;
@ApiModelProperty("妫�楠屼汉")
private String userName;
diff --git a/inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml b/inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
index d0b90ba..aaec27f 100644
--- a/inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
+++ b/inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
@@ -2,66 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ruoyi.inspect.mapper.DataAnalysisMapper">
- <!-- 鑾峰彇鏈懆鐨勭墿鏂欏睘鎬т俊鎭� -->
- <select id="getRawPassRateByBarChartByWeek" resultType="java.util.Map">
- WITH RECURSIVE AllWeeks AS (
- SELECT 1 AS week
- UNION ALL
- SELECT week + 1 FROM AllWeeks WHERE week < 7
- )
- SELECT
- COALESCE(sub.qualified, 0) AS qualified,
- COALESCE(sub.unQualified, 0) AS unQualified,
- CASE am.week
- WHEN 1 THEN '鏄熸湡鏃�'
- WHEN 2 THEN '鏄熸湡涓�'
- WHEN 3 THEN '鏄熸湡浜�'
- WHEN 4 THEN '鏄熸湡涓�'
- WHEN 5 THEN '鏄熸湡鍥�'
- WHEN 6 THEN '鏄熸湡浜�'
- WHEN 7 THEN '鏄熸湡鍏�'
- END AS searchTime
- FROM AllWeeks am
- LEFT JOIN (
- SELECT
- DAYOFWEEK(io1.send_time) AS week,
- SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) AS qualified,
- SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unQualified
- FROM ifs_inventory_quantity iiq
- INNER JOIN ins_order io1
- ON io1.ifs_inventory_id = iiq.id
- LEFT JOIN (
- SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
- FROM ins_sample
- GROUP BY ins_order_id
- ) ins ON ins.ins_order_id = io1.id
- WHERE
- iiq.is_finish = 1
- AND iiq.inspect_status IN (1, 2,4)
- AND io1.order_type = #{dto.orderType}
- AND io1.state != -1
- AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
-
- <if test="dto.materialProp != null and dto.materialProp.trim() != ''">
- AND IFNULL(iiq.material_prop,'') LIKE CONCAT('%',#{dto.materialProp},'%')
- </if>
- <if test="dto.sampleName != null and dto.sampleName.trim() != ''">
- AND IFNULL(ins.sample,'') LIKE CONCAT('%',#{dto.sampleName},'%')
- </if>
- <if test="dto.modelName != null and dto.modelName.trim() != ''">
- AND IFNULL(ins.model,'') LIKE CONCAT('%',#{dto.modelName},'%')
- </if>
- <if test="dto.supplierName != null and dto.supplierName.trim() != ''">
- AND IFNULL(iiq.supplier_name,'') LIKE CONCAT('%',#{dto.supplierName},'%')
- </if>
-
- GROUP BY DAYOFWEEK(io1.send_time)
- ) sub ON am.week = sub.week
- ORDER BY am.week
-
- </select>
-
-
<!-- 鑾峰彇鏈湀鐨勭墿鏂欏睘鎬т俊鎭� -->
<!-- 鑾峰彇鏈湀鐨勭墿鏂欏睘鎬т俊鎭紙鎸夊ぉ锛岃ˉ鍏ㄦ棩鏈燂級 -->
<select id="getRawPassRateByBarChartByDay" resultType="java.util.Map">
@@ -83,23 +23,27 @@
FROM AllDays ad
LEFT JOIN (
SELECT
- DATE(io1.send_time) AS day,
+ DATE(report_time) AS day,
COUNT(*) AS total,
- SUM(CASE WHEN iiq.inspect_status = 1 and (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
- SUM(CASE WHEN iiq.inspect_status != 1 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
+ SUM(CASE WHEN inspect_status = 1 and (iuh_id is null) THEN 1 ELSE 0 END) AS qualified,
+ SUM(CASE WHEN inspect_status != 1 or (iuh_id is not null) THEN 1 ELSE 0 END) AS unQualified
+ FROM (SELECT
+ IFNULL(iuh.feedback_time,io1.send_time) report_time,
+ iuh.id AS iuh_id,
+ iiq.inspect_status
FROM ifs_inventory_quantity iiq
LEFT JOIN ins_order io1
ON io1.ifs_inventory_id = iiq.id
AND io1.order_type = #{dto.orderType}
AND io1.state != -1
- AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
LEFT JOIN (
- SELECT
- MAX(iuh.id) AS id,
- iuh.inventory_quantity_id
- FROM ins_unqualified_handler iuh
- WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
- GROUP BY iuh.inventory_quantity_id
+ SELECT
+ MAX(iuh.id) AS id,
+ iuh.inventory_quantity_id,
+ iuh.feedback_time
+ FROM ins_unqualified_handler iuh
+ WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
+ GROUP BY iuh.inventory_quantity_id
) iuh ON iiq.id = iuh.inventory_quantity_id
LEFT JOIN (
SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
@@ -109,9 +53,9 @@
WHERE
iiq.is_finish = 1
AND iiq.inspect_status IN (1,2,4)
-
+ AND IFNULL(iuh.feedback_time,io1.send_time) BETWEEN #{dto.beginDate} AND #{dto.endDate}
<if test="dto.materialProp != null and dto.materialProp != ''">
- AND IFNULL(iiq.material_prop,'') LIKE CONCAT('%',#{dto.materialProp},'%')
+ AND iiq.material_prop = #{dto.materialProp}
</if>
<if test="dto.sampleName != null and dto.sampleName != ''">
AND IFNULL(ins.sample,'') LIKE CONCAT('%',#{dto.sampleName},'%')
@@ -123,9 +67,9 @@
AND IFNULL(iiq.supplier_name,'') LIKE CONCAT('%',#{dto.supplierName},'%')
</if>
<if test="dto.contract != null and dto.contract != ''">
- AND IFNULL(iiq.contract,'') = #{dto.contract}
- </if>
- GROUP BY DATE(io1.send_time)
+ AND iiq.contract = #{dto.contract}
+ </if>)temp
+ GROUP BY day
) sub ON ad.day = sub.day
ORDER BY ad.day
</select>
@@ -165,23 +109,28 @@
FROM AllMonths am
LEFT JOIN (
SELECT
- MONTH(io1.send_time) AS month,
- COUNT(*) AS total,
- SUM(CASE WHEN iiq.inspect_status = 1 and (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
- SUM(CASE WHEN iiq.inspect_status != 1 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
+ MONTH(report_time) AS month,
+ COUNT(*) AS total,
+ SUM(CASE WHEN inspect_status = 1 and (iuh_id is null) THEN 1 ELSE 0 END) AS qualified,
+ SUM(CASE WHEN inspect_status != 1 or (iuh_id is not null) THEN 1 ELSE 0 END) AS unQualified
+ FROM (
+ SELECT
+ IFNULL(iuh.feedback_time,io1.send_time) report_time,
+ iuh.id AS iuh_id,
+ iiq.inspect_status
FROM ifs_inventory_quantity iiq
LEFT JOIN ins_order io1
ON io1.ifs_inventory_id = iiq.id
AND io1.order_type = #{dto.orderType}
AND io1.state != -1
- AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
LEFT JOIN (
- SELECT
- MAX(iuh.id) AS id,
- iuh.inventory_quantity_id
- FROM ins_unqualified_handler iuh
- WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
- GROUP BY iuh.inventory_quantity_id
+ SELECT
+ MAX(iuh.id) AS id,
+ iuh.inventory_quantity_id,
+ iuh.feedback_time
+ FROM ins_unqualified_handler iuh
+ WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
+ GROUP BY iuh.inventory_quantity_id
) iuh ON iiq.id = iuh.inventory_quantity_id
LEFT JOIN (
SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
@@ -191,9 +140,10 @@
WHERE
iiq.is_finish = 1
AND iiq.inspect_status IN (1,2,4)
+ AND IFNULL(iuh.feedback_time,io1.send_time) BETWEEN #{dto.beginDate} AND #{dto.endDate}
<if test="dto.materialProp != null and dto.materialProp != ''">
- AND IFNULL(iiq.material_prop,'') LIKE CONCAT('%',#{dto.materialProp},'%')
+ AND iiq.material_prop = #{dto.materialProp}
</if>
<if test="dto.sampleName != null and dto.sampleName != ''">
AND IFNULL(ins.sample,'') LIKE CONCAT('%',#{dto.sampleName},'%')
@@ -205,9 +155,9 @@
AND IFNULL(iiq.supplier_name,'') LIKE CONCAT('%',#{dto.supplierName},'%')
</if>
<if test="dto.contract != null and dto.contract != ''">
- AND IFNULL(iiq.contract,'') = #{dto.contract}
- </if>
- GROUP BY MONTH(io1.send_time)
+ AND iiq.contract = #{dto.contract}
+ </if>)temp
+ GROUP BY month
) sub ON am.month = sub.month
ORDER BY am.month
</select>
@@ -216,21 +166,26 @@
<!-- 鏌ョ湅鐗╂枡灞炴�чゼ鐘跺浘 -->
<select id="getRawPassRateByCake" resultType="java.util.Map">
SELECT
- COUNT(*) AS sum,
- /* 鍚堟牸 */
- SUM(CASE WHEN iiq.inspect_status = 1 and (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
- /* 涓嶅悎鏍� */
- SUM(CASE WHEN iiq.inspect_status != 1 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
+ COUNT(*) AS sum,
+ /* 鍚堟牸 */
+ SUM(CASE WHEN inspect_status = 1 and (iuh_id is null) THEN 1 ELSE 0 END) AS qualified,
+ /* 涓嶅悎鏍� */
+ SUM(CASE WHEN inspect_status != 1 or (iuh_id is not null) THEN 1 ELSE 0 END) AS unQualified
+ FROM (
+ SELECT
+ iiq.inspect_status,
+ iuh.id AS iuh_id
FROM ifs_inventory_quantity iiq
INNER JOIN ins_order io1
ON io1.ifs_inventory_id = iiq.id
LEFT JOIN (
- SELECT
- MAX(iuh.id) AS id,
- iuh.inventory_quantity_id
- FROM ins_unqualified_handler iuh
- WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
- GROUP BY iuh.inventory_quantity_id
+ SELECT
+ MAX(iuh.id) AS id,
+ iuh.inventory_quantity_id,
+ iuh.feedback_time
+ FROM ins_unqualified_handler iuh
+ WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
+ GROUP BY iuh.inventory_quantity_id
) iuh ON iiq.id = iuh.inventory_quantity_id
LEFT JOIN (
SELECT
@@ -246,10 +201,9 @@
AND iiq.inspect_status IN (1, 2,4)
AND io1.order_type = #{dto.orderType}
AND io1.state != -1
- AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
-
+ AND IFNULL(iuh.feedback_time,io1.send_time) BETWEEN #{dto.beginDate} AND #{dto.endDate}
<if test="dto.materialProp != null and dto.materialProp.trim() != ''">
- AND IFNULL(iiq.material_prop, '') LIKE CONCAT('%', #{dto.materialProp}, '%')
+ AND iiq.material_prop = #{dto.materialProp}
</if>
<if test="dto.sampleName != null and dto.sampleName.trim() != ''">
AND IFNULL(ins.sample, '') LIKE CONCAT('%', #{dto.sampleName}, '%')
@@ -261,66 +215,71 @@
AND IFNULL(iiq.supplier_name, '') LIKE CONCAT('%', #{dto.supplierName}, '%')
</if>
<if test="dto.contract != null and dto.contract != ''">
- AND IFNULL(iiq.contract,'') = #{dto.contract}
+ AND iiq.contract = #{dto.contract}
</if>
+ )temp
</select>
<select id="getMaterialPropTable" resultType="com.ruoyi.inspect.dto.MaterialPropTableDTO">
SELECT
- iiq.supplier_name AS supplierName,
- COUNT(iiq.id) AS totalBatch,
- SUM(CASE WHEN iiq.inspect_status != 1 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unqualifiedBatch,
- ROUND(SUM(CASE WHEN iiq.inspect_status = 1 and iuh.id is null THEN 1 ELSE 0 END) / COUNT(*)* 100, 2 ) AS passRate
- FROM ifs_inventory_quantity iiq
- INNER JOIN ins_order io1
- ON io1.ifs_inventory_id = iiq.id
- AND io1.order_type = #{dto.orderType}
- AND io1.state != -1
- AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
- LEFT JOIN (
+ supplier_name,
+ COUNT(id) AS totalBatch,
+ SUM(CASE WHEN inspect_status != 1 or (iuh_id is not null) THEN 1 ELSE 0 END) AS unqualifiedBatch,
+ ROUND(SUM(CASE WHEN inspect_status = 1 and iuh_id is null THEN 1 ELSE 0 END) / COUNT(*)* 100, 2 ) AS passRate
+ FROM
+ (
SELECT
- MAX(iuh.id) AS id,
- iuh.inventory_quantity_id
- FROM ins_unqualified_handler iuh
- WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
- GROUP BY iuh.inventory_quantity_id
- ) iuh ON iiq.id = iuh.inventory_quantity_id
- LEFT JOIN (
- SELECT
- ins_order_id,
- MAX(sample) AS sample,
- MAX(model) AS model
- FROM ins_sample
- GROUP BY ins_order_id
- ) ins ON ins.ins_order_id = io1.id
+ iiq.supplier_name,
+ iiq.id,
+ iuh.id AS iuh_id,
+ iiq.inspect_status
+ FROM ifs_inventory_quantity iiq
+ INNER JOIN ins_order io1
+ ON io1.ifs_inventory_id = iiq.id
+ AND io1.order_type = #{dto.orderType}
+ AND io1.state != -1
+ LEFT JOIN (
+ SELECT
+ MAX(iuh.id) AS id,
+ iuh.inventory_quantity_id,
+ iuh.feedback_time
+ FROM ins_unqualified_handler iuh
+ WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
+ GROUP BY iuh.inventory_quantity_id
+ ) iuh ON iiq.id = iuh.inventory_quantity_id
+ LEFT JOIN (
+ SELECT
+ ins_order_id,
+ MAX(sample) AS sample,
+ MAX(model) AS model
+ FROM ins_sample
+ GROUP BY ins_order_id
+ ) ins ON ins.ins_order_id = io1.id
+ WHERE
+ iiq.is_finish = 1
+ AND iiq.inspect_status IN (1,2,4)
+ AND IFNULL(iuh.feedback_time,io1.send_time) between #{dto.beginDate} and #{dto.endDate}
+ <if test="dto.materialProp != null and dto.materialProp != ''">
+ AND iiq.material_prop = #{dto.materialProp}
+ </if>
- WHERE
- iiq.is_finish = 1
- AND iiq.inspect_status IN (1,2,4)
+ <if test="dto.sampleName != null and dto.sampleName != ''">
+ AND IFNULL(ins.sample,'') LIKE CONCAT('%',#{dto.sampleName},'%')
+ </if>
- <if test="dto.materialProp != null and dto.materialProp != ''">
- AND IFNULL(iiq.material_prop,'') LIKE CONCAT('%',#{dto.materialProp},'%')
- </if>
+ <if test="dto.modelName != null and dto.modelName != ''">
+ AND IFNULL(ins.model,'') LIKE CONCAT('%',#{dto.modelName},'%')
+ </if>
- <if test="dto.sampleName != null and dto.sampleName != ''">
- AND IFNULL(ins.sample,'') LIKE CONCAT('%',#{dto.sampleName},'%')
- </if>
-
- <if test="dto.modelName != null and dto.modelName != ''">
- AND IFNULL(ins.model,'') LIKE CONCAT('%',#{dto.modelName},'%')
- </if>
-
- <if test="dto.supplierName != null and dto.supplierName != ''">
- AND IFNULL(iiq.supplier_name,'') LIKE CONCAT('%',#{dto.supplierName},'%')
- </if>
- <if test="dto.contract != null and dto.contract != ''">
- AND IFNULL(iiq.contract,'') = #{dto.contract}
- </if>
- GROUP BY
- iiq.supplier_name
-
- ORDER BY
- passRate DESC;
+ <if test="dto.supplierName != null and dto.supplierName != ''">
+ AND IFNULL(iiq.supplier_name,'') LIKE CONCAT('%',#{dto.supplierName},'%')
+ </if>
+ <if test="dto.contract != null and dto.contract != ''">
+ AND iiq.contract = #{dto.contract}
+ </if>
+ )temp
+ GROUP BY supplier_name
+ ORDER BY passRate DESC;
</select>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index eb6f9ec..6a6c748 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -248,7 +248,7 @@
AND io.send_time IS NOT NULL
<if test="materialProp != null and materialProp != ''">
- AND iiq.material_prop LIKE CONCAT('%', #{materialProp}, '%')
+ AND iiq.material_prop = #{materialProp}
</if>
<if test="sonLaboratory != null and sonLaboratory != ''">
diff --git a/inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml b/inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml
index e1edf4c..ac9e08d 100644
--- a/inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml
@@ -96,7 +96,8 @@
iuh.ins_order_id,
iuh.is_old_data,
iuh.group_id,
- coa.operation
+ coa.operation,
+ iuh.issue_type
from
ins_unqualified_handler iuh
inner join
diff --git a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
index 2fa075f..6e7e4fd 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/controller/PerformanceShiftController.java
@@ -9,6 +9,7 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -76,4 +77,11 @@
performanceShiftService.exportToExcel(time,userName,laboratory,isMonth,response);
}
+ @ApiOperation(value = "鍒犻櫎鎺掔彮鏁版嵁")
+ @DeleteMapping("delShift")
+ @PreAuthorize("@ss.hasPermi('performance:class:del')")
+ public Result<?> delShift(@RequestBody PerformanceShiftAddDto performanceShiftAddDto) {
+ return Result.success(performanceShiftService.delShift(performanceShiftAddDto));
+ }
+
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java b/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
index f15edb5..1eafc0e 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/PerformanceShiftService.java
@@ -33,4 +33,6 @@
boolean editAnnotationText(PerformanceShift performanceShift);
void exportToExcel(LocalDateTime time, String userName, String laboratory, Boolean isMonth, HttpServletResponse response);
+
+ boolean delShift(PerformanceShiftAddDto performanceShiftAddDto);
}
diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
index 64228e2..3c35cf9 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/PerformanceShiftServiceImpl.java
@@ -457,6 +457,18 @@
}
}
+ @Override
+ public boolean delShift(PerformanceShiftAddDto performanceShiftAddDto) {
+ if(ObjectUtils.isEmpty(performanceShiftAddDto)){
+ throw new RuntimeException("浼犲叆鍙傛暟涓嶈兘涓虹┖");
+ }
+ int deleted = baseMapper.delete(Wrappers.<PerformanceShift>lambdaQuery()
+ .in(PerformanceShift::getUserId, performanceShiftAddDto.getUserIdList())
+ .between(PerformanceShift::getWorkTime, performanceShiftAddDto.getStartTime(), performanceShiftAddDto.getEndTime())
+ );
+ return deleted>0;
+ }
+
private InputStream buildPerformanceShiftTemplate(List<LocalDate> attendanceDateList,Boolean isMonth) throws IOException {
String templateName = "/static/performance_shift_month_template.xlsx";
if(!isMonth){
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java
index 32266bf..5d9d371 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/WxCpUtils.java
@@ -23,8 +23,8 @@
public class WxCpUtils {
public static final String CORP_ID = "wwa423654b975441ac";
- public static final String CORP_SECRET = "snXq8qwA5tGu0YN1PlSDQqr6u9x3A0c_jQDmt8CN8Vs";
- public static final Integer AGENT_ID = 1000515;
+ public static final String CORP_SECRET = "jqifSrLWjVJqBpszh0LawP3RFYwbfz46Cm0o0HF0N4I";
+ public static final Integer AGENT_ID = 1000828;
/**
* @param user 渚嬶細ZT-033268|ZT-028629锛屽涓腑闂寸敤|闅斿紑
--
Gitblit v1.9.3