From 165050015b3bc1a8a41eed7851d29e2e8d3db187 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期一, 07 四月 2025 17:33:48 +0800
Subject: [PATCH] 成品下单人员权限修改
---
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 23 ++++++++++-
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java | 2
ruoyi-system/src/main/resources/mapper/system/UserMapper.xml | 3 +
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 26 ++++++++++++-
inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java | 12 ++++++
5 files changed, 59 insertions(+), 7 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java
index 6e3acde..6bca881 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/SampleOrderDto.java
@@ -88,7 +88,19 @@
private String sampleStr;
+ /**
+ * 鏄惁鏄叏閮�
+ */
+ private String isOrderAll;
+ /**
+ * 鏄惁鏄楠屼汉鍛樻爣璁�
+ */
+ private Boolean checkUserFlag;
+ /**
+ * 妫�楠屼汉鍛�
+ */
+ private Long checkUserId;
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
index 449c56d..8482bd7 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -27,7 +27,7 @@
public interface InsOrderMapper extends BaseMapper<InsOrder> {
//鑾峰彇妫�楠屼笅鍗曟暟鎹�
- IPage<SampleOrderDto> selectInsOrderPage(@Param("page") IPage<InsOrder> page, @Param("ew") QueryWrapper<SampleOrderDto> ew, @Param("laboratory") String laboratory, @Param("isOrderAll") String isOrderAll);
+ IPage<SampleOrderDto> selectInsOrderPage(@Param("page") IPage<InsOrder> page, @Param("ew") QueryWrapper<SampleOrderDto> ew, @Param("otherParam") SampleOrderDto otherParam);
String getLaboratoryCode(@Param("name") String name);
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index 7b2c20d..868ba44 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -91,7 +91,8 @@
//鑾峰彇妫�楠屼笅鍗曟暟鎹�
@Override
public IPage<SampleOrderDto> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) {
- //todo: 鍙湅鎴戝垽鏂叏閮�,涓汉,缁勭粐鐨勬潈闄�
+ // TODO 閽堝浜哄憳鍋氭潈闄愬鐞� 鐩墠鍏堝妫�楠屼汉鍛樺仛鏁版嵁澶勭悊 濡傛灉鏄楠屼汉鍛樺彧鑳芥煡璇㈠埌妫�楠岄」鐩槸鑷繁鎴栬�呰鍗曞垎娲句汉鏄嚜宸辩殑璁㈠崟锛屼笉鏄楠屼汉鍛樼殑鏆傛椂鍏ㄦ煡
+ boolean checkUserFlag = isCheckUser(SecurityUtils.getUserId().intValue());
String laboratory = null;
// 鍒ゆ柇鏄惁鏄叏閮�
String isOrderAll = null;
@@ -99,7 +100,12 @@
isOrderAll = "1";
sampleOrderDto.setState(null);
}
- return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), laboratory, isOrderAll);
+ SampleOrderDto otherParam = new SampleOrderDto();
+ otherParam.setLaboratory(laboratory);
+ otherParam.setIsOrderAll(isOrderAll);
+ otherParam.setCheckUserFlag(checkUserFlag);
+ otherParam.setCheckUserId(SecurityUtils.getUserId());
+ return insOrderMapper.selectInsOrderPage(page, QueryWrappers.queryWrappers(sampleOrderDto), otherParam);
}
@@ -1032,6 +1038,22 @@
}
}
+
+ /**
+ * 鍒ゆ柇鏄惁涓烘楠屼汉鍛�
+ * @param userId
+ * @return
+ */
+ public boolean isCheckUser(Integer userId) {
+ List<User> userList = userMapper.selectQualityUserList();
+ for (User user : userList) {
+ if(userId.equals(user.getId())){
+ return true;
+ }
+ }
+ return false;
+ }
+
}
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index bc998cb..2fe9e71 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -96,11 +96,28 @@
GROUP BY ins_sample_id
ORDER BY ins_sample_id) isu ON isu.ins_sample_id = io.id
where (io.ifs_inventory_id IS NULL OR TRIM(io.ifs_inventory_id) = '')
- <if test="isOrderAll != null and isOrderAll != ''">
+ <if test="otherParam.isOrderAll != null and otherParam.isOrderAll != ''">
AND io.state in (1, 4)
</if>
- <if test="laboratory!=null and laboratory!=''">
- AND io.laboratory=#{laboratory}
+ <if test="otherParam.laboratory!=null and otherParam.laboratory!=''">
+ AND io.laboratory=#{otherParam.laboratory}
+ </if>
+ <if test="otherParam.checkUserFlag != null and otherParam.checkUserFlag and otherParam.checkUserId != null ">
+ AND io.id IN (
+ SELECT DISTINCT
+ ins_sample_id AS orderId
+ FROM
+ ins_sample_user
+ WHERE
+ user_id = #{otherParam.checkUserId} UNION
+ SELECT
+ T2.ins_order_id AS orderId
+ FROM
+ ins_product T1
+ JOIN ins_sample T2 ON T1.ins_sample_id = T2.id
+ WHERE
+ T1.check_user_id = #{otherParam.checkUserId}
+ )
</if>
GROUP BY io.id,type
order by type desc,io.id desc
diff --git a/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
index a75855c..8c743c8 100644
--- a/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
@@ -77,7 +77,8 @@
u1.name_en,
u1.depart_lims_id
from user u1
- WHERE u1.id IN (SELECT user_id FROM sys_user_role sur where sur.role_id not in (1, 15, 16, 17))
+ WHERE u1.id IN (SELECT user_id FROM sys_user_role sur where sur.role_id in (4))
+-- WHERE u1.id IN (SELECT user_id FROM sys_user_role sur where sur.role_id not in (1, 15, 16, 17))
and u1.status = '0'
</select>
--
Gitblit v1.9.3