From 1a38082352708692a339a8b43db79bc349be07f1 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 10 九月 2026 17:04:33 +0800
Subject: [PATCH] 【景宁】批量新增患者满意度调整
---
smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java | 50 +++++++++++++++++++++++++
smartor/src/main/java/com/smartor/service/IPatSatisfactionService.java | 8 ++++
smartor/src/main/java/com/smartor/domain/PatSatisfaction.java | 4 ++
smartor/src/main/resources/mapper/smartor/PatSatisfactionMapper.xml | 7 +++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSatisfactionController.java | 10 +----
5 files changed, 71 insertions(+), 8 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSatisfactionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSatisfactionController.java
index acac05a..544bf9d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSatisfactionController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatSatisfactionController.java
@@ -121,14 +121,8 @@
@Log(title = "鎮h�呮弧鎰忓害", businessType = BusinessType.INSERT)
@PostMapping("/batchinsert")
public AjaxResult batchinsert(@RequestBody List<PatSatisfaction> patSatisfaction) {
- LoginUser loginUser = getLoginUser();
- SysUser user = loginUser.getUser();
- for (PatSatisfaction patSatisfaction1 : patSatisfaction) {
- patSatisfaction1.setCreateBy(user.getNickName());
- patSatisfaction1.setOrgid(user.getOrgid());
- patSatisfactionService.insertPatSatisfaction(patSatisfaction1);
- }
- return toAjax(1);
+ Integer row = patSatisfactionService.batchInsert(patSatisfaction);
+ return toAjax(row);
}
/**
diff --git a/smartor/src/main/java/com/smartor/domain/PatSatisfaction.java b/smartor/src/main/java/com/smartor/domain/PatSatisfaction.java
index cc29281..775146a 100644
--- a/smartor/src/main/java/com/smartor/domain/PatSatisfaction.java
+++ b/smartor/src/main/java/com/smartor/domain/PatSatisfaction.java
@@ -8,6 +8,7 @@
import lombok.Data;
import java.util.Date;
+import java.util.List;
/**
* 鎮h�呮弧鎰忓害瀵硅薄 pat_satisfaction
@@ -155,6 +156,9 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
+ @ApiModelProperty(value = "涓婚敭Id闆嗗悎")
+ private List<Long> ids;
+
/**
* pageNum
*/
diff --git a/smartor/src/main/java/com/smartor/service/IPatSatisfactionService.java b/smartor/src/main/java/com/smartor/service/IPatSatisfactionService.java
index 413a9c6..9282b42 100644
--- a/smartor/src/main/java/com/smartor/service/IPatSatisfactionService.java
+++ b/smartor/src/main/java/com/smartor/service/IPatSatisfactionService.java
@@ -40,6 +40,14 @@
public int insertPatSatisfaction(PatSatisfaction patSatisfaction);
/**
+ * 鎵归噺鏂板鎮h�呮弧鎰忓害
+ *
+ * @param patSatisfactions 鎮h�呮弧鎰忓害
+ * @return 缁撴灉
+ */
+ public int batchInsert(List<PatSatisfaction> patSatisfactions);
+
+ /**
* 淇敼鎮h�呮弧鎰忓害
*
* @param patSatisfaction 鎮h�呮弧鎰忓害
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java
index 8fd54d1..fd6b774 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatSatisfactionServiceImpl.java
@@ -5,7 +5,11 @@
import java.util.*;
import java.util.stream.Collectors;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.SysUserDept;
+import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.Arith;
+import com.ruoyi.common.utils.ArrayListUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.smartor.domain.*;
@@ -19,6 +23,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.smartor.service.IPatSatisfactionService;
+
+import static com.ruoyi.common.utils.SecurityUtils.getLoginUser;
/**
* 鎮h�呮弧鎰忓害Service涓氬姟灞傚鐞�
@@ -101,6 +107,50 @@
}
/**
+ * 鏂板鎮h�呮弧鎰忓害
+ *
+ * @param patSatisfactions 鎮h�呮弧鎰忓害
+ * @return 缁撴灉
+ */
+ @Override
+ public int batchInsert(List<PatSatisfaction> patSatisfactions) {
+ if(CollectionUtils.isEmpty(patSatisfactions)){
+ return 0;
+ }
+ List<Long> ids = patSatisfactions.stream().map(PatSatisfaction::getId).
+ distinct().collect(Collectors.toList());
+ List<PatSatisfaction> patSatisfactionsOld = new ArrayList<>();
+ PatSatisfaction patSatisfactionVo = new PatSatisfaction();
+ patSatisfactionVo.setIds(ids);
+ patSatisfactionsOld = patSatisfactionMapper.selectPatSatisfactionList(patSatisfactionVo);
+ Map<String, List<PatSatisfaction>> maps = ArrayListUtils.splitListsById(patSatisfactions,
+ patSatisfactionsOld, PatSatisfaction::getId);
+ //鍙湪patSatisfactions鐨勬暟鎹紝鎵ц鏂板鎿嶄綔
+ List<PatSatisfaction> addItems = maps.get("onlyIn1");
+ //鍙湪patSatisfactionsOld鐨勬暟鎹紝鎵ц鍒犻櫎鎿嶄綔
+// List<PatSatisfaction> delItems = maps.get("onlyIn2");
+ //閲嶅彔鐨勬暟鎹紝鎵ц鏇存柊鎿嶄綔
+ List<PatSatisfaction> editItems = maps.get("common");
+ Integer count = 0;
+ LoginUser loginUser = getLoginUser();
+ SysUser user = loginUser.getUser();
+ for (PatSatisfaction patSatisfaction0 : editItems) {
+ patSatisfaction0.setUpdateBy(user.getNickName());
+ patSatisfaction0.setUpdateTime(DateUtils.getNowDate());
+ count = count + patSatisfactionMapper.updatePatSatisfaction(patSatisfaction0);
+ }
+
+ for (PatSatisfaction patSatisfaction1 : addItems) {
+ patSatisfaction1.setCreateBy(user.getNickName());
+ patSatisfaction1.setOrgid(user.getOrgid());
+ patSatisfaction1.setCreateTime(DateUtils.getNowDate());
+ patSatisfaction1.setUpdateTime(DateUtils.getNowDate());
+ count = count + patSatisfactionMapper.insertPatSatisfaction(patSatisfaction1);
+ }
+ return count;
+ }
+
+ /**
* 淇敼鎮h�呮弧鎰忓害
*
* @param patSatisfaction 鎮h�呮弧鎰忓害
diff --git a/smartor/src/main/resources/mapper/smartor/PatSatisfactionMapper.xml b/smartor/src/main/resources/mapper/smartor/PatSatisfactionMapper.xml
index 17eb494..21125bd 100644
--- a/smartor/src/main/resources/mapper/smartor/PatSatisfactionMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatSatisfactionMapper.xml
@@ -114,6 +114,13 @@
<if test="endTime != null">
AND date_format(update_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
</if>
+ <if test="ids != null and ids.size()>0">
+ AND id IN
+ <foreach collection="ids" item="idItem" open="(" separator=","
+ close=")">
+ #{idItem}
+ </foreach>
+ </if>
</select>
<select id="selectPatSatisfactionById" parameterType="Long"
--
Gitblit v1.9.3