结果判定修改
This commit is contained in:
@@ -116,7 +116,8 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode BUSINESS_STANDARD_SAMPLE_NOT_EXISTS = new ErrorCode(1_032_100_000, "标准样业务不存在");
|
||||
ErrorCode BUSINESS_STANDARD_SAMPLE_PROJECT_NOT_EXISTS = new ErrorCode(1_032_100_000, "标准样检测项目业务不存在");
|
||||
|
||||
ErrorCode BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_100_000, "班组判定检测项目数据业务不存在");
|
||||
ErrorCode BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_NOT_EXISTS = new ErrorCode(1_032_100_000, "班组判定数据业务不存在");
|
||||
ErrorCode BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_PROJECT_NOT_EXISTS = new ErrorCode(1_032_100_000, "班组判定检测项目数据业务不存在");
|
||||
|
||||
ErrorCode BUSINESS_SUB_SAMPLE_PARENT_RECHECK_NOT_EXISTS = new ErrorCode(1_032_100_000, "分样复检业务数据不存在");
|
||||
|
||||
|
||||
@@ -158,9 +158,30 @@ public interface QmsCommonConstant {
|
||||
/** 品质控制 **/
|
||||
String ASSAY_PROJECT_USAGE_QUALITY_CONTROL = "quality_control";
|
||||
|
||||
/** 结果判定-初始值 **/
|
||||
String ASMT_INITIAL = "initial";
|
||||
|
||||
/** 结果判定-待上报 **/
|
||||
String ASMT_PENDING_REPORT = "pending_report";
|
||||
|
||||
/** 结果判定-待判定 **/
|
||||
String ASMT_PENDING_ASSESSMENT = "pending_assessment";
|
||||
|
||||
/** 结果判定-复测中 **/
|
||||
String ASMT_RE_INSPECTED = "re_inspected";
|
||||
|
||||
/** 结果判定-已上报 */
|
||||
String ASMT_REPORTED = "reported";
|
||||
|
||||
/** 检验完成状态-完成 **/
|
||||
String CHECKED = "checked";
|
||||
|
||||
/** 检验完成状态-未完成 **/
|
||||
String UNCHECKED = "unchecked";
|
||||
|
||||
/** 自动 **/
|
||||
String AUTOMATIC = "automatic";
|
||||
|
||||
/** 手动 **/
|
||||
String MANUAL = "manual";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.admin;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
|
||||
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import jakarta.validation.constraints.*;
|
||||
import jakarta.validation.*;
|
||||
import jakarta.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
|
||||
import com.zt.plat.framework.common.pojo.PageParam;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import com.zt.plat.framework.excel.core.util.ExcelUtils;
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.*;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO;
|
||||
import com.zt.plat.module.qms.business.bus.service.BusinessSubParentSampleAssessmentService;
|
||||
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
|
||||
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
@Tag(name = "管理后台 - 班组判定数据业务")
|
||||
@RestController
|
||||
@RequestMapping("/qms/business-sub-parent-sample-assessment")
|
||||
@Validated
|
||||
public class BusinessSubParentSampleAssessmentController implements BusinessControllerMarker {
|
||||
|
||||
|
||||
@Resource
|
||||
private BusinessSubParentSampleAssessmentService businessSubParentSampleAssessmentService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建班组判定数据业务")
|
||||
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:create')")
|
||||
public CommonResult<BusinessSubParentSampleAssessmentRespVO> createBusinessSubParentSampleAssessment(@Valid @RequestBody BusinessSubParentSampleAssessmentSaveReqVO createReqVO) {
|
||||
return success(businessSubParentSampleAssessmentService.createBusinessSubParentSampleAssessment(createReqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新班组判定数据业务")
|
||||
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:update')")
|
||||
public CommonResult<Boolean> updateBusinessSubParentSampleAssessment(@Valid @RequestBody BusinessSubParentSampleAssessmentSaveReqVO updateReqVO) {
|
||||
businessSubParentSampleAssessmentService.updateBusinessSubParentSampleAssessment(updateReqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除班组判定数据业务")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:delete')")
|
||||
public CommonResult<Boolean> deleteBusinessSubParentSampleAssessment(@RequestParam("id") Long id) {
|
||||
businessSubParentSampleAssessmentService.deleteBusinessSubParentSampleAssessment(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete-list")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@Operation(summary = "批量删除班组判定数据业务")
|
||||
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:delete')")
|
||||
public CommonResult<Boolean> deleteBusinessSubParentSampleAssessmentList(@RequestBody BatchDeleteReqVO req) {
|
||||
businessSubParentSampleAssessmentService.deleteBusinessSubParentSampleAssessmentListByIds(req.getIds());
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得班组判定数据业务")
|
||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:query')")
|
||||
public CommonResult<BusinessSubParentSampleAssessmentRespVO> getBusinessSubParentSampleAssessment(@RequestParam("id") Long id) {
|
||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessment = businessSubParentSampleAssessmentService.getBusinessSubParentSampleAssessment(id);
|
||||
return success(BeanUtils.toBean(businessSubParentSampleAssessment, BusinessSubParentSampleAssessmentRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得班组判定数据业务分页")
|
||||
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:query')")
|
||||
public CommonResult<PageResult<BusinessSubParentSampleAssessmentRespVO>> getBusinessSubParentSampleAssessmentPage(@Valid BusinessSubParentSampleAssessmentPageReqVO pageReqVO) {
|
||||
PageResult<BusinessSubParentSampleAssessmentDO> pageResult = businessSubParentSampleAssessmentService.getBusinessSubParentSampleAssessmentPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, BusinessSubParentSampleAssessmentRespVO.class));
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出班组判定数据业务 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('qms:business-sub-parent-sample-assessment:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportBusinessSubParentSampleAssessmentExcel(@Valid BusinessSubParentSampleAssessmentPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<BusinessSubParentSampleAssessmentDO> list = businessSubParentSampleAssessmentService.getBusinessSubParentSampleAssessmentPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "班组判定数据业务.xls", "数据", BusinessSubParentSampleAssessmentRespVO.class,
|
||||
BeanUtils.toBean(list, BusinessSubParentSampleAssessmentRespVO.class));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -47,10 +47,8 @@ public class SampleAnalysisAuditController {
|
||||
}
|
||||
|
||||
@GetMapping("/getSampleResultAssessmentList")
|
||||
public CommonResult<JSONObject> getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus) {
|
||||
|
||||
JSONObject result = sampleAnalysisAuditService.getSampleResultAssessmentList(configAssayMethodId, assessmentStatus);
|
||||
|
||||
public CommonResult<JSONObject> getSampleResultAssessmentList(Long configAssayMethodId, String asmtReportedStatus) {
|
||||
JSONObject result = sampleAnalysisAuditService.getSampleResultAssessmentList(configAssayMethodId, asmtReportedStatus);
|
||||
return success(result);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,4 +29,10 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp
|
||||
|
||||
@Schema(description = "任务单模板key")
|
||||
private String configReportTemplateKey;
|
||||
|
||||
private Integer asmtIsReported;
|
||||
|
||||
private Integer asmtIsRecheck;
|
||||
|
||||
private String asmtReportedStatus;
|
||||
}
|
||||
|
||||
@@ -13,4 +13,18 @@ public class BusinessAssayTaskDataGroupRespVO {
|
||||
|
||||
private Integer sampleTaskCount;
|
||||
|
||||
/** 判定未完 **/
|
||||
private Integer asmtInitialCount;
|
||||
|
||||
/** 判定待上报 **/
|
||||
private Integer asmtPendingReportCount;
|
||||
|
||||
/** 判定待判定 **/
|
||||
private Integer asmtPendingAssessmentCount;
|
||||
|
||||
/** 判定复测 **/
|
||||
private Integer asmtReInspectedCount;
|
||||
|
||||
/** 判定已上报 **/
|
||||
private Integer asmtReportedCount;
|
||||
}
|
||||
|
||||
@@ -22,6 +22,9 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
|
||||
@Schema(description = "分样子样ID", example = "20464")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", example = "9130")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
|
||||
@@ -22,6 +22,9 @@ public class BusinessAssayTaskDataReqVO {
|
||||
@Schema(description = "分样子样ID", example = "20464")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", example = "9130")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@@ -89,4 +92,9 @@ public class BusinessAssayTaskDataReqVO {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
//=== 扩展字段,判定上报状态
|
||||
@Schema(description = "判定上报状态")
|
||||
private String asmtReportedStatus;
|
||||
|
||||
|
||||
}
|
||||
@@ -28,6 +28,9 @@ public class BusinessAssayTaskDataRespVO {
|
||||
@ExcelProperty("分样子样ID")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9130")
|
||||
@ExcelProperty("检测方法配置ID")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@@ -26,6 +26,9 @@ public class BusinessAssayTaskDataSaveReqVO {
|
||||
@NotNull(message = "分样子样ID不能为空")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9130")
|
||||
@NotNull(message = "检测方法配置ID不能为空")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.zt.plat.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
|
||||
@Schema(description = "管理后台 - 班组判定数据业务分页 Request VO")
|
||||
@Data
|
||||
public class BusinessSubParentSampleAssessmentPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "样品分样ID", example = "25701")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", example = "13131")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", example = "1")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", example = "1")
|
||||
private String assayType;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常", example = "1")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
||||
@Schema(description = "乐观锁", example = "13008")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.excel.annotation.*;
|
||||
|
||||
@Schema(description = "管理后台 - 班组判定数据业务 Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class BusinessSubParentSampleAssessmentRespVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29068")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25701")
|
||||
@ExcelProperty("样品分样ID")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13131")
|
||||
@ExcelProperty("检测方法配置ID")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("任务类型,【字典】【jy_sample_task_type】常规、抽查...")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@ExcelProperty("分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...")
|
||||
private String assayType;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常", example = "1")
|
||||
@ExcelProperty("判定状态,in_progress-进行中 normal-正常")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "是否已上报")
|
||||
@ExcelProperty("是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
@ExcelProperty("上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
@ExcelProperty("上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
@ExcelProperty("结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
@ExcelProperty("所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "13008")
|
||||
@ExcelProperty("乐观锁")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
@ExcelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.zt.plat.module.qms.business.bus.controller.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description = "管理后台 - 班组判定数据业务新增/修改 Request VO")
|
||||
@Data
|
||||
public class BusinessSubParentSampleAssessmentSaveReqVO {
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29068")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "样品分样ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25701")
|
||||
@NotNull(message = "样品分样ID不能为空")
|
||||
private Long businessSubParentSampleId;
|
||||
|
||||
@Schema(description = "检测方法配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13131")
|
||||
@NotNull(message = "检测方法配置ID不能为空")
|
||||
private Long configAssayMethodId;
|
||||
|
||||
@Schema(description = "任务类型,【字典】【jy_sample_task_type】常规、抽查...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "任务类型,【字典】【jy_sample_task_type】常规、抽查...不能为空")
|
||||
private String taskType;
|
||||
|
||||
@Schema(description = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...不能为空")
|
||||
private String assayType;
|
||||
|
||||
@Schema(description = "判定状态,in_progress-进行中 normal-正常", example = "1")
|
||||
private String assessmentStatus;
|
||||
|
||||
@Schema(description = "是否已上报")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "13008")
|
||||
@NotNull(message = "乐观锁不能为空")
|
||||
private Integer updateCount;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -37,6 +37,9 @@ public class BusinessSubSampleAssessmentPageReqVO extends PageParam {
|
||||
@Schema(description = "是否已上报,1-是,0-否")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报状态,初始状态-initial、待上报-pending_report、待判定-pending_assessment、已复检-re_inspected、已上报-reported", example = "1")
|
||||
private String reportedStatus;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@@ -44,6 +47,9 @@ public class BusinessSubSampleAssessmentPageReqVO extends PageParam {
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
|
||||
@@ -19,6 +19,9 @@ public class BusinessSubSampleAssessmentProjectPageReqVO extends PageParam {
|
||||
@Schema(description = "分样子样ID", example = "7025")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", example = "21744")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
|
||||
@@ -23,6 +23,10 @@ public class BusinessSubSampleAssessmentProjectRespVO {
|
||||
@ExcelProperty("分样子样ID")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
@ExcelProperty("分样子样判定ID")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "21744")
|
||||
@ExcelProperty("检测项目ID,字典表【T_DIC_PRJ】")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@@ -21,6 +21,9 @@ public class BusinessSubSampleAssessmentProjectSaveReqVO {
|
||||
@NotNull(message = "分样子样ID不能为空")
|
||||
private Long businessSubSampleId;
|
||||
|
||||
@Schema(description = "分样子样判定ID", example = "14560")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
|
||||
@Schema(description = "检测项目ID,字典表【T_DIC_PRJ】", requiredMode = Schema.RequiredMode.REQUIRED, example = "21744")
|
||||
@NotNull(message = "检测项目ID,字典表【T_DIC_PRJ】不能为空")
|
||||
private Long dictionaryProjectId;
|
||||
|
||||
@@ -48,6 +48,9 @@ public class BusinessSubSampleAssessmentRespVO {
|
||||
@ExcelProperty("是否已上报,1-是,0-否")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报状态,初始状态-initial、待上报-pending_report、待判定-pending_assessment、已复检-re_inspected、已上报-reported", example = "1")
|
||||
private String reportedStatus;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
@ExcelProperty("上报人")
|
||||
private String reporter;
|
||||
@@ -56,6 +59,9 @@ public class BusinessSubSampleAssessmentRespVO {
|
||||
@ExcelProperty("上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
@ExcelProperty("所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@@ -41,12 +41,18 @@ public class BusinessSubSampleAssessmentSaveReqVO {
|
||||
@Schema(description = "是否已上报,1-是,0-否")
|
||||
private Integer isReported;
|
||||
|
||||
@Schema(description = "上报状态,初始状态-initial、待上报-pending_report、待判定-pending_assessment、已复检-re_inspected、已上报-reported", example = "1")
|
||||
private String reportedStatus;
|
||||
|
||||
@Schema(description = "上报人")
|
||||
private String reporter;
|
||||
|
||||
@Schema(description = "上报时间")
|
||||
private LocalDateTime reportTime;
|
||||
|
||||
@Schema(description = "结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改")
|
||||
private String resultTreatmentWay;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
|
||||
@@ -2,11 +2,7 @@ package com.zt.plat.module.qms.business.bus.dal.dataobject;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
|
||||
/**
|
||||
@@ -50,6 +46,11 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO {
|
||||
@TableField("BSN_SB_SMP_ID")
|
||||
private Long businessSubSampleId;
|
||||
/**
|
||||
* 分样子样判定ID
|
||||
*/
|
||||
@TableField("BSN_SB_SMP_ASMT_ID")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
/**
|
||||
* 检测方法配置ID
|
||||
*/
|
||||
@TableField("CFG_ASY_MTHD_ID")
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.zt.plat.module.qms.business.bus.dal.dataobject;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDateTime;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
|
||||
/**
|
||||
* 班组判定数据业务 DO
|
||||
*
|
||||
* @author 后台管理
|
||||
*/
|
||||
@TableName("t_bsn_sb_prn_smp_asmt")
|
||||
@KeySequence("t_bsn_sb_prn_smp_asmt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
/**
|
||||
* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
|
||||
*/
|
||||
public class BusinessSubParentSampleAssessmentDO extends BusinessBaseDO {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
/**
|
||||
* 样品分样ID
|
||||
*/
|
||||
@TableField("BSN_SB_PRN_SMP_ID")
|
||||
private Long businessSubParentSampleId;
|
||||
/**
|
||||
* 检测方法配置ID
|
||||
*/
|
||||
@TableField("CFG_ASY_MTHD_ID")
|
||||
private Long configAssayMethodId;
|
||||
/**
|
||||
* 任务类型,【字典】【jy_sample_task_type】常规、抽查...
|
||||
*/
|
||||
@TableField("TSK_TP")
|
||||
private String taskType;
|
||||
/**
|
||||
* 分析类型,【字典】【jy_sample_assay_type】单杯-single_cup、双杯-double_cup、平行-single_parallel...
|
||||
*/
|
||||
@TableField("ASY_TP")
|
||||
private String assayType;
|
||||
/**
|
||||
* 判定状态,in_progress-进行中 normal-正常
|
||||
*/
|
||||
@TableField("ASMT_STS")
|
||||
private String assessmentStatus;
|
||||
/**
|
||||
* 是否已上报
|
||||
*/
|
||||
@TableField("IS_RPOD")
|
||||
private Integer isReported;
|
||||
/**
|
||||
* 上报人
|
||||
*/
|
||||
@TableField("RPTR")
|
||||
private String reporter;
|
||||
/**
|
||||
* 上报时间
|
||||
*/
|
||||
@TableField("RPT_TM")
|
||||
private LocalDateTime reportTime;
|
||||
/**
|
||||
* 结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改
|
||||
*/
|
||||
@TableField("RSLT_TMT_WY")
|
||||
private String resultTreatmentWay;
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@TableField("SYS_DEPT_CD")
|
||||
private String systemDepartmentCode;
|
||||
/**
|
||||
* 乐观锁
|
||||
*/
|
||||
@TableField("UPD_CNT")
|
||||
private Integer updateCount;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField("RMK")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@@ -31,6 +31,11 @@ public class BusinessSubSampleAssessmentDO extends BusinessBaseDO {
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
/**
|
||||
* 样品主样ID
|
||||
*/
|
||||
@TableField("BSN_BSE_SMP_ID")
|
||||
private Long businessBaseSampleId;
|
||||
/**
|
||||
* 样品分样ID
|
||||
*/
|
||||
@TableField("BSN_SB_PRN_SMP_ID")
|
||||
@@ -41,6 +46,11 @@ public class BusinessSubSampleAssessmentDO extends BusinessBaseDO {
|
||||
@TableField("BSN_SB_SMP_ID")
|
||||
private Long businessSubSampleId;
|
||||
/**
|
||||
* 班组判定数据业务ID
|
||||
*/
|
||||
@TableField("BSN_SB_PRN_SMP_ASMT_ID")
|
||||
private Long businessSubParentSampleAssessmentId;
|
||||
/**
|
||||
* 检测方法配置ID
|
||||
*/
|
||||
@TableField("CFG_ASY_MTHD_ID")
|
||||
@@ -71,6 +81,11 @@ public class BusinessSubSampleAssessmentDO extends BusinessBaseDO {
|
||||
@TableField("IS_RPOD")
|
||||
private Integer isReported;
|
||||
/**
|
||||
* 上报状态,初始状态-initial、待上报-pending_report、待判定-pending_assessment、已复检-re_inspected、已上报-reported
|
||||
*/
|
||||
@TableField("RPOD_STS")
|
||||
private String reportedStatus;
|
||||
/**
|
||||
* 上报人
|
||||
*/
|
||||
@TableField("RPTR")
|
||||
@@ -81,6 +96,11 @@ public class BusinessSubSampleAssessmentDO extends BusinessBaseDO {
|
||||
@TableField("RPT_TM")
|
||||
private LocalDateTime reportTime;
|
||||
/**
|
||||
* 结果处理方式,automatic-自动报出(不超差),manual-手动报出,modify-允许修改
|
||||
*/
|
||||
@TableField("RSLT_TMT_WY")
|
||||
private String resultTreatmentWay;
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@TableField("SYS_DEPT_CD")
|
||||
|
||||
@@ -43,6 +43,11 @@ public class BusinessSubSampleAssessmentProjectDO extends BusinessBaseDO {
|
||||
@TableField("BSN_SB_SMP_ID")
|
||||
private Long businessSubSampleId;
|
||||
/**
|
||||
* 分样子样判定ID
|
||||
*/
|
||||
@TableField("BSN_SB_SMP_ASMT_ID")
|
||||
private Long businessSubSampleAssessmentId;
|
||||
/**
|
||||
* 检测项目ID,字典表【T_DIC_PRJ】
|
||||
*/
|
||||
@TableField("DIC_PRJ_ID")
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataPa
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataReqVO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentProjectDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
|
||||
@@ -49,6 +50,7 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getBusinessSubSampleAssessmentId, reqVO.getBusinessSubSampleAssessmentId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getTaskType, reqVO.getTaskType())
|
||||
@@ -87,6 +89,7 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getBusinessSubSampleAssessmentId, reqVO.getBusinessSubSampleAssessmentId())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getTaskType, reqVO.getTaskType())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getAssayType, reqVO.getAssayType())
|
||||
.eqIfPresent(BusinessAssayTaskDataDO::getAssayProject, reqVO.getAssayProject())
|
||||
@@ -135,6 +138,7 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
|
||||
MPJLambdaWrapper<BusinessAssayTaskDataDO> mpjLambdaWrapper = new MPJLambdaWrapper<BusinessAssayTaskDataDO>()
|
||||
.leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDataDO::getConfigAssayMethodId)
|
||||
.leftJoin(BusinessSubSampleDO.class, BusinessSubSampleDO::getId, BusinessAssayTaskDataDO::getBusinessSubSampleId)
|
||||
.leftJoin(BusinessSubSampleAssessmentDO.class, BusinessSubSampleAssessmentDO::getId, BusinessAssayTaskDataDO::getBusinessSubSampleAssessmentId)
|
||||
.leftJoin(BusinessSubSampleAnalysisGroupDO.class, on -> on
|
||||
.eq(BusinessSubSampleAnalysisGroupDO::getBusinessSubSampleId, BusinessAssayTaskDataDO::getBusinessSubSampleId)
|
||||
.eq(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentId, BusinessAssayTaskDataDO::getAssayDepartmentId))
|
||||
@@ -144,6 +148,9 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
|
||||
.selectAs(BusinessSubSampleDO::getSampleName, BusinessAssayTaskDataExtendRespVO::getSampleName)
|
||||
.selectAs(BusinessSubSampleDO::getSampleCode, BusinessAssayTaskDataExtendRespVO::getSampleCode)
|
||||
.selectAs(BusinessSubSampleDO::getSampleAssayCode, BusinessAssayTaskDataExtendRespVO::getSampleAssayCode)
|
||||
.selectAs(BusinessSubSampleAssessmentDO::getIsRecheck, BusinessAssayTaskDataExtendRespVO::getAsmtIsRecheck)
|
||||
.selectAs(BusinessSubSampleAssessmentDO::getIsReported, BusinessAssayTaskDataExtendRespVO::getAsmtIsReported)
|
||||
.selectAs(BusinessSubSampleAssessmentDO::getReportedStatus, BusinessAssayTaskDataExtendRespVO::getAsmtReportedStatus)
|
||||
.selectAs(BusinessSubSampleAnalysisGroupDO::getSampleReceiver, BusinessAssayTaskDataExtendRespVO::getSampleReceiver)
|
||||
.selectAs(BusinessSubSampleAnalysisGroupDO::getSampleReceiveTime, BusinessAssayTaskDataExtendRespVO::getSampleReceiveTime);
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getBusinessBaseSampleId())) {
|
||||
@@ -155,46 +162,20 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getConfigAssayMethodId())) {
|
||||
mpjLambdaWrapper.eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId());
|
||||
}
|
||||
mpjLambdaWrapper.ne(BusinessSubSampleAnalysisGroupDO::getSampleStatus, "已收样");
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getAsmtReportedStatus())) {
|
||||
mpjLambdaWrapper.eq(BusinessSubSampleAssessmentDO::getReportedStatus, reqVO.getAsmtReportedStatus());
|
||||
switch(reqVO.getAsmtReportedStatus()) {
|
||||
case QmsCommonConstant.ASMT_INITIAL:
|
||||
case QmsCommonConstant.ASMT_PENDING_REPORT:
|
||||
case QmsCommonConstant.ASMT_PENDING_ASSESSMENT:
|
||||
mpjLambdaWrapper.eq(BusinessAssayTaskDataDO::getIsAssignTasked, QmsCommonConstant.YES);//已任务指派
|
||||
break;
|
||||
}
|
||||
}
|
||||
mpjLambdaWrapper.eq(BusinessSubSampleAnalysisGroupDO::getSampleStatus, "已收样");//已收样
|
||||
mpjLambdaWrapper.orderByAsc(BusinessAssayTaskDataDO::getBusinessSubSampleId).orderByAsc(BusinessAssayTaskDataDO::getReportTime);
|
||||
|
||||
return selectJoinList(BusinessAssayTaskDataExtendRespVO.class, mpjLambdaWrapper);
|
||||
|
||||
|
||||
// return selectJoinList(BusinessAssayTaskDataExtendRespVO.class, new MPJLambdaWrapperX<BusinessAssayTaskDataDO>()
|
||||
// .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessAssayTaskDataDO::getConfigAssayMethodId)
|
||||
// .leftJoin(BusinessSubSampleDO.class, BusinessSubSampleDO::getId, BusinessAssayTaskDataDO::getBusinessSubSampleId)
|
||||
// .selectAll(BusinessAssayTaskDataDO.class)
|
||||
// .selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskDataExtendRespVO::getConfigAssayMethodName)
|
||||
// .selectAs(BusinessSubSampleDO::getSampleName, BusinessAssayTaskDataExtendRespVO::getSampleName)
|
||||
// .selectAs(BusinessSubSampleDO::getSampleCode, BusinessAssayTaskDataExtendRespVO::getSampleCode)
|
||||
// .selectAs(BusinessSubSampleDO::getSampleAssayCode, BusinessAssayTaskDataExtendRespVO::getSampleAssayCode)
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleId())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getBusinessAssayTaskId, reqVO.getBusinessAssayTaskId())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getTaskType, reqVO.getTaskType())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getAssayType, reqVO.getAssayType())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getAssayProject, reqVO.getAssayProject())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getAssayDepartmentId, reqVO.getAssayDepartmentId())
|
||||
// .likeIfPresent(BusinessAssayTaskDataDO::getAssayDepartmentName, reqVO.getAssayDepartmentName())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getAssayOperator, reqVO.getAssayOperator())
|
||||
// .betweenIfPresent(BusinessAssayTaskDataDO::getAssignTaskTime, reqVO.getAssignTaskTime())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getIsAssignTasked, reqVO.getIsAssignTasked())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getIsReported, reqVO.getIsReported())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getReporter, reqVO.getReporter())
|
||||
// .betweenIfPresent(BusinessAssayTaskDataDO::getReportTime, reqVO.getReportTime())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getConfigSampleFlowId, reqVO.getConfigSampleFlowId())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getSampleFlowNodeKey, reqVO.getSampleFlowNodeKey())
|
||||
// .betweenIfPresent(BusinessAssayTaskDataDO::getSampleFlowNodeTime, reqVO.getSampleFlowNodeTime())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getAnalysisCount, reqVO.getAnalysisCount())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getUpdateCount, reqVO.getUpdateCount())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
|
||||
// .betweenIfPresent(BusinessAssayTaskDataDO::getCreateTime, reqVO.getCreateTime())
|
||||
// .eqIfPresent(BusinessAssayTaskDataDO::getRemark, reqVO.getRemark())
|
||||
// .orderByAsc(BusinessAssayTaskDataDO::getBusinessSubSampleId)
|
||||
// .orderByAsc(BusinessAssayTaskDataDO::getReportTime));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.zt.plat.module.qms.business.bus.dal.mapper;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.*;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO;
|
||||
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 班组判定数据业务 Mapper
|
||||
*
|
||||
* @author 后台管理
|
||||
*/
|
||||
@Mapper
|
||||
public interface BusinessSubParentSampleAssessmentMapper extends BaseMapperX<BusinessSubParentSampleAssessmentDO> {
|
||||
|
||||
default PageResult<BusinessSubParentSampleAssessmentDO> selectPage(BusinessSubParentSampleAssessmentPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessSubParentSampleAssessmentDO>()
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleId())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getTaskType, reqVO.getTaskType())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getAssayType, reqVO.getAssayType())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getAssessmentStatus, reqVO.getAssessmentStatus())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getIsReported, reqVO.getIsReported())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getReporter, reqVO.getReporter())
|
||||
.betweenIfPresent(BusinessSubParentSampleAssessmentDO::getReportTime, reqVO.getReportTime())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getResultTreatmentWay, reqVO.getResultTreatmentWay())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
|
||||
.betweenIfPresent(BusinessSubParentSampleAssessmentDO::getCreateTime, reqVO.getCreateTime())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getUpdateCount, reqVO.getUpdateCount())
|
||||
.eqIfPresent(BusinessSubParentSampleAssessmentDO::getRemark, reqVO.getRemark())
|
||||
.orderByDesc(BusinessSubParentSampleAssessmentDO::getId));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -27,6 +27,7 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX<BusinessS
|
||||
.eqIfPresent(BusinessSubSampleAssessmentDO::getAssessmentStatus, reqVO.getAssessmentStatus())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentDO::getIsRecheck, reqVO.getIsRecheck())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentDO::getIsReported, reqVO.getIsReported())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentDO::getReportedStatus, reqVO.getReportedStatus())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentDO::getReporter, reqVO.getReporter())
|
||||
.betweenIfPresent(BusinessSubSampleAssessmentDO::getReportTime, reqVO.getReportTime())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
|
||||
@@ -36,4 +37,16 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX<BusinessS
|
||||
.orderByDesc(BusinessSubSampleAssessmentDO::getId));
|
||||
}
|
||||
|
||||
default BusinessSubSampleAssessmentDO selectByBusinessSubSampleIdsAndConfigAssayMethodId(Long businessSubSampleId, Long configAssayMethodId) {
|
||||
return selectOne(new LambdaQueryWrapperX<BusinessSubSampleAssessmentDO>()
|
||||
.eq(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleId)
|
||||
.eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId));
|
||||
}
|
||||
|
||||
default List<BusinessSubSampleAssessmentDO> selectByBusinessSubSampleIdsAndConfigAssayMethodId(List<Long> businessSubSampleIds, Long configAssayMethodId) {
|
||||
return selectList(new LambdaQueryWrapperX<BusinessSubSampleAssessmentDO>()
|
||||
.in(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleIds)
|
||||
.eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,18 +4,15 @@ 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.BusinessSubParentSampleAssessmentProjectDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentProjectDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO;
|
||||
import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO;
|
||||
import com.zt.plat.module.qms.enums.QmsCommonConstant;
|
||||
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 子样判定检测项目数据业务 Mapper
|
||||
@@ -29,6 +26,7 @@ public interface BusinessSubSampleAssessmentProjectMapper extends BaseMapperX<Bu
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<BusinessSubSampleAssessmentProjectDO>()
|
||||
.eqIfPresent(BusinessSubSampleAssessmentProjectDO::getBusinessSubParentSampleId, reqVO.getBusinessSubParentSampleId())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentProjectDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentProjectDO::getBusinessSubSampleAssessmentId, reqVO.getBusinessSubSampleAssessmentId())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentProjectDO::getDictionaryProjectId, reqVO.getDictionaryProjectId())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentProjectDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId())
|
||||
.eqIfPresent(BusinessSubSampleAssessmentProjectDO::getConfigAssayMethodId, reqVO.getConfigAssayMethodId())
|
||||
|
||||
@@ -23,8 +23,10 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleAssayRes
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustProjectDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper;
|
||||
@@ -35,8 +37,10 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleAssayResultM
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustProjectMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustRegistrationMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAnalysisGroupMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
|
||||
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleFlowInfo;
|
||||
import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleEntrustContext;
|
||||
@@ -105,6 +109,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
@Resource
|
||||
private BusinessSubParentSampleMapper businessSubParentSampleMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessSubParentSampleAssessmentMapper businessSubParentSampleAssessmentMapper;
|
||||
|
||||
@Resource
|
||||
private ConfigSubSampleMapper configSubSampleMapper;
|
||||
|
||||
@@ -129,6 +136,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
@Resource
|
||||
private BusinessAssayProjectDataMapper businessAssayProjectDataMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessSubSampleAssessmentMapper businessSubSampleAssessmentMapper;
|
||||
|
||||
@Resource
|
||||
private ConfigAssayMethodProjectParameterMapper configAssayMethodProjectParameterMapper;
|
||||
|
||||
@@ -222,10 +232,14 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
List<BusinessBaseSampleDO> businessBaseSampleDOList = new ArrayList<>();
|
||||
//分样
|
||||
List<BusinessSubParentSampleDO> businessSubParentSampleDOList = new ArrayList<>();
|
||||
//分样判定数据
|
||||
List<BusinessSubParentSampleAssessmentDO> businessSubParentSampleAssessmentDOList = new ArrayList<>();
|
||||
//分样子样
|
||||
List<BusinessSubSampleDO> businessSubSampleDOList = new ArrayList<>();
|
||||
//分样子样分析班组
|
||||
List<BusinessSubSampleAnalysisGroupDO> businessSubSampleAnalysisGroupDOList = new ArrayList<>();
|
||||
//分样子样判定数据
|
||||
List<BusinessSubSampleAssessmentDO> businessSubSampleAssessmentDOList = new ArrayList<>();
|
||||
//子样检测任务
|
||||
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = new ArrayList<>();
|
||||
//检测任务的分析项目
|
||||
@@ -440,12 +454,33 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
businessSubSampleAnalysisGroupDOList.add(businessSubSampleAnalysisGroupDO);
|
||||
}
|
||||
|
||||
//根据检测方法循环
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = null;
|
||||
|
||||
//根据任务数判断是平行还是
|
||||
String assayType = configSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
|
||||
|
||||
//分样判定数据
|
||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
|
||||
businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
businessSubParentSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubParentSampleAssessmentDO.setTaskType("常规");
|
||||
businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
|
||||
|
||||
//子样判定数据
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
|
||||
businessSubSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
businessSubSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubSampleAssessmentDO.setTaskType("常规");
|
||||
|
||||
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||
|
||||
//根据检测方法循环
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = null;
|
||||
//根据任务数循环
|
||||
for (int i = 0; i < configSubSampleMethodDO.getTaskCount(); i++) {
|
||||
//子样检测任务
|
||||
@@ -454,6 +489,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||
businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||
businessAssayTaskDataDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId());
|
||||
businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodId);
|
||||
businessAssayTaskDataDO.setAssayType(assayType);
|
||||
businessAssayTaskDataDO.setTaskType("常规");
|
||||
@@ -520,6 +556,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
|
||||
}
|
||||
|
||||
//判定是商检 分析金银 需要创建综合样,样品为第1个
|
||||
if (isSjEntrust && isAssayAuAg && sort == 0 && isCreateZhy && configAssayMethodZhy != null) {
|
||||
Long configAssayMethodIdZhy = configAssayMethodZhy.getId();
|
||||
Long assayDepartmentIdZhy = configAssayMethodZhy.getAssayDepartmentId();
|
||||
@@ -541,12 +578,22 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
businessSubSampleAnalysisGroupDOList.add(businessSubSampleAnalysisGroupDO);
|
||||
}
|
||||
|
||||
//根据检测方法循环
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = null;
|
||||
|
||||
//根据任务数判断是平行还是
|
||||
String assayType = configSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
|
||||
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
|
||||
businessSubSampleAssessmentDO.setId(IdWorker.getId());
|
||||
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||
businessSubSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodZhy.getId());
|
||||
businessSubSampleAssessmentDO.setAssayType(assayType);
|
||||
businessSubSampleAssessmentDO.setTaskType("常规");
|
||||
|
||||
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||
|
||||
//根据检测方法循环
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = null;
|
||||
//根据任务数循环
|
||||
for (int i = 0; i < configSubSampleMethodDO.getTaskCount(); i++) {
|
||||
//子样检测任务
|
||||
@@ -555,6 +602,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
businessAssayTaskDataDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
|
||||
businessAssayTaskDataDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
|
||||
businessAssayTaskDataDO.setBusinessSubSampleId(businessSubSampleDO.getId());
|
||||
businessAssayTaskDataDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId());//子样判定id
|
||||
businessAssayTaskDataDO.setConfigAssayMethodId(configAssayMethodZhy.getId());
|
||||
businessAssayTaskDataDO.setAssayType(assayType);
|
||||
businessAssayTaskDataDO.setTaskType("常规");
|
||||
@@ -628,6 +676,10 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
log.info("插入 businessSubParentSampleDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
|
||||
businessSubParentSampleMapper.insertBatch(businessSubParentSampleDOList);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(businessSubParentSampleAssessmentDOList)) {
|
||||
log.info("插入 businessSubParentSampleAssessmentDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
|
||||
businessSubParentSampleAssessmentMapper.insertBatch(businessSubParentSampleAssessmentDOList);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(businessSubSampleDOList)) {
|
||||
log.info("插入 businessSubSampleDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
|
||||
businessSubSampleMapper.insertBatch(businessSubSampleDOList);
|
||||
@@ -636,6 +688,10 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
log.info("插入 businessSubSampleAnalysisGroupDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
|
||||
businessSubSampleAnalysisGroupMapper.insertBatch(businessSubSampleAnalysisGroupDOList);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(businessSubSampleAssessmentDOList)) {
|
||||
log.info("插入 businessSubSampleAssessmentDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
|
||||
businessSubSampleAssessmentMapper.insertBatch(businessSubSampleAssessmentDOList);
|
||||
}
|
||||
if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) {
|
||||
log.info("插入 businessAssayTaskDataDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
|
||||
businessAssayTaskDataMapper.insertBatch(businessAssayTaskDataDOList);
|
||||
|
||||
@@ -63,13 +63,13 @@ public class BusinessSubParentSampleAssessmentProjectServiceImpl implements Busi
|
||||
private void validateBusinessSubParentSampleAssessmentExists(List<Long> ids) {
|
||||
List<BusinessSubParentSampleAssessmentProjectDO> list = businessSubParentSampleAssessmentProjectMapper.selectByIds(ids);
|
||||
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
|
||||
throw exception(BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_NOT_EXISTS);
|
||||
throw exception(BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_PROJECT_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
private void validateBusinessSubParentSampleAssessmentExists(Long id) {
|
||||
if (businessSubParentSampleAssessmentProjectMapper.selectById(id) == null) {
|
||||
throw exception(BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_NOT_EXISTS);
|
||||
throw exception(BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_PROJECT_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.zt.plat.module.qms.business.bus.service;
|
||||
|
||||
import java.util.*;
|
||||
import jakarta.validation.*;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.*;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO;
|
||||
import com.zt.plat.framework.common.pojo.PageParam;
|
||||
|
||||
/**
|
||||
* 班组判定数据业务 Service 接口
|
||||
*
|
||||
* @author 后台管理
|
||||
*/
|
||||
public interface BusinessSubParentSampleAssessmentService {
|
||||
|
||||
/**
|
||||
* 创建班组判定数据业务
|
||||
*
|
||||
* @param createReqVO 创建信息
|
||||
* @return 编号
|
||||
*/
|
||||
BusinessSubParentSampleAssessmentRespVO createBusinessSubParentSampleAssessment(@Valid BusinessSubParentSampleAssessmentSaveReqVO createReqVO);
|
||||
|
||||
/**
|
||||
* 更新班组判定数据业务
|
||||
*
|
||||
* @param updateReqVO 更新信息
|
||||
*/
|
||||
void updateBusinessSubParentSampleAssessment(@Valid BusinessSubParentSampleAssessmentSaveReqVO updateReqVO);
|
||||
|
||||
/**
|
||||
* 删除班组判定数据业务
|
||||
*
|
||||
* @param id 编号
|
||||
*/
|
||||
void deleteBusinessSubParentSampleAssessment(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除班组判定数据业务
|
||||
*
|
||||
* @param ids 编号
|
||||
*/
|
||||
void deleteBusinessSubParentSampleAssessmentListByIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 获得班组判定数据业务
|
||||
*
|
||||
* @param id 编号
|
||||
* @return 班组判定数据业务
|
||||
*/
|
||||
BusinessSubParentSampleAssessmentDO getBusinessSubParentSampleAssessment(Long id);
|
||||
|
||||
/**
|
||||
* 获得班组判定数据业务分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 班组判定数据业务分页
|
||||
*/
|
||||
PageResult<BusinessSubParentSampleAssessmentDO> getBusinessSubParentSampleAssessmentPage(BusinessSubParentSampleAssessmentPageReqVO pageReqVO);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
package com.zt.plat.module.qms.business.bus.service;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.pojo.PageParam;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.module.qms.business.bus.controller.vo.*;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper;
|
||||
|
||||
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
|
||||
import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
|
||||
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
|
||||
|
||||
/**
|
||||
* 班组判定数据业务 Service 实现类
|
||||
*
|
||||
* @author 后台管理
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class BusinessSubParentSampleAssessmentServiceImpl implements BusinessSubParentSampleAssessmentService {
|
||||
|
||||
@Resource
|
||||
private BusinessSubParentSampleAssessmentMapper businessSubParentSampleAssessmentMapper;
|
||||
|
||||
@Override
|
||||
public BusinessSubParentSampleAssessmentRespVO createBusinessSubParentSampleAssessment(BusinessSubParentSampleAssessmentSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessment = BeanUtils.toBean(createReqVO, BusinessSubParentSampleAssessmentDO.class);
|
||||
businessSubParentSampleAssessmentMapper.insert(businessSubParentSampleAssessment);
|
||||
// 返回
|
||||
return BeanUtils.toBean(businessSubParentSampleAssessment, BusinessSubParentSampleAssessmentRespVO.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateBusinessSubParentSampleAssessment(BusinessSubParentSampleAssessmentSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateBusinessSubParentSampleAssessmentExists(updateReqVO.getId());
|
||||
// 更新
|
||||
BusinessSubParentSampleAssessmentDO updateObj = BeanUtils.toBean(updateReqVO, BusinessSubParentSampleAssessmentDO.class);
|
||||
businessSubParentSampleAssessmentMapper.updateById(updateObj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteBusinessSubParentSampleAssessment(Long id) {
|
||||
// 校验存在
|
||||
validateBusinessSubParentSampleAssessmentExists(id);
|
||||
// 删除
|
||||
businessSubParentSampleAssessmentMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteBusinessSubParentSampleAssessmentListByIds(List<Long> ids) {
|
||||
// 校验存在
|
||||
validateBusinessSubParentSampleAssessmentExists(ids);
|
||||
// 删除
|
||||
businessSubParentSampleAssessmentMapper.deleteByIds(ids);
|
||||
}
|
||||
|
||||
private void validateBusinessSubParentSampleAssessmentExists(List<Long> ids) {
|
||||
List<BusinessSubParentSampleAssessmentDO> list = businessSubParentSampleAssessmentMapper.selectByIds(ids);
|
||||
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
|
||||
throw exception(BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
private void validateBusinessSubParentSampleAssessmentExists(Long id) {
|
||||
if (businessSubParentSampleAssessmentMapper.selectById(id) == null) {
|
||||
throw exception(BUSINESS_SUB_PARENT_SAMPLE_ASSESSMENT_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusinessSubParentSampleAssessmentDO getBusinessSubParentSampleAssessment(Long id) {
|
||||
return businessSubParentSampleAssessmentMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<BusinessSubParentSampleAssessmentDO> getBusinessSubParentSampleAssessmentPage(BusinessSubParentSampleAssessmentPageReqVO pageReqVO) {
|
||||
return businessSubParentSampleAssessmentMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -22,7 +22,7 @@ public interface SampleAnalysisAuditService {
|
||||
|
||||
void crossAuditByByTaskId(Long businessAssayTaskId, String auditStatus);
|
||||
|
||||
JSONObject getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus);
|
||||
JSONObject getSampleResultAssessmentList(Long configAssayMethodId, String asmtReportedStatus);
|
||||
|
||||
JSONObject getParallelResultAssessment(Long businessSubSampleId, Long configAssayMethodId);
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientD
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentProjectDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentProjectDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper;
|
||||
@@ -59,6 +60,7 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParame
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentProjectMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentProjectMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
|
||||
import com.zt.plat.module.qms.business.config.controller.vo.*;
|
||||
@@ -135,8 +137,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
@Resource
|
||||
private ConfigAssayMethodProjectAssessmentMapper configAssayMethodProjectAssessmentMapper;
|
||||
|
||||
// @Resource
|
||||
// private BusinessTeamAssessmentMapper businessTeamAssessmentMapper;
|
||||
@Resource
|
||||
private BusinessSubSampleAssessmentMapper businessSubSampleAssessmentMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessSubSampleAssessmentProjectMapper businessSubSampleAssessmentProjectMapper;
|
||||
@@ -148,7 +150,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
private ConfigSubSampleMethodMapper configSubSampleMethodMapper;
|
||||
|
||||
@Override
|
||||
public JSONObject getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus) {
|
||||
public JSONObject getSampleResultAssessmentList(Long configAssayMethodId, String asmtReportedStatus) {
|
||||
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectDOList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(configAssayMethodId);
|
||||
List<Map<String, Object>> columnList = new ArrayList<>();
|
||||
|
||||
@@ -168,6 +170,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
List<Map<String, Object>> dataList = new ArrayList<>();
|
||||
BusinessAssayTaskDataReqVO search = new BusinessAssayTaskDataReqVO();
|
||||
search.setConfigAssayMethodId(configAssayMethodId);
|
||||
search.setAsmtReportedStatus(asmtReportedStatus);
|
||||
List<BusinessAssayTaskDataExtendRespVO> resultAssessmentList = businessAssayTaskDataMapper.selectResultAssessmentList(search);
|
||||
|
||||
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskDataExtendRespVO : resultAssessmentList) {
|
||||
@@ -215,10 +218,6 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(assessmentStatus)) {
|
||||
dataList = dataList.stream().filter(f -> assessmentStatus.equals(f.get("assessmentStatus"))).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("columns", columnList);
|
||||
@@ -416,14 +415,19 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void crossAuditByByTaskId(Long businessAssayTaskId, String auditStatus) {
|
||||
|
||||
//当前登录用户昵称
|
||||
String nickName = SecurityFrameworkUtils.getLoginUserNickname();
|
||||
|
||||
//自动上报的子样
|
||||
List<Long> automaticBusinessSubSampleIdList = new ArrayList<>();
|
||||
|
||||
//判定记录
|
||||
List<BusinessSubSampleAssessmentProjectDO> saveBusinessSubSampleAssessmentDOList = new ArrayList<>();
|
||||
List<BusinessSubSampleAssessmentProjectDO> updateBusinessSubSampleAssessmentDOList = new ArrayList<>();
|
||||
List<BusinessSubSampleAssessmentDO> updateBusinessSubSampleAssessmentDOList = new ArrayList<>();
|
||||
List<BusinessSubSampleAssessmentProjectDO> saveBusinessSubSampleAssessmentProjectDOList = new ArrayList<>();
|
||||
List<BusinessSubSampleAssessmentProjectDO> updateBusinessSubSampleAssessmentProjectDOList = new ArrayList<>();
|
||||
|
||||
BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId);
|
||||
if (QmsCommonConstant.APPROVE.equals(auditStatus)) {
|
||||
@@ -434,6 +438,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
|
||||
//查询分析任务明细
|
||||
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(businessAssayTaskId);
|
||||
List<Long> businessSubSampleIdList = businessAssayTaskDataDOList.stream().map(m -> m.getBusinessSubSampleId()).distinct().collect(Collectors.toList());
|
||||
List<BusinessSubSampleAssessmentDO> businessSubSampleAssessmentDOList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdsAndConfigAssayMethodId(businessSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId());
|
||||
//根据子样分组
|
||||
Map<Long, List<BusinessAssayTaskDataDO>> businessAssayTaskDataDOMap = businessAssayTaskDataDOList.stream().collect(Collectors.groupingBy(BusinessAssayTaskDataDO::getBusinessSubSampleId));
|
||||
//循环分组
|
||||
@@ -444,6 +450,10 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
List<Long> businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
|
||||
BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataList.get(0);
|
||||
|
||||
BusinessSubSampleDO businessSubSampleDO = businessSubSampleMapper.selectById(businessSubSampleId);
|
||||
//获取子样分析方法配置
|
||||
ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessSubSampleDO.getConfigSubSampleId(), businessAssayTaskDataDO.getConfigAssayMethodId());
|
||||
|
||||
if (QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL.equals(businessAssayTaskDataDO.getAssayType())) {
|
||||
//根据子样id及分析方法id,查询未上报的分析任务
|
||||
List<BusinessAssayTaskDataDO> unReportedList = businessAssayTaskDataMapper.selectIsReportedList(businessAssayTaskDataIdList, businessAssayTaskDataDO.getBusinessSubSampleId(), businessAssayTaskDataDO.getConfigAssayMethodId(), QmsCommonConstant.NO);
|
||||
@@ -457,6 +467,14 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
businessAssayTaskDataIdList.addAll(reportedBusinessAssayTaskDataIdList);
|
||||
}
|
||||
|
||||
//查询判定业务
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = updateBusinessSubSampleAssessmentDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleAssessmentId())).findFirst().orElse(null);
|
||||
if (businessSubSampleAssessmentDO == null) {
|
||||
businessSubSampleAssessmentDO = businessSubSampleAssessmentDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleAssessmentId())).findFirst().orElse(null);
|
||||
updateBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||
}
|
||||
//状态设置为待上报
|
||||
businessSubSampleAssessmentDO.setReportedStatus(QmsCommonConstant.ASMT_PENDING_REPORT);
|
||||
//查询分析项目
|
||||
List<BusinessAssayProjectDataDO> businessAssayProjectDataDOList = businessAssayProjectDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayProjectDataDO>().in(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList));
|
||||
Map<Long, List<BusinessAssayProjectDataDO>> businessAssayProjectDataDOMap = businessAssayProjectDataDOList.stream().collect(Collectors.groupingBy(BusinessAssayProjectDataDO::getDictionaryProjectId));
|
||||
@@ -471,9 +489,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
if (businessSubSampleAssessmentProjectDO == null) {
|
||||
businessSubSampleAssessmentProjectDO = new BusinessSubSampleAssessmentProjectDO();
|
||||
|
||||
saveBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentProjectDO);
|
||||
saveBusinessSubSampleAssessmentProjectDOList.add(businessSubSampleAssessmentProjectDO);
|
||||
} else {
|
||||
updateBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentProjectDO);
|
||||
updateBusinessSubSampleAssessmentProjectDOList.add(businessSubSampleAssessmentProjectDO);
|
||||
}
|
||||
businessSubSampleAssessmentProjectDO.setBusinessSubParentSampleId(businessAssayTaskDataDO.getBusinessSubParentSampleId());
|
||||
businessSubSampleAssessmentProjectDO.setBusinessSubSampleId(businessAssayTaskDataDO.getBusinessSubSampleId());
|
||||
@@ -524,13 +542,18 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
BigDecimal diff = sortedValues.get(i + 1).subtract(sortedValues.get(i)).abs();
|
||||
if (diff.compareTo(allowValue) > 0) {
|
||||
businessSubSampleAssessmentProjectDO.setAssessmentStatus(QmsCommonConstant.EXCEEDS_TOLERANCE);
|
||||
//存在超差,设置为待判定
|
||||
businessSubSampleAssessmentDO.setReportedStatus(QmsCommonConstant.ASMT_PENDING_ASSESSMENT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//如果为自动上报
|
||||
if (QmsCommonConstant.AUTOMATIC.equals(configSubSampleMethodDO.getResultTreatmentWay())) {
|
||||
automaticBusinessSubSampleIdList.add(businessSubSampleId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -539,6 +562,17 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
} else if (QmsCommonConstant.ASSAY_TYPE_DOUBLE_CUP.equals(businessAssayTaskDataDO.getAssayType())) {
|
||||
|
||||
} else {//单杯
|
||||
|
||||
|
||||
//查询判定业务
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = updateBusinessSubSampleAssessmentDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleAssessmentId())).findFirst().orElse(null);
|
||||
if (businessSubSampleAssessmentDO == null) {
|
||||
businessSubSampleAssessmentDO = businessSubSampleAssessmentDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleAssessmentId())).findFirst().orElse(null);
|
||||
updateBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
|
||||
}
|
||||
//修改状态为待上报
|
||||
businessSubSampleAssessmentDO.setReportedStatus(QmsCommonConstant.ASMT_PENDING_REPORT);
|
||||
|
||||
//查询分析项目
|
||||
List<BusinessAssayProjectDataDO> businessAssayProjectDataDOList = businessAssayProjectDataMapper.selectList(new LambdaQueryWrapperX<BusinessAssayProjectDataDO>().in(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList));
|
||||
|
||||
@@ -549,9 +583,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
if (businessSubSampleAssessmentProjectDO == null) {
|
||||
businessSubSampleAssessmentProjectDO = new BusinessSubSampleAssessmentProjectDO();
|
||||
|
||||
saveBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentProjectDO);
|
||||
saveBusinessSubSampleAssessmentProjectDOList.add(businessSubSampleAssessmentProjectDO);
|
||||
} else {
|
||||
updateBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentProjectDO);
|
||||
updateBusinessSubSampleAssessmentProjectDOList.add(businessSubSampleAssessmentProjectDO);
|
||||
}
|
||||
businessSubSampleAssessmentProjectDO.setBusinessSubParentSampleId(businessAssayTaskDataDO.getBusinessSubParentSampleId());
|
||||
businessSubSampleAssessmentProjectDO.setBusinessSubSampleId(businessAssayTaskDataDO.getBusinessSubSampleId());
|
||||
@@ -569,6 +603,13 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
businessSubSampleAssessmentProjectDO.setAssessmentValue(businessAssayProjectDataDO.getValue());
|
||||
}
|
||||
|
||||
|
||||
//如果为自动上报
|
||||
if (QmsCommonConstant.AUTOMATIC.equals(configSubSampleMethodDO.getResultTreatmentWay())) {
|
||||
automaticBusinessSubSampleIdList.add(businessSubSampleId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -598,18 +639,23 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
}
|
||||
businessAssayTaskMapper.updateById(businessAssayTaskDO);
|
||||
|
||||
//插入平行判定记录
|
||||
if (saveBusinessSubSampleAssessmentDOList.size() > 0) {
|
||||
businessSubSampleAssessmentProjectMapper.insertBatch(saveBusinessSubSampleAssessmentDOList);
|
||||
}
|
||||
if (updateBusinessSubSampleAssessmentDOList.size() > 0) {
|
||||
businessSubSampleAssessmentProjectMapper.updateBatch(updateBusinessSubSampleAssessmentDOList);
|
||||
businessSubSampleAssessmentMapper.updateBatch(updateBusinessSubSampleAssessmentDOList);
|
||||
}
|
||||
if (saveBusinessSubSampleAssessmentProjectDOList.size() > 0) {
|
||||
businessSubSampleAssessmentProjectMapper.insertBatch(saveBusinessSubSampleAssessmentProjectDOList);
|
||||
}
|
||||
if (updateBusinessSubSampleAssessmentProjectDOList.size() > 0) {
|
||||
businessSubSampleAssessmentProjectMapper.updateBatch(updateBusinessSubSampleAssessmentProjectDOList);
|
||||
}
|
||||
|
||||
//执行自动上报
|
||||
if (automaticBusinessSubSampleIdList.size() > 0) {
|
||||
for (Long automaticBusinessSubSampleId : automaticBusinessSubSampleIdList) {
|
||||
this.assessmentDataReporting(automaticBusinessSubSampleId, businessAssayTaskDO.getConfigAssayMethodId());
|
||||
}
|
||||
}
|
||||
|
||||
//插入双杯判定记录
|
||||
// if (businessTeamAssessmentDOList.size() > 0) {
|
||||
// businessTeamAssessmentMapper.insertBatch(businessTeamAssessmentDOList);
|
||||
// }
|
||||
}
|
||||
|
||||
// 查找匹配的允差区间
|
||||
@@ -682,6 +728,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
@Resource
|
||||
private BusinessSubParentSampleAssessmentProjectMapper businessSubParentSampleAssessmentProjectMapper;
|
||||
|
||||
@Resource
|
||||
private SampleResultReportingService sampleResultReportingService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void assessmentDataReporting(Long businessSubSampleId, Long configAssayMethodId) {
|
||||
@@ -691,6 +740,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
if (unReportedList.size() > 0) {
|
||||
throw new ServiceException(1_032_100_000, "存在未上报的数据");
|
||||
}
|
||||
List<Long> automaticBusinessSubParentSampleIdList = new ArrayList<>();
|
||||
// List<BusinessAssayReportDataDO> saveBusinessAssayReportDataDOList = new ArrayList<>();
|
||||
// List<BusinessAssayReportDataDO> updateBusinessAssayReportDataDOList = new ArrayList<>();
|
||||
|
||||
@@ -837,6 +887,15 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
.set(BusinessSubSampleAssessmentProjectDO::getReporter, nickName)
|
||||
.set(BusinessSubSampleAssessmentProjectDO::getReportTime, LocalDateTime.now())
|
||||
.in(BusinessSubSampleAssessmentProjectDO::getId, businessSubSampleAssessmentIdList));
|
||||
|
||||
if (QmsCommonConstant.AUTOMATIC.equals(configSubSampleParentMethodDO.getResultTreatmentWay())) {
|
||||
automaticBusinessSubParentSampleIdList.add(businessSubParentSampleDO.getId());
|
||||
BatchResultDataReportingReqVO batchResultDataReportingReqVO = new BatchResultDataReportingReqVO();
|
||||
batchResultDataReportingReqVO.setBusinessSubParentSampleIds(automaticBusinessSubParentSampleIdList);
|
||||
batchResultDataReportingReqVO.setConfigAssayMethodId(configAssayMethodId);
|
||||
|
||||
sampleResultReportingService.batchResultDataReporting(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Resource
|
||||
@@ -864,6 +923,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
List<BusinessAssayProjectDataDO> newBusinessAssayProjectDataDOList = new ArrayList<>();
|
||||
List<BusinessAssayParameterDataDO> newBusinessAssayParameterDataDOList = new ArrayList<>();
|
||||
|
||||
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdsAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId);
|
||||
|
||||
BusinessAssayTaskDataDO newBusinessAssayTaskDataDO = null;
|
||||
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectMaxAnalysisCountByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId);
|
||||
List<Long> businessAssayTaskDataDOIdList = businessAssayTaskDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList());
|
||||
@@ -879,6 +940,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
newBusinessAssayTaskDataDO.setBusinessSubParentSampleId(businessAssayTaskDataDO.getBusinessSubParentSampleId());
|
||||
newBusinessAssayTaskDataDO.setBusinessSubSampleId(businessAssayTaskDataDO.getBusinessSubSampleId());
|
||||
newBusinessAssayTaskDataDO.setConfigAssayMethodId(businessAssayTaskDataDO.getConfigAssayMethodId());
|
||||
newBusinessAssayTaskDataDO.setBusinessSubSampleAssessmentId(businessSubSampleAssessmentDO.getId());
|
||||
newBusinessAssayTaskDataDO.setAssayType(businessAssayTaskDataDO.getAssayType());
|
||||
newBusinessAssayTaskDataDO.setTaskType(businessAssayTaskDataDO.getTaskType());
|
||||
newBusinessAssayTaskDataDO.setConfigSampleFlowId(businessAssayTaskDataDO.getConfigSampleFlowId());
|
||||
@@ -929,6 +991,10 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
businessSubSampleAssessmentProjectExtendRespVO.setAssessmentValue(null);
|
||||
businessSubSampleAssessmentProjectExtendRespVO.setAssessmentStatus(QmsCommonConstant.IN_PROGRESS);
|
||||
}
|
||||
//修改上报状态为复测中
|
||||
businessSubSampleAssessmentDO.setReportedStatus(QmsCommonConstant.ASMT_RE_INSPECTED);
|
||||
|
||||
businessSubSampleAssessmentMapper.updateById(businessSubSampleAssessmentDO);
|
||||
|
||||
if (newBusinessAssayTaskDataDOList.size() > 0) {
|
||||
businessAssayTaskDataMapper.insertBatch(newBusinessAssayTaskDataDOList);
|
||||
|
||||
@@ -42,34 +42,52 @@
|
||||
t.CFG_ASY_MTHD_ID AS configAssayMethodId,
|
||||
t.ASY_TP AS assayType,
|
||||
tcam.NAME AS configAssayMethodName,
|
||||
COUNT(t.BSN_SB_SMP_ID) AS sampleTaskCount
|
||||
count(CASE WHEN t.RPOD_STS = 'initial' THEN 1 END) AS asmt_initial_count,
|
||||
count(CASE WHEN t.RPOD_STS = 'pending_report' THEN 1 END) AS asmt_pending_report_count,
|
||||
count(CASE WHEN t.RPOD_STS = 'pending_assessment' THEN 1 END) AS asmt_pending_assessment_count,
|
||||
count(CASE WHEN t.RPOD_STS = 're_inspected' THEN 1 END) AS asmt_re_inspected_count,
|
||||
count(CASE WHEN t.RPOD_STS = 'reported' THEN 1 END) AS asmt_reported_count
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
tbssa.TENANT_ID ,
|
||||
tbssa.BSN_SB_PRN_SMP_ID ,
|
||||
tbssa.BSN_SB_SMP_ID ,
|
||||
tbssa.CFG_ASY_MTHD_ID,
|
||||
tbssa.ASY_TP
|
||||
tbatd.TENANT_ID ,
|
||||
tbatd.BSN_SB_PRN_SMP_ID ,
|
||||
tbatd.BSN_SB_SMP_ID ,
|
||||
tbatd.CFG_ASY_MTHD_ID,
|
||||
tbatd.ASY_TP,
|
||||
tbssag.ASY_DEPT_ID ,
|
||||
tbssag.ASY_DEPT_NAME ,
|
||||
tbssa.RPOD_STS
|
||||
FROM
|
||||
T_BSN_SB_SMP_ASMT tbssa
|
||||
T_BSN_ASY_TSK_DAT tbatd
|
||||
LEFT JOIN T_BSN_SB_SMP_ANL_GRP tbssag ON
|
||||
tbatd.BSN_SB_SMP_ID = tbssag.BSN_SB_SMP_ID
|
||||
AND tbatd.ASY_DEPT_ID = tbssag.ASY_DEPT_ID
|
||||
AND tbatd.TENANT_ID = tbssag.TENANT_ID
|
||||
LEFT JOIN T_BSN_SB_SMP_ASMT tbssa ON
|
||||
tbatd.BSN_SB_SMP_ASMT_ID = tbssa.ID
|
||||
AND tbatd.TENANT_ID = tbssa.TENANT_ID
|
||||
WHERE
|
||||
tbssa.DELETED = 0
|
||||
AND tbssa.IS_RPOD = 0
|
||||
tbatd.DELETED = 0
|
||||
AND tbatd.TENANT_ID = 1
|
||||
AND tbatd.IS_ASN_TSKD = 1
|
||||
AND tbssag.SMP_STS = '已收样'
|
||||
<if test="reqVO.assayDepartmentId != null and reqVO.assayDepartmentId != ''">
|
||||
AND tbssag.ASY_DEPT_ID = #{reqVO.assayDepartmentId}
|
||||
</if>
|
||||
GROUP BY
|
||||
tbssa.TENANT_ID ,
|
||||
tbssa.BSN_SB_PRN_SMP_ID ,
|
||||
tbssa.BSN_SB_SMP_ID ,
|
||||
tbssa.CFG_ASY_MTHD_ID,
|
||||
tbssa.ASY_TP
|
||||
tbatd.TENANT_ID ,
|
||||
tbatd.BSN_SB_PRN_SMP_ID ,
|
||||
tbatd.BSN_SB_SMP_ID ,
|
||||
tbatd.CFG_ASY_MTHD_ID,
|
||||
tbatd.ASY_TP,
|
||||
tbssag.ASY_DEPT_ID ,
|
||||
tbssag.ASY_DEPT_NAME ,
|
||||
tbssa.RPOD_STS
|
||||
) t
|
||||
LEFT JOIN T_CFG_ASY_MTHD tcam ON
|
||||
t.CFG_ASY_MTHD_ID = tcam.ID
|
||||
AND t.TENANT_ID = tcam.TENANT_ID
|
||||
WHERE tcam.DELETED = 0
|
||||
<if test="reqVO.assayDepartmentId != null and reqVO.assayDepartmentId != ''">
|
||||
AND tcam.ASY_DEPT_ID = #{reqVO.assayDepartmentId}
|
||||
</if>
|
||||
GROUP BY
|
||||
t.CFG_ASY_MTHD_ID,
|
||||
t.ASY_TP,
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper">
|
||||
|
||||
<!--
|
||||
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user