Compare commits

..

2 Commits

Author SHA1 Message Date
wxr
583aa83a63 Merge branch 'test' of https://git.will-way.cn/zgty/zt-qms into test 2026-03-16 18:28:47 +08:00
wxr
44567add44 工段商检报告修改 2026-03-16 18:28:36 +08:00
9 changed files with 164 additions and 14 deletions

View File

@@ -87,10 +87,18 @@ public class BusinessSampleEntrustFileController implements BusinessControllerMa
@GetMapping("/page")
@Operation(summary = "获得委检登记附件业务分页")
@PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:query')")
public CommonResult<PageResult<BusinessSampleEntrustFileRespVO>> getBusinessSampleEntrustFilePage(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO) {
PageResult<BusinessSampleEntrustFileDO> pageResult = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSampleEntrustFileRespVO.class));
// @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:query')")
public CommonResult<PageResult<BusinessSampleEntrustFileExtendRespVO>> getBusinessSampleEntrustFilePage(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO) {
PageResult<BusinessSampleEntrustFileExtendRespVO> pageResult = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO);
return success(pageResult);
}
@GetMapping("/list")
@Operation(summary = "获得委检登记附件业务分页")
// @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:query')")
public CommonResult<List<BusinessSampleEntrustFileExtendRespVO>> getBusinessSampleEntrustFileList(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO) {
List<BusinessSampleEntrustFileExtendRespVO> 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<BusinessSampleEntrustFileDO> list = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO).getList();
List<BusinessSampleEntrustFileExtendRespVO> list = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "委检登记附件业务.xls", "数据", BusinessSampleEntrustFileRespVO.class,
BeanUtils.toBean(list, BusinessSampleEntrustFileRespVO.class));

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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<BusinessSampleEntrustFileDO> {
default PageResult<BusinessSampleEntrustFileDO> selectPage(BusinessSampleEntrustFilePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessSampleEntrustFileDO>()
default PageResult<BusinessSampleEntrustFileExtendRespVO> selectPage(BusinessSampleEntrustFilePageReqVO reqVO) {
return selectJoinPage(reqVO, BusinessSampleEntrustFileExtendRespVO.class, new MPJLambdaWrapperX<BusinessSampleEntrustFileDO>()
.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<BusinessSam
.orderByDesc(BusinessSampleEntrustFileDO::getId));
}
default List<BusinessSampleEntrustFileExtendRespVO> selectList(BusinessSampleEntrustFilePageReqVO reqVO) {
return selectJoinList(BusinessSampleEntrustFileExtendRespVO.class, new MPJLambdaWrapperX<BusinessSampleEntrustFileDO>()
.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<BusinessSam
* @return
*/
int physicalDeleteByBusinessSampleEntrustRegistrationId(@Param("businessSampleEntrustRegistrationId") Long businessSampleEntrustRegistrationId);
}

View File

@@ -774,6 +774,15 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
Long assayDepartmentId = entry.getKey();
List<BusinessAssayTaskDataDO> businessAssayTaskDataAssayDepartmentList = entry.getValue();
//获取当前分析任务的id
List<Long> 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<Long> configAssayMethodIdAssayDepartmentIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList());
List<String> 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, ","));//这里为方便后续生成报告

View File

@@ -57,6 +57,13 @@ public interface BusinessSampleEntrustFileService {
* @param pageReqVO 分页查询
* @return 委检登记附件业务分页
*/
PageResult<BusinessSampleEntrustFileDO> getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO);
PageResult<BusinessSampleEntrustFileExtendRespVO> getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO);
/**
* 获得委检登记附件业务列表
* @param pageReqVO
* @return
*/
List<BusinessSampleEntrustFileExtendRespVO> getBusinessSampleEntrustFileList(BusinessSampleEntrustFilePageReqVO pageReqVO);
}

View File

@@ -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;
@@ -28,6 +31,9 @@ import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
@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<BusinessSampleEntrustFileDO> getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO) {
return businessSampleEntrustFileMapper.selectPage(pageReqVO);
public PageResult<BusinessSampleEntrustFileExtendRespVO> getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO) {
PageResult<BusinessSampleEntrustFileExtendRespVO> pageResult = businessSampleEntrustFileMapper.selectPage(pageReqVO);
List<BusinessSampleEntrustFileExtendRespVO> list = pageResult.getList();
for (BusinessSampleEntrustFileExtendRespVO businessSampleEntrustFileExtendRespVO : list) {
CommonResult<FileRespDTO> 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<BusinessSampleEntrustFileExtendRespVO> getBusinessSampleEntrustFileList(BusinessSampleEntrustFilePageReqVO reqVO) {
List<BusinessSampleEntrustFileExtendRespVO> list = businessSampleEntrustFileMapper.selectList(reqVO);
for (BusinessSampleEntrustFileExtendRespVO businessSampleEntrustFileExtendRespVO : list) {
CommonResult<FileRespDTO> fileInfoResult = fileApi.getFileInfo(businessSampleEntrustFileExtendRespVO.getFileId());
FileRespDTO fileRespDTO = fileInfoResult.getCheckedData();
if (fileInfoResult.isSuccess() && fileRespDTO != null) {
businessSampleEntrustFileExtendRespVO.setUrl(fileRespDTO.getUrl());
businessSampleEntrustFileExtendRespVO.setPreviewUrl(fileRespDTO.getPreviewUrl());
}
}
return list;
}
}

View File

@@ -873,6 +873,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
List<BusinessAssayReportDataDO> assayReportDataList = jsonObject.getJSONArray("assayReportDataList").toJavaList(BusinessAssayReportDataDO.class);
List<String> 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"); //最大行数