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