yangys
2025-08-24 3951716dc9cea6bd34f9ff18c78a4bad7c6cfb57
工控网导出,限定工艺员自己 或者管理员
已修改5个文件
34 ■■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcProgramApprovedMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramApprovedService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramExportDncQueryVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));
    }
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>
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);
    }
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数组
     */
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,非管理员指定该id,只能查询自己的程序记录")
    private Long userId;
}