From 44567add441809de552a2a649bd736d57a4297d1 Mon Sep 17 00:00:00 2001 From: wxr Date: Mon, 16 Mar 2026 18:28:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E6=AE=B5=E5=95=86=E6=A3=80=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusinessSampleEntrustFileController.java | 18 +++++-- ...BusinessSampleEntrustFileExtendRespVO.java | 19 +++++++ .../vo/BusinessSampleEntrustFileRespVO.java | 2 + .../BusinessSampleEntrustFileMapper.java | 29 +++++++++- .../SampleEntrustGenSampleDataCmp.java | 11 +++- .../BusinessSampleEntrustFileService.java | 9 +++- .../BusinessSampleEntrustFileServiceImpl.java | 34 +++++++++++- .../SampleDeptEntrustDocAuditServiceImpl.java | 53 ++++++++++++++++++- .../ReportDocumentDataServiceImpl.java | 3 +- 9 files changed, 164 insertions(+), 14 deletions(-) create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileExtendRespVO.java diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustFileController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustFileController.java index 167c1db2..14122881 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustFileController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustFileController.java @@ -87,10 +87,18 @@ public class BusinessSampleEntrustFileController implements BusinessControllerMa @GetMapping("/page") @Operation(summary = "获得委检登记附件业务分页") - @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:query')") - public CommonResult> getBusinessSampleEntrustFilePage(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO) { - PageResult pageResult = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, BusinessSampleEntrustFileRespVO.class)); +// @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:query')") + public CommonResult> getBusinessSampleEntrustFilePage(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO) { + PageResult pageResult = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/list") + @Operation(summary = "获得委检登记附件业务分页") +// @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:query')") + public CommonResult> getBusinessSampleEntrustFileList(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO) { + List listResult = businessSampleEntrustFileService.getBusinessSampleEntrustFileList(pageReqVO); + return success(listResult); } @GetMapping("/export-excel") @@ -100,7 +108,7 @@ public class BusinessSampleEntrustFileController implements BusinessControllerMa public void exportBusinessSampleEntrustFileExcel(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO).getList(); + List list = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "委检登记附件业务.xls", "数据", BusinessSampleEntrustFileRespVO.class, BeanUtils.toBean(list, BusinessSampleEntrustFileRespVO.class)); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileExtendRespVO.java new file mode 100644 index 00000000..3e2c3f6b --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileExtendRespVO.java @@ -0,0 +1,19 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class BusinessSampleEntrustFileExtendRespVO extends BusinessSampleEntrustFileRespVO { + + private String entrustNumber; + + private String entrustUnit; + + @Schema(description = "文件 URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/zt.jpg") + private String url; + + // 附件预览地址 + @Schema(description = "附件预览地址", example = "https://www.iocoder.cn/zt.jpg") + private String previewUrl; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileRespVO.java index 265060c2..f2cddc22 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileRespVO.java @@ -6,6 +6,7 @@ import java.util.*; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*; +import com.zt.plat.module.qms.core.aspect.annotation.Dict; @Schema(description = "管理后台 - 委检登记附件业务 Response VO") @Data @@ -24,6 +25,7 @@ public class BusinessSampleEntrustFileRespVO { @ExcelProperty("检验委托登记分析部门ID") private Long businessSampleEntrustDepartmentId; + @Dict(dicCode = "file_attachment_category") @Schema(description = "附件分类,(委检登记上传/分析原始记录/报告记录)") @ExcelProperty("附件分类,(委检登记上传/分析原始记录/报告记录)") private String fileCategory; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.java index 9f3c77ec..cda59398 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.java @@ -4,8 +4,10 @@ import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustFileDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -18,8 +20,12 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface BusinessSampleEntrustFileMapper extends BaseMapperX { - default PageResult selectPage(BusinessSampleEntrustFilePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() + default PageResult selectPage(BusinessSampleEntrustFilePageReqVO reqVO) { + return selectJoinPage(reqVO, BusinessSampleEntrustFileExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessSampleEntrustRegistrationDO.class, BusinessSampleEntrustRegistrationDO::getId, BusinessSampleEntrustFileDO::getBusinessSampleEntrustRegistrationId) + .selectAll(BusinessSampleEntrustFileDO.class) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustNumber, BusinessSampleEntrustFileExtendRespVO::getEntrustNumber) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustUnit, BusinessSampleEntrustFileExtendRespVO::getEntrustUnit) .eqIfPresent(BusinessSampleEntrustFileDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId()) .eqIfPresent(BusinessSampleEntrustFileDO::getBusinessSampleEntrustDepartmentId, reqVO.getBusinessSampleEntrustDepartmentId()) .eqIfPresent(BusinessSampleEntrustFileDO::getFileCategory, reqVO.getFileCategory()) @@ -32,6 +38,24 @@ public interface BusinessSampleEntrustFileMapper extends BaseMapperX selectList(BusinessSampleEntrustFilePageReqVO reqVO) { + return selectJoinList(BusinessSampleEntrustFileExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessSampleEntrustRegistrationDO.class, BusinessSampleEntrustRegistrationDO::getId, BusinessSampleEntrustFileDO::getBusinessSampleEntrustRegistrationId) + .selectAll(BusinessSampleEntrustFileDO.class) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustNumber, BusinessSampleEntrustFileExtendRespVO::getEntrustNumber) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustUnit, BusinessSampleEntrustFileExtendRespVO::getEntrustUnit) + .eqIfPresent(BusinessSampleEntrustFileDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId()) + .eqIfPresent(BusinessSampleEntrustFileDO::getBusinessSampleEntrustDepartmentId, reqVO.getBusinessSampleEntrustDepartmentId()) + .eqIfPresent(BusinessSampleEntrustFileDO::getFileCategory, reqVO.getFileCategory()) + .eqIfPresent(BusinessSampleEntrustFileDO::getFileId, reqVO.getFileId()) + .likeIfPresent(BusinessSampleEntrustFileDO::getFileName, reqVO.getFileName()) + .eqIfPresent(BusinessSampleEntrustFileDO::getFilePath, reqVO.getFilePath()) + .eqIfPresent(BusinessSampleEntrustFileDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessSampleEntrustFileDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessSampleEntrustFileDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessSampleEntrustFileDO::getId)); + } + /** * 物理批量删除删除 * @param idList @@ -46,4 +70,5 @@ public interface BusinessSampleEntrustFileMapper extends BaseMapperX businessAssayTaskDataAssayDepartmentList = entry.getValue(); + //获取当前分析任务的id + List businessAssayTaskDataAssayDepartmentIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getId()).collect(Collectors.toList()); + + //统计检测项目是上报的或者配料上报的数量 + long usageCount = businessAssayProjectDataDOList.stream().filter(f -> businessAssayTaskDataAssayDepartmentIdList.contains(f.getBusinessAssayTaskDataId()) && (QmsCommonConstant.ASSAY_PROJECT_USAGE_REPORT.equals(f.getUsage()) || QmsCommonConstant.ASSAY_PROJECT_USAGE_INGREDIENT_REPORT.equals(f.getUsage()))).count(); + if (usageCount <= 0) {//如果没有上报检测项目,则跳出当前循环 + continue; + } + BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO = new BusinessSampleEntrustDepartmentDO(); businessSampleEntrustDepartmentDO.setId(IdWorker.getId()); businessSampleEntrustDepartmentDO.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId()); @@ -797,7 +806,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { List configAssayMethodIdAssayDepartmentIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); List assayProjectUnitList = new ArrayList<>(); for (String assayProject : assayProjectList) { - ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO = configAssayMethodProjectList.stream().filter(f -> configAssayMethodIdAssayDepartmentIdList.contains(f.getConfigAssayMethodId()) && assayProject.equals(f.getSimpleName())).findFirst().orElse(null); + ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO = configAssayMethodProjectList.stream().filter(f -> configAssayMethodIdAssayDepartmentIdList.contains(f.getConfigAssayMethodId()) && assayProject.equals(f.getShowName())).findFirst().orElse(null); assayProjectUnitList.add(configAssayMethodProjectExtendRespVO.getSimpleName() + "("+configAssayMethodProjectExtendRespVO.getDictionaryProjectUnit()+")"); } businessSampleEntrustDepartmentDO.setAssayProjectUnit(CollUtil.join(assayProjectUnitList, ","));//这里为方便后续生成报告 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileService.java index 3f5fc82d..69c6ec75 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileService.java @@ -57,6 +57,13 @@ public interface BusinessSampleEntrustFileService { * @param pageReqVO 分页查询 * @return 委检登记附件业务分页 */ - PageResult getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO); + PageResult getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO); + + /** + * 获得委检登记附件业务列表 + * @param pageReqVO + * @return + */ + List getBusinessSampleEntrustFileList(BusinessSampleEntrustFilePageReqVO pageReqVO); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileServiceImpl.java index 75e82e7a..f1f89274 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileServiceImpl.java @@ -8,8 +8,11 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; import com.zt.plat.framework.common.pojo.PageResult; +import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.PageParam; import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.module.infra.api.file.FileApi; +import com.zt.plat.module.infra.api.file.dto.FileRespDTO; import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustFileDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustFileMapper; @@ -27,6 +30,9 @@ import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; @Service @Validated public class BusinessSampleEntrustFileServiceImpl implements BusinessSampleEntrustFileService { + + @Resource + private FileApi fileApi; @Resource private BusinessSampleEntrustFileMapper businessSampleEntrustFileMapper; @@ -84,8 +90,32 @@ public class BusinessSampleEntrustFileServiceImpl implements BusinessSampleEntru } @Override - public PageResult getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO) { - return businessSampleEntrustFileMapper.selectPage(pageReqVO); + public PageResult getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO) { + PageResult pageResult = businessSampleEntrustFileMapper.selectPage(pageReqVO); + List list = pageResult.getList(); + for (BusinessSampleEntrustFileExtendRespVO businessSampleEntrustFileExtendRespVO : list) { + CommonResult fileInfoResult = fileApi.getFileInfo(businessSampleEntrustFileExtendRespVO.getFileId()); + FileRespDTO fileRespDTO = fileInfoResult.getCheckedData(); + if (fileInfoResult.isSuccess() && fileRespDTO != null) { + businessSampleEntrustFileExtendRespVO.setUrl(fileRespDTO.getUrl()); + businessSampleEntrustFileExtendRespVO.setPreviewUrl(fileRespDTO.getPreviewUrl()); + } + } + return pageResult; } + @Override + public List getBusinessSampleEntrustFileList(BusinessSampleEntrustFilePageReqVO reqVO) { + List list = businessSampleEntrustFileMapper.selectList(reqVO); + for (BusinessSampleEntrustFileExtendRespVO businessSampleEntrustFileExtendRespVO : list) { + CommonResult fileInfoResult = fileApi.getFileInfo(businessSampleEntrustFileExtendRespVO.getFileId()); + FileRespDTO fileRespDTO = fileInfoResult.getCheckedData(); + if (fileInfoResult.isSuccess() && fileRespDTO != null) { + businessSampleEntrustFileExtendRespVO.setUrl(fileRespDTO.getUrl()); + businessSampleEntrustFileExtendRespVO.setPreviewUrl(fileRespDTO.getPreviewUrl()); + } + } + return list; + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditServiceImpl.java index bc12cc66..2069ceb5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditServiceImpl.java @@ -11,6 +11,7 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +29,7 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportData import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleAssessmentProjectExtendRespVO; import com.zt.plat.module.qms.business.bus.controller.vo.DeptEntrustDocAuditParam; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDetailDO; @@ -36,6 +38,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustR import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustFileMapper; @@ -53,6 +56,7 @@ import com.zt.plat.module.qms.framework.gridreport.PdfHelper; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.http.HtmlUtil; import gridreport.jni.BinaryObject; import gridreport.jni.ExportType; @@ -79,6 +83,9 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo @Resource private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + @Resource + private BusinessAssayTaskMapper businessAssayTaskMapper; + @Resource private BusinessSubSampleAssessmentMapper businessSubSampleAssessmentMapper; @@ -128,8 +135,10 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo put("field", HtmlUtil.cleanHtmlTag(project)); }}); } - + // Set assayProjectAndUnitSet = new HashSet<>(); + + JSONObject formData = new JSONObject(); List> datas = new ArrayList<>(); @@ -167,6 +176,24 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo } datas.add(businessSampleEntrustDepartmentDetailDOMap); } + + Set assayOperatorSet = new HashSet<>(); + //查询任务 + List businessAssayTaskIdList = businessAssayTaskDataDOList.stream().map(m -> m.getBusinessAssayTaskId()).distinct().collect(Collectors.toList()); + List businessAssayTaskList = businessAssayTaskMapper.selectByIds(businessAssayTaskIdList); + for (BusinessAssayTaskDO businessAssayTaskDO : businessAssayTaskList) { + assayOperatorSet.add(businessAssayTaskDO.getAssayOperator()); + } + BusinessSampleEntrustRegistrationDO businessSampleEntrustRegistrationDO = businessSampleEntrustRegistrationMapper.selectById(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId()); + String sampleCategory = businessSampleEntrustRegistrationDO.getSampleCategory(); + String externalInfomation = businessSampleEntrustRegistrationDO.getExternalInfomation(); + if (StringUtils.isNotBlank(externalInfomation)) { + JSONObject extInfoJsonObject = JSONObject.parseObject(externalInfomation); + sampleCategory = extInfoJsonObject.getString("sampleCategory"); + } + formData.put("assayOperator", CollUtil.join(assayOperatorSet, "、")); + formData.put("sampleCategory", sampleCategory); + formData.put("entrustCode", businessSampleEntrustRegistrationDO.getEntrustNumber()); //查询报表数据 List businessAssayReportDataList = businessAssayReportDataMapper.selectExtendByBusinessBaseSampleIds(businessBaseSampleIdList); @@ -174,6 +201,8 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo resultJsonObject.put("columns", columns); resultJsonObject.put("datas", datas); resultJsonObject.put("assayProject", Arrays.asList(businessSampleEntrustDepartmentDO.getAssayProjectUnit().split(","))); +// resultJsonObject.put("assayOperator", CollUtil.join(assayOperatorSet, "、")); + resultJsonObject.put("formData", formData); resultJsonObject.put("businessAssayReportDataList", businessAssayReportDataList); return resultJsonObject; @@ -198,6 +227,12 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo List businessSampleEntrustFileDOList = new ArrayList<>(); BusinessSampleEntrustRegistrationDO businessSampleEntrustRegistrationDO = businessSampleEntrustRegistrationMapper.selectById(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId()); + String sampleCategory = businessSampleEntrustRegistrationDO.getSampleCategory(); + String externalInfomation = businessSampleEntrustRegistrationDO.getExternalInfomation(); + if (StringUtils.isNotBlank(externalInfomation)) { + JSONObject extInfoJsonObject = JSONObject.parseObject(externalInfomation); + sampleCategory = extInfoJsonObject.getString("sampleCategory"); + } //查询委托分析部门明细样品 List businessSampleEntrustDepartmentDetailDOList = businessSampleEntrustDepartmentDetailMapper.selectByBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentId); @@ -282,13 +317,27 @@ public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDo List businessAssayReportDataList = businessAssayReportDataMapper.selectExtendByBusinessBaseSampleIds(businessBaseSampleIdList); com.alibaba.fastjson.JSONObject jsonObjectParam = new com.alibaba.fastjson.JSONObject(); com.alibaba.fastjson.JSONObject signatureData = new com.alibaba.fastjson.JSONObject(); + signatureData.put("Activity_002", new HashMap(){ + private static final long serialVersionUID = -1530865046649241282L; + { + put("userName", businessSampleEntrustDepartmentDO.getReportOperator()); + put("signTime", DateUtil.formatLocalDateTime(businessSampleEntrustDepartmentDO.getReportTime())); + } + }); + com.alibaba.fastjson.JSONObject formData = new com.alibaba.fastjson.JSONObject(); + formData.put("assayOperator", businessSampleEntrustDepartmentDO.getAssayOperator()); + formData.put("sampleCategory", sampleCategory); + formData.put("entrustCode", businessSampleEntrustRegistrationDO.getEntrustNumber()); + jsonObjectParam.put("assayReportDataList", businessAssayReportDataList); jsonObjectParam.put("itemNameList", param.getAssayProject()); jsonObjectParam.put("signatureData", signatureData); + jsonObjectParam.put("formData", formData); CommonResult assembleByReportData = reportDocumentDataService.assembleByReportData(jsonObjectParam); byte[] reportPDF = null; try { - reportPDF = reportDocumentAssistService.generateReportPDF(assembleByReportData.getData(), businessSampleEntrustDepartmentDO.getDataTemplateId()); + byte[] docBytes = reportDocumentAssistService.generateReportPDF(assembleByReportData.getData(), businessSampleEntrustDepartmentDO.getDataTemplateId()); + reportPDF = PdfHelper.modifyDocInfo(docBytes, businessSampleEntrustRegistrationDO.getEntrustNumber() + "-" + businessSampleEntrustDepartmentDO.getAssayDepartmentName(), null, null, null, null, null); } catch (IOException e) { throw new ServiceException(1_032_100_000, businessSampleEntrustRegistrationDO.getEntrustNumber() + "-" + businessSampleEntrustDepartmentDO.getAssayDepartmentName() + "商检报告生成失败!"); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/service/ReportDocumentDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/service/ReportDocumentDataServiceImpl.java index 2e583a57..64539557 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/service/ReportDocumentDataServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/service/ReportDocumentDataServiceImpl.java @@ -873,6 +873,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService List assayReportDataList = jsonObject.getJSONArray("assayReportDataList").toJavaList(BusinessAssayReportDataDO.class); List itemNameList = jsonObject.getJSONArray("itemNameList").toJavaList(String.class); JSONObject signatureData = jsonObject.getJSONObject("signatureData"); + JSONObject formData = jsonObject.getJSONObject("formData"); if(assayReportDataList.isEmpty() || itemNameList.isEmpty()) return CommonResult.success(new JSONArray()); String pageFlag = "1"; @@ -890,7 +891,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService DictionaryBusinessRespVO dictConf = dictionaryBusinessService.getDataByDataKey("工段报告表单编辑模板参数").getData(); if(dictConf != null && !ObjectUtils.isEmpty(dictConf.getCustomConfig())) reportConfigStr = dictConf.getCustomConfig(); - ReportDocumentMainDO mainData = new ReportDocumentMainDO().builder().formData("").documentSignature(signatureData.toJSONString()).documentConfig("").build(); + ReportDocumentMainDO mainData = new ReportDocumentMainDO().builder().formData(formData.toJSONString()).documentSignature(signatureData.toJSONString()).documentConfig("").build(); JSONObject configJson = JSONObject.parseObject(reportConfigStr); String verticalFlag = configJson.getString("verticalFlag"); String maxRowCountStr = configJson.getString("maxRowCount"); //最大行数