Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
shusir
2026-01-26 09:03:02 +08:00
15 changed files with 341 additions and 226 deletions

37
pom.xml
View File

@@ -18,6 +18,9 @@
<properties> <properties>
<revision>3.0.47-SNAPSHOT</revision> <revision>3.0.47-SNAPSHOT</revision>
<!-- qms服务相关 -->
<zzjc.tio.version>3.9.1.v20251204-RELEASE</zzjc.tio.version>
<liteflow.version>2.15.3</liteflow.version>
<!-- Maven 相关 --> <!-- Maven 相关 -->
<java.version>17</java.version> <java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.source>${java.version}</maven.compiler.source>
@@ -41,6 +44,40 @@
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>
<!-- liteflow -->
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId>
<version>${liteflow.version}</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-javax-pro</artifactId>
<version>${liteflow.version}</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-groovy</artifactId>
<version>${liteflow.version}</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-qlexpress</artifactId>
<version>${liteflow.version}</version>
</dependency>
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-script-graaljs</artifactId>
<version>${liteflow.version}</version>
</dependency>
<!-- tio -->
<dependency>
<groupId>tech.zzjc.tio</groupId>
<artifactId>zzjc-tio-spring-boot-starter</artifactId>
<version>${zzjc.tio.version}</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>

View File

