From 3951716dc9cea6bd34f9ff18c78a4bad7c6cfb57 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 24 八月 2025 18:44:43 +0800
Subject: [PATCH] 工控网导出,限定工艺员自己 或者管理员

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramApprovedMapper.xml           |    6 +++++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramApprovedService.java        |    2 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java       |    9 ---------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramExportDncQueryVO.java            |    3 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java |   14 +++++++++++++-
 5 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java
index 55ff76a..3bbe281 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java
@@ -13,7 +13,9 @@
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.UrlUtil;
+import org.springblade.mdm.commons.service.ParamService;
 import org.springblade.mdm.commons.vo.IdsVO;
 import org.springblade.mdm.program.service.NcProgramApprovedService;
 import org.springblade.mdm.program.service.NcProgramExportDNCService;
@@ -24,6 +26,7 @@
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
+import java.util.List;
 
 /**
  * 绋嬪簭娑夊瘑缃�-宸ユ帶缃戜氦鎹㈡帴鍙�
@@ -38,12 +41,21 @@
 @Slf4j
 public class NcProgramExportDNCController {
 
-	private final NcProgramService ncProgramService;
+	private final ParamService paramService;
 	private final NcProgramApprovedService ncProgramApprovedService;
 	private final NcProgramExportDNCService ncProgramExportDNCService;
 	@Operation(summary = "绋嬪簭瀵煎嚭DNC鍒嗛〉鏌ヨ", description = "鍒嗛〉鏌ヨ锛屼緵鐢ㄦ埛閫夋嫨鏁版嵁")
 	@GetMapping("/export-dnc-page")
 	public R<IPage<NcProgramExportDncPageVO>> page(NcProgramExportDncQueryVO query) {
+		String userRole = AuthUtil.getUserRole();//瑙掕壊鍒悕锛屽涓鑹查�楀彿鍒嗛殧
+		List<String> userRoleAliasList = Func.toStrList(",", userRole);
+
+		String managerRole = paramService.getProgramManagerRoleAlias();
+		if(!userRoleAliasList.contains(managerRole) && !AuthUtil.isAdministrator() && !AuthUtil.isAdmin()){
+			//闈炴暟鎺х鐞嗗憳瑙掕壊銆佺鐞嗗憳锛岄檺鍒舵湭鍙兘瀵煎嚭鑷繁鐨勭▼搴�
+			query.setUserId(AuthUtil.getUserId());
+		}
+
 		return R.data(ncProgramApprovedService.exportDncPageQuery(query));
 	}
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramApprovedMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramApprovedMapper.xml
index 2ed24c4..0db07b2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramApprovedMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramApprovedMapper.xml
@@ -11,7 +11,8 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
     <select id="exportDncPageQuery" resultType="org.springblade.mdm.program.vo.NcProgramExportDncPageVO">
-        select a.id,a.title,n.name,a.nc_node_id,n.process_no,n.process_edition,n.drawing_no,n.drawing_no_edition,n.process_name,a.create_time,a.update_time,u.name exporter from mdm_nc_program_approved a
+        select a.id,a.title,n.name,a.nc_node_id,n.process_no,n.process_edition,n.drawing_no,n.drawing_no_edition,n.process_name,a.create_time,a.update_time,u.name exporter
+        from mdm_nc_program_approved a
             inner join mdm_nc_node n on a.nc_node_id=n.id
             left join blade_user u on a.update_user=u.id
         <where>
@@ -26,6 +27,9 @@
             <if test="query.createTimeEnd!=null">
                 and a.create_time &lt;= #{query.createTimeEnd}
             </if>
+            <if test="query.userId!=null">
+                and a.programmer_id = #{query.userId}
+            </if>
         </where>
         order by a.create_time desc
     </select>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramApprovedService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramApprovedService.java
index f9248ef..655ee1f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramApprovedService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramApprovedService.java
@@ -14,6 +14,7 @@
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.oss.OssTemplate;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.flow.entity.ApproveRecord;
 import org.springblade.mdm.flow.service.ApproveRecordService;
@@ -62,6 +63,7 @@
 		if(query.getStatus() != NcProgramApproved.STATUS_EXPORTED){
 			query.setStatus(NcProgramApproved.STATUS_NOT_EXPORT);
 		}
+
 		return this.getBaseMapper().exportDncPageQuery(Condition.getPage(query),query);
 	}
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
index 8c25d7c..a3c8207 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -53,15 +53,6 @@
 
 
 	/**
-	 * 鍒嗛〉鏌ヨ
-	 * @param query 鏌ヨ鍙傛暟
-	 * @return
-	 */
-	public IPage<DncSendBackData> dncSendBackPageQuery(Query query) {
-		return this.getBaseMapper().dncSendBackpageQuery(Condition.getPage(query),query);
-	}
-
-	/**
 	 * 瀵煎嚭dnc鍘嬬缉鍖�
 	 * @param approvedIdArray 寰呭鍑哄鎵硅〃id鏁扮粍
 	 */
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramExportDncQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramExportDncQueryVO.java
index cc2d2d3..bc093ba 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramExportDncQueryVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramExportDncQueryVO.java
@@ -24,4 +24,7 @@
 
 	@Schema(description = "鐘舵�侊細2鏄凡瀵煎嚭锛堝凡鍔烇級")
 	private int status;
+
+	@Schema(description = "鐢ㄦ埛id,闈炵鐞嗗憳鎸囧畾璇d锛屽彧鑳芥煡璇㈣嚜宸辩殑绋嬪簭璁板綍")
+	private Long userId;
 }

--
Gitblit v1.9.3