云
4 天以前 bd961491fb449a92e7c357376073e138f99c5a29
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java
@@ -122,6 +122,11 @@
    @ApiAccessLog(operateType = EXPORT)
    public void exportProjectTrackingWord(@RequestParam("id") Long id,
                                          HttpServletResponse response) throws IOException {
        throw new cn.iocoder.yudao.framework.common.exception.ServiceException(1_040_990_001, "跟踪表用印须先提交审批,请使用用印申请");
    }
    /** 仅供用印申请生成不可变快照。 */
    public byte[] createTrackingSnapshot(Long id) throws IOException {
        MesPdProjectDO project = projectService.getProject(id);
        if (project == null) {
            throw exception(PD_PROJECT_NOT_EXISTS);
@@ -141,13 +146,8 @@
        fields.put("remark", project.getRemark());
        var companyConfig = companyConfigService.getCompanyConfig();
        byte[] content = MesWmDocumentRenderer.renderProjectTracking(fields,
        return MesWmDocumentRenderer.renderProjectTracking(fields,
                companyConfig != null ? companyConfig.getCompanyName() : null);
        String filename = "项目跟踪表-" + project.getTaskCode() + ".docx";
        String encoded = URLEncoder.encode(filename, StandardCharsets.UTF_8).replace("+", "%20");
        response.setContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + encoded);
        response.getOutputStream().write(content);
    }
    private String resolveStatusName(Integer status) {