@@ -16,10 +16,7 @@
<description> <description>
QMS模块。 QMS模块。
</description> </description>
<properties>
<zzjc.tio.version>3.9.1.v20251204-RELEASE</zzjc.tio.version>
<liteflow.version>2.15.2</liteflow.version>
</properties>
<dependencies> <dependencies>
<!-- Spring Cloud 基础 --> <!-- Spring Cloud 基础 -->
<dependency> <dependency>
@@ -142,27 +139,22 @@
<dependency> <dependency>
<groupId>com.yomahub</groupId> <groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId> <artifactId>liteflow-spring-boot-starter</artifactId>
<version>${liteflow.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.yomahub</groupId> <groupId>com.yomahub</groupId>
<artifactId>liteflow-script-javax-pro</artifactId> <artifactId>liteflow-script-javax-pro</artifactId>
<version>${liteflow.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.yomahub</groupId> <groupId>com.yomahub</groupId>
<artifactId>liteflow-script-groovy</artifactId> <artifactId>liteflow-script-groovy</artifactId>
<version>${liteflow.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.yomahub</groupId> <groupId>com.yomahub</groupId>
<artifactId>liteflow-script-qlexpress</artifactId> <artifactId>liteflow-script-qlexpress</artifactId>
<version>${liteflow.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.yomahub</groupId> <groupId>com.yomahub</groupId>
<artifactId>liteflow-script-graaljs</artifactId> <artifactId>liteflow-script-graaljs</artifactId>
<version>${liteflow.version}</version>
</dependency> </dependency>
<!-- pdfbox --> <!-- pdfbox -->
@@ -199,7 +191,6 @@
<dependency> <dependency>
<groupId>tech.zzjc.tio</groupId> <groupId>tech.zzjc.tio</groupId>
<artifactId>zzjc-tio-spring-boot-starter</artifactId> <artifactId>zzjc-tio-spring-boot-starter</artifactId>
<version>${zzjc.tio.version}</version>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -12,6 +12,7 @@ import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.controller.vo.BatchAssessmentDataReportingReqVO.BusinessSubSampleIdAndRetestCount;
import com.zt.plat.module.qms.business.bus.service.SampleAnalysisAuditService; import com.zt.plat.module.qms.business.bus.service.SampleAnalysisAuditService;
import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant;
@@ -39,7 +40,7 @@ public class SampleAnalysisAuditController implements BusinessControllerMarker {
*/ */
@PostMapping("/crossAudit") @PostMapping("/crossAudit")
public CommonResult<?> crossAudit(Long businessAssayTaskId, String auditStatus) { public CommonResult<?> crossAudit(Long businessAssayTaskId, String auditStatus) {
sampleAnalysisAuditService.crossAuditByByTaskId(businessAssayTaskId, auditStatus); sampleAnalysisAuditService.crossAuditByTaskId(businessAssayTaskId, auditStatus);
return success("成功"); return success("成功");
} }
@@ -88,23 +89,23 @@ public class SampleAnalysisAuditController implements BusinessControllerMarker {
//判定数据上报 //判定数据上报
@PostMapping("/assessmentDataReporting") @PostMapping("/assessmentDataReporting")
public CommonResult<?> assessmentDataReporting(Long businessSubSampleId, Long configAssayMethodId) { public CommonResult<?> assessmentDataReporting(Long businessSubSampleId, Long configAssayMethodId, Integer retestCount) {
sampleAnalysisAuditService.assessmentDataReporting(businessSubSampleId, configAssayMethodId); sampleAnalysisAuditService.assessmentDataReporting(businessSubSampleId, configAssayMethodId, retestCount);
return success("成功"); return success("成功");
} }
@PostMapping("/batchAssessmentDataReporting") @PostMapping("/batchAssessmentDataReporting")
public CommonResult<?> batchAssessmentDataReporting(@RequestBody BatchAssessmentDataReportingReqVO reqVO) { public CommonResult<?> batchAssessmentDataReporting(@RequestBody BatchAssessmentDataReportingReqVO reqVO) {
for (Long businessSubSampleId : reqVO.getBusinessSubSampleIds()) { for (BusinessSubSampleIdAndRetestCount businessSubSampleIdAndRetestCount : reqVO.getBusinessSubSampleIdAndRetestCounts()) {
sampleAnalysisAuditService.assessmentDataReporting(businessSubSampleId, reqVO.getConfigAssayMethodId()); sampleAnalysisAuditService.assessmentDataReporting(businessSubSampleIdAndRetestCount.getBusinessSubSampleId(), reqVO.getConfigAssayMethodId(), businessSubSampleIdAndRetestCount.getRetestCount());
} }
return success("成功"); return success("成功");
} }
//重新创建复检委托 //重新创建复检委托
@PostMapping("/createReAnalysis") @PostMapping("/createReAnalysis")
public CommonResult<?> createReAnalysis(Long businessSubSampleId, Long configAssayMethodId) { public CommonResult<?> createReAnalysis(Long businessSubSampleId, Long configAssayMethodId, Integer retestCount) {
sampleAnalysisAuditService.createReAnalysis(businessSubSampleId, configAssayMethodId); sampleAnalysisAuditService.createReAnalysis(businessSubSampleId, configAssayMethodId, retestCount);
return success("成功"); return success("成功");
} }

View File

@@ -41,7 +41,7 @@ public class SampleReportDataQueryController {
@Operation(summary = "委托单详情数据") @Operation(summary = "委托单详情数据")
@GetMapping("/crossAuditByTaskId") @GetMapping("/crossAuditByTaskId")
public CommonResult<?> crossAuditByTaskId(Long businessAssayTaskId) { public CommonResult<?> crossAuditByTaskId(Long businessAssayTaskId) {
JSONObject result = sampleAnalysisAuditService.crossAuditByTaskId(businessAssayTaskId); JSONObject result = sampleAnalysisAuditService.getCrossAuditDataByTaskId(businessAssayTaskId);
return success(result); return success(result);
} }
} }

View File

@@ -1,13 +1,35 @@
package com.zt.plat.module.qms.business.bus.controller.vo; package com.zt.plat.module.qms.business.bus.controller.vo;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
@Data @Data
public class BatchAssessmentDataReportingReqVO { public class BatchAssessmentDataReportingReqVO {
private List<Long> businessSubSampleIds; private List<BusinessSubSampleIdAndRetestCount> businessSubSampleIdAndRetestCounts;
public List<Long> getBusinessSubSampleIds() {
if (CollUtil.isEmpty(this.businessSubSampleIdAndRetestCounts)) {
return null;
}
return this.businessSubSampleIdAndRetestCounts.stream().map(m -> m.getBusinessSubSampleId()).collect(Collectors.toList());
}
private Long configAssayMethodId; private Long configAssayMethodId;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class BusinessSubSampleIdAndRetestCount {
private Long businessSubSampleId;
private Integer retestCount;
}
} }

View File

@@ -1,13 +1,34 @@
package com.zt.plat.module.qms.business.bus.controller.vo; package com.zt.plat.module.qms.business.bus.controller.vo;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
@Data @Data
public class BatchResultDataReportingReqVO { public class BatchResultDataReportingReqVO {
private List<Long> businessSubParentSampleIds; private List<BusinessSubParentSampleIdAndRetestCount> businessSubParentSampleIdAndRetestCounts;
private Long configAssayMethodId; private Long configAssayMethodId;
public List<Long> getBusinessSubParentSampleIds() {
if (CollUtil.isEmpty(this.businessSubParentSampleIdAndRetestCounts)) {
return null;
}
return this.businessSubParentSampleIdAndRetestCounts.stream().map(m -> m.getBusinessSubParentSampleId()).collect(Collectors.toList());
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class BusinessSubParentSampleIdAndRetestCount {
private Long businessSubParentSampleId;
private Integer retestCount;
}
} }

View File

@@ -19,6 +19,9 @@ public class BusinessSubParentSampleAssessmentProjectRespVO {
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23188") @Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23188")
@ExcelProperty("样品分样ID") @ExcelProperty("样品分样ID")
private Long businessSubParentSampleId; private Long businessSubParentSampleId;
@Schema(description = "班组判定数据业务ID")
private Long businessSubParentSampleAssessmentId;
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "17642") @Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "17642")
@ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】") @ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】")

View File

@@ -441,16 +441,18 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
* @param excludeIds 排除的id列表 * @param excludeIds 排除的id列表
* @param businessSubSampleId 子样id * @param businessSubSampleId 子样id
* @param configAssayMethodId 分析方法id * @param configAssayMethodId 分析方法id
* @param retestCount 复测次数
* @param isReported 是否上报 * @param isReported 是否上报
* @return * @return
*/ */
default List<BusinessAssayTaskDataDO> selectIsReportedList(List<Long> excludeIds, Long businessSubSampleId, Long configAssayMethodId, Integer isReported) { default List<BusinessAssayTaskDataDO> selectIsReportedList(List<Long> excludeIds, Long businessSubSampleId, Long configAssayMethodId, Integer retestCount, Integer isReported) {
LambdaQueryWrapper<BusinessAssayTaskDataDO> queryWrapper = new LambdaQueryWrapperX<BusinessAssayTaskDataDO>(); LambdaQueryWrapper<BusinessAssayTaskDataDO> queryWrapper = new LambdaQueryWrapperX<BusinessAssayTaskDataDO>();
if (CollUtil.isNotEmpty(excludeIds)) { if (CollUtil.isNotEmpty(excludeIds)) {
queryWrapper.notIn(BusinessAssayTaskDataDO::getId, excludeIds); queryWrapper.notIn(BusinessAssayTaskDataDO::getId, excludeIds);
} }
queryWrapper.eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId) queryWrapper.eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId)
.eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, configAssayMethodId) .eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, configAssayMethodId)
.eq(BusinessAssayTaskDataDO::getRetestCount, retestCount)
.eq(BusinessAssayTaskDataDO::getIsReported, isReported); .eq(BusinessAssayTaskDataDO::getIsReported, isReported);
return selectList(queryWrapper); return selectList(queryWrapper);
} }

View File

@@ -45,10 +45,11 @@ public interface BusinessSubParentSampleAssessmentMapper extends BaseMapperX<Bus
.in(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, businessSubParentSampleIds)); .in(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, businessSubParentSampleIds));
} }
default BusinessSubParentSampleAssessmentDO selectByBusinessSubParentSampleIdAndConfigAssayMethodId(Long businessSubParentSampleId, Long configAssayMethodId) { default BusinessSubParentSampleAssessmentDO selectByBusinessSubParentSampleIdAndConfigAssayMethodIdAndRetestCount(Long businessSubParentSampleId, Long configAssayMethodId, Integer retestCount) {
return selectOne(new LambdaQueryWrapperX<BusinessSubParentSampleAssessmentDO>() return selectOne(new LambdaQueryWrapperX<BusinessSubParentSampleAssessmentDO>()
.eq(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, businessSubParentSampleId) .eq(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, businessSubParentSampleId)
.eq(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)); .eq(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)
.eq(BusinessSubParentSampleAssessmentDO::getRetestCount, retestCount));
} }
default List<BusinessSubParentSampleAssessmentExtendRespVO> selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(List<Long> businessSubParentSampleIds, Long configAssayMethodId) { default List<BusinessSubParentSampleAssessmentExtendRespVO> selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(List<Long> businessSubParentSampleIds, Long configAssayMethodId) {

View File

@@ -50,12 +50,14 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX<BusinessS
.eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)); .eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId));
} }
default BusinessSubSampleAssessmentDO selectByBusinessSubSampleIdAndConfigAssayMethodId(Long businessSubSampleId, Long configAssayMethodId) { default BusinessSubSampleAssessmentDO selectByBusinessSubSampleIdAndConfigAssayMethodIdAndRetestCount(Long businessSubSampleId, Long configAssayMethodId, Integer retestCount) {
return selectOne(new LambdaQueryWrapperX<BusinessSubSampleAssessmentDO>() return selectOne(new LambdaQueryWrapperX<BusinessSubSampleAssessmentDO>()
.eq(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleId) .eq(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleId)
.eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)); .eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)
.eq(BusinessSubSampleAssessmentDO::getRetestCount, retestCount));
} }
@Deprecated
default List<BusinessSubSampleAssessmentDO> selectByBusinessSubSampleIdsAndConfigAssayMethodIdAndRetestCount(List<Long> businessSubSampleIds, Long configAssayMethodId, Integer retestCount) { default List<BusinessSubSampleAssessmentDO> selectByBusinessSubSampleIdsAndConfigAssayMethodIdAndRetestCount(List<Long> businessSubSampleIds, Long configAssayMethodId, Integer retestCount) {
return selectList(new LambdaQueryWrapperX<BusinessSubSampleAssessmentDO>() return selectList(new LambdaQueryWrapperX<BusinessSubSampleAssessmentDO>()
.in(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleIds) .in(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleIds)

Some files were not shown because too many files have changed in this diff Show More