From 9d43ce6a6272ab63d9afedbfc0d1ce7eaf728d0f Mon Sep 17 00:00:00 2001 From: wxr Date: Fri, 13 Mar 2026 15:52:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8F=AD=E7=BB=84=E5=95=86=E6=A3=80=E6=8A=A5?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/qms/enums/QmsCommonConstant.java | 8 + ...nessSampleEntrustDepartmentController.java | 109 ++++++ ...mpleEntrustDepartmentDetailController.java | 110 ++++++ .../BusinessSampleEntrustFileController.java | 109 ++++++ .../SampleDeptEntrustDocAuditController.java | 45 +++ .../BusinessAssayReportDataExtendRespVO.java | 19 + ...ampleEntrustDepartmentDetailPageReqVO.java | 66 ++++ ...ssSampleEntrustDepartmentDetailRespVO.java | 86 +++++ ...ampleEntrustDepartmentDetailSaveReqVO.java | 68 ++++ ...ssSampleEntrustDepartmentExtendRespVO.java | 24 ++ ...inessSampleEntrustDepartmentPageReqVO.java | 72 ++++ ...BusinessSampleEntrustDepartmentRespVO.java | 93 +++++ ...inessSampleEntrustDepartmentSaveReqVO.java | 71 ++++ .../BusinessSampleEntrustFilePageReqVO.java | 44 +++ .../vo/BusinessSampleEntrustFileRespVO.java | 55 +++ .../BusinessSampleEntrustFileSaveReqVO.java | 40 +++ .../vo/DeptEntrustDocAuditParam.java | 16 + .../BusinessSampleEntrustDepartmentDO.java | 120 +++++++ ...sinessSampleEntrustDepartmentDetailDO.java | 109 ++++++ .../BusinessSampleEntrustFileDO.java | 75 ++++ .../mapper/BusinessAssayReportDataMapper.java | 12 + .../mapper/BusinessAssayTaskDataMapper.java | 24 ++ ...ssSampleEntrustDepartmentDetailMapper.java | 53 +++ ...BusinessSampleEntrustDepartmentMapper.java | 64 ++++ .../BusinessSampleEntrustFileMapper.java | 49 +++ ...ubParentSampleAssessmentProjectMapper.java | 16 + .../entrust/SampleEntrustCreateDataCmp.java | 43 ++- .../SampleEntrustGenSampleDataCmp.java | 105 ++++++ .../entrust/SampleEntrustUpdateDataCmp.java | 44 ++- ...sSampleEntrustDepartmentDetailService.java | 62 ++++ ...pleEntrustDepartmentDetailServiceImpl.java | 91 +++++ ...usinessSampleEntrustDepartmentService.java | 62 ++++ ...essSampleEntrustDepartmentServiceImpl.java | 91 +++++ .../BusinessSampleEntrustFileService.java | 62 ++++ .../BusinessSampleEntrustFileServiceImpl.java | 91 +++++ .../service/SampleAnalysisAuditService.java | 2 + .../SampleAnalysisAuditServiceImpl.java | 13 +- .../SampleDeptEntrustDocAuditService.java | 15 + .../SampleDeptEntrustDocAuditServiceImpl.java | 338 ++++++++++++++++++ .../SampleResultReportingServiceImpl.java | 96 ++++- .../vo/ConfigEntrustSourcePageReqVO.java | 12 +- .../vo/ConfigEntrustSourceReqVO.java | 11 +- .../vo/ConfigEntrustSourceRespVO.java | 19 +- .../vo/ConfigEntrustSourceSaveReqVO.java | 15 +- .../dal/dataobject/ConfigEntrustSourceDO.java | 16 + .../dal/mapper/ConfigEntrustSourceMapper.java | 12 +- .../data/dal/mapper/DataTemplateMapper.java | 19 + ...essSampleEntrustDepartmentDetailMapper.xml | 12 + .../BusinessSampleEntrustDepartmentMapper.xml | 12 + .../BusinessSampleEntrustFileMapper.xml | 22 ++ 50 files changed, 2788 insertions(+), 34 deletions(-) create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDepartmentController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDepartmentDetailController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustFileController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleDeptEntrustDocAuditController.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataExtendRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentExtendRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentPageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFilePageReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileRespVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileSaveReqVO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/DeptEntrustDocAuditParam.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDepartmentDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDepartmentDetailDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustFileDO.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentDetailMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentDetailService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentDetailServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditService.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditServiceImpl.java create mode 100644 zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentDetailMapper.xml create mode 100644 zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentMapper.xml create mode 100644 zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.xml diff --git a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java index cafa9fb4..e769f00f 100644 --- a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java +++ b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsCommonConstant.java @@ -206,6 +206,14 @@ public interface QmsCommonConstant { /** 数据回报状态 未回报 **/ String UNRETURNED = "unreturned"; + /** 委检登记附件类型:委检登记上传 **/ + String ENTRUST_ATTACHMENT_CATEGORY_REGISTRATION = "entrust_registration_upload"; + + /** 委检登记附件类型:原始记录 **/ + String ENTRUST_ATTACHMENT_CATEGORY_ASSAY_TASK = "entrust_assay_task_upload"; + + /** 委检登记附件类型:商检部门分析报告 **/ + String ENTRUST_ATTACHMENT_CATEGORY_DEPT_DOC = "entrust_dept_doc_upload"; /** 自动 **/ String AUTOMATIC = "automatic"; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDepartmentController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDepartmentController.java new file mode 100644 index 00000000..8dc322c3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDepartmentController.java @@ -0,0 +1,109 @@ +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 com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; + +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.BusinessSampleEntrustDepartmentDO; +import com.zt.plat.module.qms.business.bus.service.BusinessSampleEntrustDepartmentService; +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-sample-entrust-department") +@Validated +@DeptDataPermissionIgnore(enable = "true") +public class BusinessSampleEntrustDepartmentController implements BusinessControllerMarker { + + + @Resource + private BusinessSampleEntrustDepartmentService businessSampleEntrustDepartmentService; + + @PostMapping("/create") + @Operation(summary = "创建委检登记分析部门业务") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:create')") + public CommonResult createBusinessSampleEntrustDepartment(@Valid @RequestBody BusinessSampleEntrustDepartmentSaveReqVO createReqVO) { + return success(businessSampleEntrustDepartmentService.createBusinessSampleEntrustDepartment(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新委检登记分析部门业务") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:update')") + public CommonResult updateBusinessSampleEntrustDepartment(@Valid @RequestBody BusinessSampleEntrustDepartmentSaveReqVO updateReqVO) { + businessSampleEntrustDepartmentService.updateBusinessSampleEntrustDepartment(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除委检登记分析部门业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:delete')") + public CommonResult deleteBusinessSampleEntrustDepartment(@RequestParam("id") Long id) { + businessSampleEntrustDepartmentService.deleteBusinessSampleEntrustDepartment(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除委检登记分析部门业务") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:delete')") + public CommonResult deleteBusinessSampleEntrustDepartmentList(@RequestBody BatchDeleteReqVO req) { + businessSampleEntrustDepartmentService.deleteBusinessSampleEntrustDepartmentListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得委检登记分析部门业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") +// @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:query')") + public CommonResult getBusinessSampleEntrustDepartment(@RequestParam("id") Long id) { + BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartment = businessSampleEntrustDepartmentService.getBusinessSampleEntrustDepartment(id); + return success(BeanUtils.toBean(businessSampleEntrustDepartment, BusinessSampleEntrustDepartmentRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得委检登记分析部门业务分页") +// @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:query')") + public CommonResult> getBusinessSampleEntrustDepartmentPage(@Valid BusinessSampleEntrustDepartmentPageReqVO pageReqVO) { + PageResult pageResult = businessSampleEntrustDepartmentService.getBusinessSampleEntrustDepartmentPage(pageReqVO); + return success(pageResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出委检登记分析部门业务 Excel") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessSampleEntrustDepartmentExcel(@Valid BusinessSampleEntrustDepartmentPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessSampleEntrustDepartmentService.getBusinessSampleEntrustDepartmentPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "委检登记分析部门业务.xls", "数据", BusinessSampleEntrustDepartmentRespVO.class, + BeanUtils.toBean(list, BusinessSampleEntrustDepartmentRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDepartmentDetailController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDepartmentDetailController.java new file mode 100644 index 00000000..f382707d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustDepartmentDetailController.java @@ -0,0 +1,110 @@ +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 com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; + +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.BusinessSampleEntrustDepartmentDetailDO; +import com.zt.plat.module.qms.business.bus.service.BusinessSampleEntrustDepartmentDetailService; +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-sample-entrust-department-detail") +@Validated +@DeptDataPermissionIgnore(enable = "true") +public class BusinessSampleEntrustDepartmentDetailController implements BusinessControllerMarker { + + + @Resource + private BusinessSampleEntrustDepartmentDetailService businessSampleEntrustDepartmentDetailService; + + @PostMapping("/create") + @Operation(summary = "创建委检登记分析部门样品明细") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department-detail:create')") + public CommonResult createBusinessSampleEntrustDepartmentDetail(@Valid @RequestBody BusinessSampleEntrustDepartmentDetailSaveReqVO createReqVO) { + return success(businessSampleEntrustDepartmentDetailService.createBusinessSampleEntrustDepartmentDetail(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新委检登记分析部门样品明细") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department-detail:update')") + public CommonResult updateBusinessSampleEntrustDepartmentDetail(@Valid @RequestBody BusinessSampleEntrustDepartmentDetailSaveReqVO updateReqVO) { + businessSampleEntrustDepartmentDetailService.updateBusinessSampleEntrustDepartmentDetail(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除委检登记分析部门样品明细") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department-detail:delete')") + public CommonResult deleteBusinessSampleEntrustDepartmentDetail(@RequestParam("id") Long id) { + businessSampleEntrustDepartmentDetailService.deleteBusinessSampleEntrustDepartmentDetail(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除委检登记分析部门样品明细") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department-detail:delete')") + public CommonResult deleteBusinessSampleEntrustDepartmentDetailList(@RequestBody BatchDeleteReqVO req) { + businessSampleEntrustDepartmentDetailService.deleteBusinessSampleEntrustDepartmentDetailListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得委检登记分析部门样品明细") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department-detail:query')") + public CommonResult getBusinessSampleEntrustDepartmentDetail(@RequestParam("id") Long id) { + BusinessSampleEntrustDepartmentDetailDO businessSampleEntrustDepartmentDetail = businessSampleEntrustDepartmentDetailService.getBusinessSampleEntrustDepartmentDetail(id); + return success(BeanUtils.toBean(businessSampleEntrustDepartmentDetail, BusinessSampleEntrustDepartmentDetailRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得委检登记分析部门样品明细分页") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department-detail:query')") + public CommonResult> getBusinessSampleEntrustDepartmentDetailPage(@Valid BusinessSampleEntrustDepartmentDetailPageReqVO pageReqVO) { + PageResult pageResult = businessSampleEntrustDepartmentDetailService.getBusinessSampleEntrustDepartmentDetailPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessSampleEntrustDepartmentDetailRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出委检登记分析部门样品明细 Excel") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-department-detail:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessSampleEntrustDepartmentDetailExcel(@Valid BusinessSampleEntrustDepartmentDetailPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessSampleEntrustDepartmentDetailService.getBusinessSampleEntrustDepartmentDetailPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "委检登记分析部门样品明细.xls", "数据", BusinessSampleEntrustDepartmentDetailRespVO.class, + BeanUtils.toBean(list, BusinessSampleEntrustDepartmentDetailRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustFileController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustFileController.java new file mode 100644 index 00000000..167c1db2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleEntrustFileController.java @@ -0,0 +1,109 @@ +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 com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; + +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.BusinessSampleEntrustFileDO; +import com.zt.plat.module.qms.business.bus.service.BusinessSampleEntrustFileService; +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-sample-entrust-file") +@Validated +@DeptDataPermissionIgnore(enable = "true") +public class BusinessSampleEntrustFileController implements BusinessControllerMarker { + + + @Resource + private BusinessSampleEntrustFileService businessSampleEntrustFileService; + + @PostMapping("/create") + @Operation(summary = "创建委检登记附件业务") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:create')") + public CommonResult createBusinessSampleEntrustFile(@Valid @RequestBody BusinessSampleEntrustFileSaveReqVO createReqVO) { + return success(businessSampleEntrustFileService.createBusinessSampleEntrustFile(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新委检登记附件业务") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:update')") + public CommonResult updateBusinessSampleEntrustFile(@Valid @RequestBody BusinessSampleEntrustFileSaveReqVO updateReqVO) { + businessSampleEntrustFileService.updateBusinessSampleEntrustFile(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除委检登记附件业务") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:delete')") + public CommonResult deleteBusinessSampleEntrustFile(@RequestParam("id") Long id) { + businessSampleEntrustFileService.deleteBusinessSampleEntrustFile(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除委检登记附件业务") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:delete')") + public CommonResult deleteBusinessSampleEntrustFileList(@RequestBody BatchDeleteReqVO req) { + businessSampleEntrustFileService.deleteBusinessSampleEntrustFileListByIds(req.getIds()); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得委检登记附件业务") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:query')") + public CommonResult getBusinessSampleEntrustFile(@RequestParam("id") Long id) { + BusinessSampleEntrustFileDO businessSampleEntrustFile = businessSampleEntrustFileService.getBusinessSampleEntrustFile(id); + return success(BeanUtils.toBean(businessSampleEntrustFile, BusinessSampleEntrustFileRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得委检登记附件业务分页") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:query')") + public CommonResult> getBusinessSampleEntrustFilePage(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO) { + PageResult pageResult = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, BusinessSampleEntrustFileRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出委检登记附件业务 Excel") + @PreAuthorize("@ss.hasPermission('t:business-sample-entrust-file:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportBusinessSampleEntrustFileExcel(@Valid BusinessSampleEntrustFilePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = businessSampleEntrustFileService.getBusinessSampleEntrustFilePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "委检登记附件业务.xls", "数据", BusinessSampleEntrustFileRespVO.class, + BeanUtils.toBean(list, BusinessSampleEntrustFileRespVO.class)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleDeptEntrustDocAuditController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleDeptEntrustDocAuditController.java new file mode 100644 index 00000000..b83ae58e --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleDeptEntrustDocAuditController.java @@ -0,0 +1,45 @@ +package com.zt.plat.module.qms.business.bus.controller.admin; + +import static com.zt.plat.framework.common.pojo.CommonResult.success; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.alibaba.fastjson2.JSONObject; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; +import com.zt.plat.module.qms.business.bus.controller.vo.DeptEntrustDocAuditParam; +import com.zt.plat.module.qms.business.bus.service.SampleDeptEntrustDocAuditService; + +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; + + +@Tag(name = "管理后台 - 样品班组委托报告审核") +@RestController +@RequestMapping("/qms/bus/sample/dept-entrust-doc-audit") +@Validated +@DeptDataPermissionIgnore(enable = "true") +public class SampleDeptEntrustDocAuditController { + + @Resource + private SampleDeptEntrustDocAuditService sampleDeptEntrustDocAuditService; + + + @GetMapping("/getDeptEntrustDocAuditByBusSampleEntrustDeptId") + public CommonResult getDeptEntrustDocAuditByBusSampleEntrustDeptId(Long businessSampleEntrustDepartmentId) { + JSONObject json = sampleDeptEntrustDocAuditService.getDeptEntrustDocAuditByBusSampleEntrustDeptId(businessSampleEntrustDepartmentId); + return success(json); + } + + @PostMapping("/auditDeptEntrustDocAudit") + public CommonResult auditDeptEntrustDocAudit(@RequestBody DeptEntrustDocAuditParam param) { + sampleDeptEntrustDocAuditService.auditDeptEntrustDocAudit(param); + return success("成功"); + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataExtendRespVO.java new file mode 100644 index 00000000..c4f3353a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayReportDataExtendRespVO.java @@ -0,0 +1,19 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import com.alibaba.excel.annotation.ExcelProperty; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class BusinessAssayReportDataExtendRespVO extends BusinessAssayReportDataRespVO { + + + @Schema(description = "样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("样品名称") + private String sampleName; + + @Schema(description = "样品大类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @ExcelProperty("样品大类名称") + private String baseSampleName; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailPageReqVO.java new file mode 100644 index 00000000..43e4ea28 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailPageReqVO.java @@ -0,0 +1,66 @@ +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 BusinessSampleEntrustDepartmentDetailPageReqVO extends PageParam { + + @Schema(description = "检验委托登记ID", example = "24581") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "委检登记分析部门业务ID", example = "14151") + private Long businessSampleEntrustDepartmentId; + + @Schema(description = "主样业务ID", example = "11395") + private Long businessBaseSampleId; + + @Schema(description = "样品大类ID", example = "24368") + private Long baseSampleId; + + @Schema(description = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等", example = "30799") + private Long sampleTypeDictionaryBusinessId; + + @Schema(description = "样品名称", example = "张三") + private String sampleName; + + @Schema(description = "样品编号") + private String sampleCode; + + @Schema(description = "委托样品名称", example = "王五") + private String entrustSampleName; + + @Schema(description = "委托样品编号") + private String entrustSampleCode; + + @Schema(description = "检测项目") + private String assayProject; + + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "2") + private String assayStatus; + + @Schema(description = "排序") + private Integer sort; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "乐观锁", example = "25815") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailRespVO.java new file mode 100644 index 00000000..5e37a2ab --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailRespVO.java @@ -0,0 +1,86 @@ +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.*; +import com.zt.plat.module.qms.core.aspect.annotation.Dict; + +@Schema(description = "管理后台 - 委检登记分析部门样品明细 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessSampleEntrustDepartmentDetailRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "304") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24581") + @ExcelProperty("检验委托登记ID") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "委检登记分析部门业务ID", example = "14151") + @ExcelProperty("委检登记分析部门业务ID") + private Long businessSampleEntrustDepartmentId; + + @Schema(description = "主样业务ID", example = "11395") + @ExcelProperty("主样业务ID") + private Long businessBaseSampleId; + + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24368") + @ExcelProperty("样品大类ID") + private Long baseSampleId; + + @Schema(description = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等", requiredMode = Schema.RequiredMode.REQUIRED, example = "30799") + @ExcelProperty("样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等") + private Long sampleTypeDictionaryBusinessId; + + @Schema(description = "样品名称", example = "张三") + @ExcelProperty("样品名称") + private String sampleName; + + @Schema(description = "样品编号") + @ExcelProperty("样品编号") + private String sampleCode; + + @Schema(description = "委托样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @ExcelProperty("委托样品名称") + private String entrustSampleName; + + @Schema(description = "委托样品编号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("委托样品编号") + private String entrustSampleCode; + + @Schema(description = "检测项目", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("检测项目") + private String assayProject; + + @Dict(dicCode = "entrust_assay_status") + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "2") + @ExcelProperty("检验状态,unchecked-未检验;checked-已检验") + private String assayStatus; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("排序") + private Integer sort; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "25815") + @ExcelProperty("乐观锁") + private Integer updateCount; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailSaveReqVO.java new file mode 100644 index 00000000..0d557499 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentDetailSaveReqVO.java @@ -0,0 +1,68 @@ +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.*; + +@Schema(description = "管理后台 - 委检登记分析部门样品明细新增/修改 Request VO") +@Data +public class BusinessSampleEntrustDepartmentDetailSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "304") + private Long id; + + @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24581") + @NotNull(message = "检验委托登记ID不能为空") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "委检登记分析部门业务ID", example = "14151") + private Long businessSampleEntrustDepartmentId; + + @Schema(description = "主样业务ID", example = "11395") + private Long businessBaseSampleId; + + @Schema(description = "样品大类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24368") + @NotNull(message = "样品大类ID不能为空") + private Long baseSampleId; + + @Schema(description = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等", requiredMode = Schema.RequiredMode.REQUIRED, example = "30799") + @NotNull(message = "样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等不能为空") + private Long sampleTypeDictionaryBusinessId; + + @Schema(description = "样品名称", example = "张三") + private String sampleName; + + @Schema(description = "样品编号") + private String sampleCode; + + @Schema(description = "委托样品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") + @NotEmpty(message = "委托样品名称不能为空") + private String entrustSampleName; + + @Schema(description = "委托样品编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "委托样品编号不能为空") + private String entrustSampleCode; + + @Schema(description = "检测项目", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "检测项目不能为空") + private String assayProject; + + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "2") + private String assayStatus; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "排序不能为空") + private Integer sort; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "25815") + @NotNull(message = "乐观锁不能为空") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentExtendRespVO.java new file mode 100644 index 00000000..03f515ab --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentExtendRespVO.java @@ -0,0 +1,24 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class BusinessSampleEntrustDepartmentExtendRespVO extends BusinessSampleEntrustDepartmentRespVO { + + @Schema(description = "委托ID", example = "8978") + private Long entrustId; + + @Schema(description = "委托单号") + private String entrustNumber; + + @Schema(description = "委托单位/送样单位") + private String entrustUnit; + + @Schema(description = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "6609") + private Long configEntrustSourceId; + + @Schema(description = "委托来源,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托") + private String configEntrustSourceName; + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentPageReqVO.java new file mode 100644 index 00000000..81d97317 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentPageReqVO.java @@ -0,0 +1,72 @@ +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 BusinessSampleEntrustDepartmentPageReqVO extends PageParam { + + @Schema(description = "检验委托登记ID", example = "17511") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "分析部门ID", example = "28753") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "赵六") + private String assayDepartmentName; + + @Schema(description = "检测项目") + private String assayProject; + + @Schema(description = "检测项目带单位") + private String assayProjectUnit; + + @Schema(description = "表单设计器模板id", example = "18483") + private Long dataTemplateId; + + @Schema(description = "表单设计器模板key") + private String dataTemplateKey; + + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "1") + private String assayStatus; + + @Schema(description = "分析人") + private String assayOperator; + + @Schema(description = "分析人", example = "3028") + private String assayOperatorId; + + @Schema(description = "是否已上报") + private Integer isReported; + + @Schema(description = "上报时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] reportTime; + + @Schema(description = "上报人") + private String reportOperator; + + @Schema(description = "上报人ID", example = "5738") + private Long reportOperatorId; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "乐观锁", example = "29810") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentRespVO.java new file mode 100644 index 00000000..e09ad1bd --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentRespVO.java @@ -0,0 +1,93 @@ +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.*; +import com.zt.plat.module.qms.core.aspect.annotation.Dict; + +@Schema(description = "管理后台 - 委检登记分析部门业务 Response VO") +@Data +@ExcelIgnoreUnannotated +public class BusinessSampleEntrustDepartmentRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5904") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17511") + @ExcelProperty("检验委托登记ID") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28753") + @ExcelProperty("分析部门ID") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "赵六") + @ExcelProperty("分析部门名称") + private String assayDepartmentName; + + @Schema(description = "检测项目") + @ExcelProperty("检测项目") + private String assayProject; + + @Schema(description = "检测项目带单位") + @ExcelProperty("检测项目带单位") + private String assayProjectUnit; + + @Schema(description = "表单设计器模板id", example = "18483") + @ExcelProperty("表单设计器模板id") + private Long dataTemplateId; + + @Schema(description = "表单设计器模板key") + @ExcelProperty("表单设计器模板key") + private String dataTemplateKey; + + @Dict(dicCode = "entrust_assay_status") + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "1") + @ExcelProperty("检验状态,unchecked-未检验;checked-已检验") + private String assayStatus; + + @Schema(description = "分析人") + @ExcelProperty("分析人") + private String assayOperator; + + @Schema(description = "分析人", example = "3028") + @ExcelProperty("分析人") + private String assayOperatorId; + + @Schema(description = "是否已上报") + @ExcelProperty("是否已上报") + private Integer isReported; + + @Schema(description = "上报时间") + @ExcelProperty("上报时间") + private LocalDateTime reportTime; + + @Schema(description = "上报人") + @ExcelProperty("上报人") + private String reportOperator; + + @Schema(description = "上报人ID", example = "5738") + @ExcelProperty("上报人ID") + private Long reportOperatorId; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "29810") + @ExcelProperty("乐观锁") + private Integer updateCount; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentSaveReqVO.java new file mode 100644 index 00000000..10ba79a3 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDepartmentSaveReqVO.java @@ -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.time.LocalDateTime; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 委检登记分析部门业务新增/修改 Request VO") +@Data +public class BusinessSampleEntrustDepartmentSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5904") + private Long id; + + @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17511") + @NotNull(message = "检验委托登记ID不能为空") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "分析部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28753") + @NotNull(message = "分析部门ID不能为空") + private Long assayDepartmentId; + + @Schema(description = "分析部门名称", example = "赵六") + private String assayDepartmentName; + + @Schema(description = "检测项目") + private String assayProject; + + @Schema(description = "检测项目带单位") + private String assayProjectUnit; + + @Schema(description = "表单设计器模板id", example = "18483") + private Long dataTemplateId; + + @Schema(description = "表单设计器模板key") + private String dataTemplateKey; + + @Schema(description = "检验状态,unchecked-未检验;checked-已检验", example = "1") + private String assayStatus; + + @Schema(description = "分析人") + private String assayOperator; + + @Schema(description = "分析人", example = "3028") + private String assayOperatorId; + + @Schema(description = "是否已上报") + private Integer isReported; + + @Schema(description = "上报时间") + private LocalDateTime reportTime; + + @Schema(description = "上报人") + private String reportOperator; + + @Schema(description = "上报人ID", example = "5738") + private Long reportOperatorId; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "乐观锁", requiredMode = Schema.RequiredMode.REQUIRED, example = "29810") + @NotNull(message = "乐观锁不能为空") + private Integer updateCount; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFilePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFilePageReqVO.java new file mode 100644 index 00000000..de27a98f --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFilePageReqVO.java @@ -0,0 +1,44 @@ +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 BusinessSampleEntrustFilePageReqVO extends PageParam { + + @Schema(description = "检验委托登记ID", example = "15506") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "检验委托登记分析部门ID", example = "27286") + private Long businessSampleEntrustDepartmentId; + + @Schema(description = "附件分类,(委检登记上传/分析原始记录/报告记录)") + private String fileCategory; + + @Schema(description = "文件表ID", example = "17858") + private Long fileId; + + @Schema(description = "文件名称", example = "王五") + private String fileName; + + @Schema(description = "路径") + private String filePath; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileRespVO.java new file mode 100644 index 00000000..265060c2 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileRespVO.java @@ -0,0 +1,55 @@ +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 BusinessSampleEntrustFileRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11742") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15506") + @ExcelProperty("检验委托登记ID") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "检验委托登记分析部门ID", example = "27286") + @ExcelProperty("检验委托登记分析部门ID") + private Long businessSampleEntrustDepartmentId; + + @Schema(description = "附件分类,(委检登记上传/分析原始记录/报告记录)") + @ExcelProperty("附件分类,(委检登记上传/分析原始记录/报告记录)") + private String fileCategory; + + @Schema(description = "文件表ID", example = "17858") + @ExcelProperty("文件表ID") + private Long fileId; + + @Schema(description = "文件名称", example = "王五") + @ExcelProperty("文件名称") + private String fileName; + + @Schema(description = "路径") + @ExcelProperty("路径") + private String filePath; + + @Schema(description = "所属部门") + @ExcelProperty("所属部门") + private String systemDepartmentCode; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileSaveReqVO.java new file mode 100644 index 00000000..4f955d1d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustFileSaveReqVO.java @@ -0,0 +1,40 @@ +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.*; + +@Schema(description = "管理后台 - 委检登记附件业务新增/修改 Request VO") +@Data +public class BusinessSampleEntrustFileSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11742") + private Long id; + + @Schema(description = "检验委托登记ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15506") + @NotNull(message = "检验委托登记ID不能为空") + private Long businessSampleEntrustRegistrationId; + + @Schema(description = "检验委托登记分析部门ID", example = "27286") + private Long businessSampleEntrustDepartmentId; + + @Schema(description = "附件分类,(委检登记上传/分析原始记录/报告记录)") + private String fileCategory; + + @Schema(description = "文件表ID", example = "17858") + private Long fileId; + + @Schema(description = "文件名称", example = "王五") + private String fileName; + + @Schema(description = "路径") + private String filePath; + + @Schema(description = "所属部门") + private String systemDepartmentCode; + + @Schema(description = "备注") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/DeptEntrustDocAuditParam.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/DeptEntrustDocAuditParam.java new file mode 100644 index 00000000..1d26dcd4 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/DeptEntrustDocAuditParam.java @@ -0,0 +1,16 @@ +package com.zt.plat.module.qms.business.bus.controller.vo; + +import java.io.Serializable; +import java.util.List; + +import lombok.Data; + +@Data +public class DeptEntrustDocAuditParam implements Serializable { + + private static final long serialVersionUID = 9054236329980115276L; + + private Long businessSampleEntrustDepartmentId; + + private List assayProject; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDepartmentDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDepartmentDO.java new file mode 100644 index 00000000..960af685 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDepartmentDO.java @@ -0,0 +1,120 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + 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_smp_entt_dept") +@KeySequence("t_bsn_smp_entt_dept_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessSampleEntrustDepartmentDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 检验委托登记ID + */ + @TableField("BSN_SMP_ENTT_REG_ID") + private Long businessSampleEntrustRegistrationId; + /** + * 分析部门ID + */ + @TableField("ASY_DEPT_ID") + private Long assayDepartmentId; + /** + * 分析部门名称 + */ + @TableField("ASY_DEPT_NAME") + private String assayDepartmentName; + /** + * 检测项目 + */ + @TableField("ASY_PRJ") + private String assayProject; + /** + * 检测项目带单位 + */ + @TableField("ASY_PRJ_UNT") + private String assayProjectUnit; + /** + * 表单设计器模板id + */ + @TableField("DAT_TMPL_ID") + private Long dataTemplateId; + /** + * 表单设计器模板key + */ + @TableField("DAT_TMPL_KY") + private String dataTemplateKey; + /** + * 检验状态,unchecked-未检验;checked-已检验 + */ + @TableField("ASY_STS") + private String assayStatus; + /** + * 分析人 + */ + @TableField("ASY_OPTR") + private String assayOperator; + /** + * 分析人 + */ + @TableField("ASY_OPTR_ID") + private String assayOperatorId; + /** + * 是否已上报 + */ + @TableField("IS_RPOD") + private Integer isReported; + /** + * 上报时间 + */ + @TableField("RPT_TM") + private LocalDateTime reportTime; + /** + * 上报人 + */ + @TableField("RPT_OPTR") + private String reportOperator; + /** + * 上报人ID + */ + @TableField("RPT_OPTR_ID") + private Long reportOperatorId; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 乐观锁 + */ + @TableField("UPD_CNT") + private Integer updateCount; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDepartmentDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDepartmentDetailDO.java new file mode 100644 index 00000000..7775da23 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustDepartmentDetailDO.java @@ -0,0 +1,109 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + 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_smp_entt_dept_dtl") +@KeySequence("t_bsn_smp_entt_dept_dtl_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessSampleEntrustDepartmentDetailDO extends BusinessBaseDO { + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 检验委托登记ID + */ + @TableField("BSN_SMP_ENTT_REG_ID") + private Long businessSampleEntrustRegistrationId; + /** + * 委检登记分析部门业务ID + */ + @TableField("BSN_SMP_ENTT_DEPT_ID") + private Long businessSampleEntrustDepartmentId; + /** + * 主样业务ID + */ + @TableField("BSN_BSE_SMP_ID") + private Long businessBaseSampleId; + /** + * 样品大类ID + */ + @TableField("BSE_SMP_ID") + private Long baseSampleId; + /** + * 样品类型ID,字典表:【T_DIC_SMP_TP】西南铜委托样、商检委托样、内部委托样、抽查委托样、内审委托样等 + */ + @TableField("SMP_TP_DIC_BSN_ID") + private Long sampleTypeDictionaryBusinessId; + /** + * 样品名称 + */ + @TableField("SMP_NAME") + private String sampleName; + /** + * 样品编号 + */ + @TableField("SMP_CD") + private String sampleCode; + /** + * 委托样品名称 + */ + @TableField("ENTT_SMP_NAME") + private String entrustSampleName; + /** + * 委托样品编号 + */ + @TableField("ENTT_SMP_CD") + private String entrustSampleCode; + /** + * 检测项目 + */ + @TableField("ASY_PRJ") + private String assayProject; + /** + * 检验状态,unchecked-未检验;checked-已检验 + */ + @TableField("ASY_STS") + private String assayStatus; + /** + * 排序 + */ + @TableField("SRT") + private Integer sort; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 乐观锁 + */ + @TableField("UPD_CNT") + private Integer updateCount; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustFileDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustFileDO.java new file mode 100644 index 00000000..8df6b741 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSampleEntrustFileDO.java @@ -0,0 +1,75 @@ +package com.zt.plat.module.qms.business.bus.dal.dataobject; + +import lombok.*; +import java.util.*; + 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_smp_entt_file") +@KeySequence("t_bsn_smp_entt_file_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +/** +* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO +*/ +public class BusinessSampleEntrustFileDO extends BusinessBaseDO { + + + + /** + * ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long id; + /** + * 检验委托登记ID + */ + @TableField("BSN_SMP_ENTT_REG_ID") + private Long businessSampleEntrustRegistrationId; + /** + * 检验委托登记分析部门ID + */ + @TableField("BSN_SMP_ENTT_DEPT_ID") + private Long businessSampleEntrustDepartmentId; + /** + * 附件分类,(委检登记上传/分析原始记录/报告记录) + */ + @TableField("FILE_CTGR") + private String fileCategory; + /** + * 文件表ID + */ + @TableField("FILE_ID") + private Long fileId; + /** + * 文件名称 + */ + @TableField("FILE_NAME") + private String fileName; + /** + * 路径 + */ + @TableField("FILE_PATH") + private String filePath; + /** + * 所属部门 + */ + @TableField("SYS_DEPT_CD") + private String systemDepartmentCode; + /** + * 备注 + */ + @TableField("RMK") + private String remark; + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java index 93352a03..d17a0f4f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayReportDataMapper.java @@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.controller.vo.BusinessAssayReportDataPageReqVO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import java.util.List; @@ -50,6 +52,16 @@ public interface BusinessAssayReportDataMapper extends BaseMapperX() .inIfPresent(BusinessAssayReportDataDO::getBusinessBaseSampleId, businessBaseSampleIds)); } + + default List selectExtendByBusinessBaseSampleIds(List businessBaseSampleIds) { + return selectJoinList(BusinessAssayReportDataExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessAssayReportDataDO::getBusinessBaseSampleId) + .selectAll(BusinessAssayReportDataDO.class) + .selectAs(BusinessBaseSampleDO::getSampleName, BusinessAssayReportDataExtendRespVO::getSampleName) + .selectAs(BusinessBaseSampleDO::getBaseSampleName, BusinessAssayReportDataExtendRespVO::getBaseSampleName) + .inIfPresent(BusinessAssayReportDataDO::getBusinessBaseSampleId, businessBaseSampleIds)); + + } //查询报告待编制数据 Page queryWaitingDataForReport(IPage page, @Param("param") BusinessAssayReportDataPageReqVO param); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java index f5d4d60b..61604ed1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.java @@ -443,6 +443,30 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX selectByBusinessBaseSampleIdsAndAssayDepartmentId(List businessBaseSampleIdList, Long assayDepartmentId) { + return selectList(new LambdaQueryWrapperX() + .in(BusinessAssayTaskDataDO::getBusinessBaseSampleId, businessBaseSampleIdList) + .eq(BusinessAssayTaskDataDO::getAssayDepartmentId, assayDepartmentId)); + } + + /** + * 根据主样及分析部门查询分析任务 + * @param businessBaseSampleId 主样id + * @param assayDepartmentId 分析部门id + * @return + */ + default List selectByBusinessBaseSampleIdAndAssayDepartmentId(Long businessBaseSampleId, Long assayDepartmentId) { + return selectList(new LambdaQueryWrapperX() + .eq(BusinessAssayTaskDataDO::getBusinessBaseSampleId, businessBaseSampleId) + .eq(BusinessAssayTaskDataDO::getAssayDepartmentId, assayDepartmentId)); + } + /** * 根据子样及分析部门查询分析任务 * @param businessSubSampleId 子样id diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentDetailMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentDetailMapper.java new file mode 100644 index 00000000..bb0ace3a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentDetailMapper.java @@ -0,0 +1,53 @@ +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.BusinessSampleEntrustDepartmentDetailDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 委检登记分析部门样品明细 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessSampleEntrustDepartmentDetailMapper extends BaseMapperX { + + default PageResult selectPage(BusinessSampleEntrustDepartmentDetailPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getBusinessSampleEntrustDepartmentId, reqVO.getBusinessSampleEntrustDepartmentId()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getBaseSampleId, reqVO.getBaseSampleId()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getSampleTypeDictionaryBusinessId, reqVO.getSampleTypeDictionaryBusinessId()) + .likeIfPresent(BusinessSampleEntrustDepartmentDetailDO::getSampleName, reqVO.getSampleName()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getSampleCode, reqVO.getSampleCode()) + .likeIfPresent(BusinessSampleEntrustDepartmentDetailDO::getEntrustSampleName, reqVO.getEntrustSampleName()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getEntrustSampleCode, reqVO.getEntrustSampleCode()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getAssayProject, reqVO.getAssayProject()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getAssayStatus, reqVO.getAssayStatus()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getSort, reqVO.getSort()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessSampleEntrustDepartmentDetailDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessSampleEntrustDepartmentDetailDO::getId)); + } + + default List selectByBusinessSampleEntrustDepartmentId(Long businessSampleEntrustDepartmentId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(BusinessSampleEntrustDepartmentDetailDO::getBusinessSampleEntrustDepartmentId, businessSampleEntrustDepartmentId) + .orderByAsc(BusinessSampleEntrustDepartmentDetailDO::getId)); + } + + default List selectByBusinessSampleEntrustRegistrationIds(List businessSampleEntrustRegistrationIdList) { + return selectList(new LambdaQueryWrapperX() + .inIfPresent(BusinessSampleEntrustDepartmentDetailDO::getBusinessSampleEntrustRegistrationId, businessSampleEntrustRegistrationIdList) + .orderByAsc(BusinessSampleEntrustDepartmentDetailDO::getId)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentMapper.java new file mode 100644 index 00000000..04afac4f --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentMapper.java @@ -0,0 +1,64 @@ +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.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.BusinessSampleEntrustDepartmentDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; + +/** + * 委检登记分析部门业务 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessSampleEntrustDepartmentMapper extends BaseMapperX { + + default PageResult selectPage(BusinessSampleEntrustDepartmentPageReqVO reqVO) { + return selectJoinPage(reqVO, BusinessSampleEntrustDepartmentExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessSampleEntrustRegistrationDO.class, BusinessSampleEntrustRegistrationDO::getId, BusinessSampleEntrustDepartmentDO::getBusinessSampleEntrustRegistrationId) + .leftJoin(ConfigEntrustSourceDO.class, ConfigEntrustSourceDO::getId, BusinessSampleEntrustRegistrationDO::getConfigEntrustSourceId) + .selectAll(BusinessSampleEntrustDepartmentDO.class) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustId, BusinessSampleEntrustDepartmentExtendRespVO::getEntrustId) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustNumber, BusinessSampleEntrustDepartmentExtendRespVO::getEntrustNumber) + .selectAs(BusinessSampleEntrustRegistrationDO::getEntrustUnit, BusinessSampleEntrustDepartmentExtendRespVO::getEntrustUnit) + .selectAs(BusinessSampleEntrustRegistrationDO::getConfigEntrustSourceId, BusinessSampleEntrustDepartmentExtendRespVO::getConfigEntrustSourceId) + .selectAs(ConfigEntrustSourceDO::getName, BusinessSampleEntrustDepartmentExtendRespVO::getConfigEntrustSourceName) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getAssayDepartmentId, reqVO.getAssayDepartmentId()) + .likeIfPresent(BusinessSampleEntrustDepartmentDO::getAssayDepartmentName, reqVO.getAssayDepartmentName()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getAssayProject, reqVO.getAssayProject()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getAssayProjectUnit, reqVO.getAssayProjectUnit()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getDataTemplateId, reqVO.getDataTemplateId()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getDataTemplateKey, reqVO.getDataTemplateKey()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getAssayStatus, reqVO.getAssayStatus()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getAssayOperator, reqVO.getAssayOperator()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getAssayOperatorId, reqVO.getAssayOperatorId()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getIsReported, reqVO.getIsReported()) + .betweenIfPresent(BusinessSampleEntrustDepartmentDO::getReportTime, reqVO.getReportTime()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getReportOperator, reqVO.getReportOperator()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getReportOperatorId, reqVO.getReportOperatorId()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessSampleEntrustDepartmentDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getUpdateCount, reqVO.getUpdateCount()) + .eqIfPresent(BusinessSampleEntrustDepartmentDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessSampleEntrustDepartmentDO::getId)); + } + + default List selectByBusinessSampleEntrustRegistrationId(Long businessSampleEntrustRegistrationId) { + return selectList(new LambdaQueryWrapperX() + .eq(BusinessSampleEntrustDepartmentDO::getBusinessSampleEntrustRegistrationId, businessSampleEntrustRegistrationId)); + } + + default List selectByBusinessSampleEntrustRegistrationIds(List businessSampleEntrustRegistrationIdList) { + return selectList(new LambdaQueryWrapperX() + .in(BusinessSampleEntrustDepartmentDO::getBusinessSampleEntrustRegistrationId, businessSampleEntrustRegistrationIdList)); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.java new file mode 100644 index 00000000..9f3c77ec --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.java @@ -0,0 +1,49 @@ +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.BusinessSampleEntrustFileDO; +import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 委检登记附件业务 Mapper + * + * @author 后台管理 + */ +@Mapper +public interface BusinessSampleEntrustFileMapper extends BaseMapperX { + + default PageResult selectPage(BusinessSampleEntrustFilePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BusinessSampleEntrustFileDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId()) + .eqIfPresent(BusinessSampleEntrustFileDO::getBusinessSampleEntrustDepartmentId, reqVO.getBusinessSampleEntrustDepartmentId()) + .eqIfPresent(BusinessSampleEntrustFileDO::getFileCategory, reqVO.getFileCategory()) + .eqIfPresent(BusinessSampleEntrustFileDO::getFileId, reqVO.getFileId()) + .likeIfPresent(BusinessSampleEntrustFileDO::getFileName, reqVO.getFileName()) + .eqIfPresent(BusinessSampleEntrustFileDO::getFilePath, reqVO.getFilePath()) + .eqIfPresent(BusinessSampleEntrustFileDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) + .betweenIfPresent(BusinessSampleEntrustFileDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(BusinessSampleEntrustFileDO::getRemark, reqVO.getRemark()) + .orderByDesc(BusinessSampleEntrustFileDO::getId)); + } + + /** + * 物理批量删除删除 + * @param idList + * @return + */ + int physicalDeleteByIds(@Param("idList") List idList); + + + /** + * 根据委托登记id物理删除 + * @param businessSampleEntrustRegistrationId 委托登记id + * @return + */ + int physicalDeleteByBusinessSampleEntrustRegistrationId(@Param("businessSampleEntrustRegistrationId") Long businessSampleEntrustRegistrationId); +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleAssessmentProjectMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleAssessmentProjectMapper.java index 85d8fa9a..6bfd5500 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleAssessmentProjectMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleAssessmentProjectMapper.java @@ -89,6 +89,22 @@ public interface BusinessSubParentSampleAssessmentProjectMapper extends BaseMapp return selectList(new LambdaQueryWrapper() .eq(BusinessSubParentSampleAssessmentProjectDO::getBusinessSubParentSampleAssessmentId, businessSubParentSampleAssessmentId)); } + + default List selectByBusinessSubParentSampleAssessmentIds(List businessSubParentSampleAssessmentIdList) { + return selectJoinList(BusinessSubParentSampleAssessmentProjectExtendRespVO.class, new MPJLambdaWrapperX() + .leftJoin(BusinessSubParentSampleAssessmentDO.class, BusinessSubParentSampleAssessmentDO::getId, BusinessSubParentSampleAssessmentProjectDO::getBusinessSubParentSampleAssessmentId) + .leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessSubParentSampleAssessmentProjectDO::getConfigAssayMethodProjectId) + .leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessSubParentSampleAssessmentProjectDO::getDictionaryProjectId) + .leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessSubParentSampleAssessmentProjectDO::getConfigAssayMethodId) + .selectAll(BusinessSubParentSampleAssessmentProjectDO.class) + .selectAs(BusinessSubParentSampleAssessmentDO::getRetestCount, BusinessSubParentSampleAssessmentProjectExtendRespVO::getRetestCount) + .selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessSubSampleAssessmentProjectExtendRespVO::getDictionaryProjectUnit) + .selectAs(DictionaryProjectDO::getKey, BusinessSubSampleAssessmentProjectExtendRespVO::getDictionaryProjectKey) + .selectAs(DictionaryProjectDO::getSimpleName, BusinessSubSampleAssessmentProjectExtendRespVO::getSimpleName) + .selectAs(DictionaryProjectDO::getShowName, BusinessSubSampleAssessmentProjectExtendRespVO::getShowName) + .selectAs(ConfigAssayMethodDO::getName, BusinessSubSampleAssessmentProjectExtendRespVO::getConfigAssayMethodName) + .in(BusinessSubParentSampleAssessmentProjectDO::getBusinessSubParentSampleAssessmentId, businessSubParentSampleAssessmentIdList)); + } List selectNoReportSubParentSampleAssessment(@Param("reqVO") BusinessSubParentSampleAssessmentGroupReqVO reqVO); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java index fbda8936..d1ceb99a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustCreateDataCmp.java @@ -8,6 +8,7 @@ import java.util.regex.Pattern; import org.apache.commons.lang3.StringUtils; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.yomahub.liteflow.annotation.LiteflowComponent; @@ -16,10 +17,12 @@ import com.yomahub.liteflow.core.NodeComponent; import cn.hutool.core.collection.CollUtil; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleAssayResultDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustFileDO; 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.mapper.BusinessSampleAssayResultMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustFileMapper; 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.liteflow.slot.SampleEntrustContext; @@ -28,6 +31,8 @@ import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTemplat import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailDO; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportTemplateMapper; import com.zt.plat.module.qms.core.code.SequenceUtil; +import com.zt.plat.module.qms.enums.QmsCommonConstant; + import jakarta.annotation.Resource; @LiteflowComponent(id = "sampleEntrustCreateDataCmp", name = "样品委托创建委托数据" ) @@ -45,6 +50,9 @@ public class SampleEntrustCreateDataCmp extends NodeComponent { @Resource private BusinessSampleEntrustDetailMapper businessSampleEntrustDetailMapper; + @Resource + private BusinessSampleEntrustFileMapper businessSampleEntrustFileMapper; + @Resource private BusinessSampleEntrustProjectMapper businessSampleEntrustProjectMapper; @@ -58,14 +66,19 @@ public class SampleEntrustCreateDataCmp extends NodeComponent { //样品委托 BusinessSampleEntrustRegistrationDO sampleEntrustRegistration = sampleEntrustContext.getSampleEntrustRegistration(); + //扩展信息 + String externalInfomation = sampleEntrustRegistration.getExternalInfomation(); + JSONObject extJsonObject = null; + if (StringUtils.isNotBlank(externalInfomation)) { + extJsonObject = JSON.parseObject(externalInfomation); + } + //获取委托来源配置 ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId()); ConfigReportTemplateDO configReportTemplate = configReportTemplateMapper.selectLatestConfigReportTemplateByKey(configEntrustSource.getConfigReportTemplateKey()); String entrustNumber = null; - if (StringUtils.isNotBlank(configEntrustSource.getCodeField())) { - String externalInfomation = sampleEntrustRegistration.getExternalInfomation(); - JSONObject extJsonObject = JSON.parseObject(externalInfomation); + if (StringUtils.isNotBlank(configEntrustSource.getCodeField()) && extJsonObject != null) { entrustNumber = extJsonObject.getString(configEntrustSource.getCodeField()); } else { String codeRule = configEntrustSource.getCodeRule(); @@ -81,8 +94,25 @@ public class SampleEntrustCreateDataCmp extends NodeComponent { sampleEntrustRegistration.setConfigReportTemplateId(configReportTemplate.getId()); sampleEntrustRegistration.setConfigReportTemplateKey(configReportTemplate.getKey()); - //sampleEntrustRegistration.setCreateOperator(sampleEntrustContext.getLoginRealname()); + //处理上传文件 + List businessSampleEntrustFileDOList = new ArrayList<>(); + if (extJsonObject != null && extJsonObject.getJSONArray("uploadFile") != null) { + JSONArray uploadFileJsonArray = extJsonObject.getJSONArray("uploadFile"); + if(!uploadFileJsonArray.isEmpty()){ + for(int i = 0; i < uploadFileJsonArray.size(); i++){ + JSONObject fieldExtension = uploadFileJsonArray.getJSONObject(i); + BusinessSampleEntrustFileDO businessSampleEntrustFileDO = new BusinessSampleEntrustFileDO(); + businessSampleEntrustFileDO.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId()); + businessSampleEntrustFileDO.setFileId(fieldExtension.getLong("id")); + businessSampleEntrustFileDO.setFileName(fieldExtension.getString("name")); + businessSampleEntrustFileDO.setFileCategory(QmsCommonConstant.ENTRUST_ATTACHMENT_CATEGORY_REGISTRATION); + businessSampleEntrustFileDOList.add(businessSampleEntrustFileDO); + } + } + + } + //来样品位 List sampleAssayResultList = new ArrayList<>(); //提取委托单号 @@ -139,6 +169,11 @@ public class SampleEntrustCreateDataCmp extends NodeComponent { businessSampleEntrustProjectMapper.insertBatch(sampleEntrustProjectList); } + //保存上传附件 + if (CollUtil.isNotEmpty(businessSampleEntrustFileDOList)) { + businessSampleEntrustFileMapper.insertBatch(businessSampleEntrustFileDOList); + } + //保存来样元素 if (CollUtil.isNotEmpty(sampleAssayResultList)) { businessSampleAssayResultMapper.insertBatch(sampleAssayResultList); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java index 1b05c974..ae957cef 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustGenSampleDataCmp.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; @@ -26,6 +27,8 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataD import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleAssayResultDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDetailDO; 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; @@ -41,6 +44,8 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMappe import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskParameterDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleAssayResultMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentDetailMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustProjectMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustRegistrationMapper; @@ -61,6 +66,7 @@ import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigBaseSampleDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleFlowDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSampleReportDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO; @@ -80,6 +86,8 @@ import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleParentMa import com.zt.plat.module.qms.business.config.dal.mapper.MaterialAssayStandardMethodMapper; import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO; import com.zt.plat.module.qms.business.dic.dal.mapper.DictionaryProjectMapper; +import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO; +import com.zt.plat.module.qms.common.data.dal.mapper.DataTemplateMapper; import com.zt.plat.module.qms.core.code.SequenceUtil; import com.zt.plat.module.qms.core.sampleflow.SampleFlowDefinition; import com.zt.plat.module.qms.core.sampleflow.SampleFlowNode; @@ -110,6 +118,12 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { @Resource private BusinessSampleEntrustDetailMapper businessSampleEntrustDetailMapper; + @Resource + private BusinessSampleEntrustDepartmentMapper businessSampleEntrustDepartmentMapper; + + @Resource + private BusinessSampleEntrustDepartmentDetailMapper businessSampleEntrustDepartmentDetailMapper; + @Resource private BusinessSampleEntrustProjectMapper businessSampleEntrustProjectMapper; @@ -125,6 +139,9 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { @Resource private ConfigSubSampleParentMapper configSubSampleParentMapper; + @Resource + private DataTemplateMapper dataTemplateMapper; + @Resource private BusinessSubParentSampleMapper businessSubParentSampleMapper; @@ -743,6 +760,94 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent { } } + //处理委托登记下的分析部门及部门明细数据 + ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId()); + if (QmsCommonConstant.YES.equals(configEntrustSource.getIsGenerateDocument())) {//根据配置,只有配置了需要编制部门报告的数据才生成 + List businessSampleEntrustDepartmentDOList = new ArrayList<>(); + List businessSampleEntrustDepartmentDetailDOList = new ArrayList<>(); + + //查询表单设计器模板 + DataTemplateDO dataTemplateDO = dataTemplateMapper.selectLastByKey(configEntrustSource.getDataTemplateKey()); + + Map> businessAssayTaskDataAssayDepartmentMap = businessAssayTaskDataDOList.stream().collect(Collectors.groupingBy(BusinessAssayTaskDataDO::getAssayDepartmentId)); + for (Map.Entry> entry : businessAssayTaskDataAssayDepartmentMap.entrySet()) { + Long assayDepartmentId = entry.getKey(); + List businessAssayTaskDataAssayDepartmentList = entry.getValue(); + + BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO = new BusinessSampleEntrustDepartmentDO(); + businessSampleEntrustDepartmentDO.setId(IdWorker.getId()); + businessSampleEntrustDepartmentDO.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId()); + businessSampleEntrustDepartmentDO.setAssayDepartmentId(assayDepartmentId); + businessSampleEntrustDepartmentDO.setAssayDepartmentName(businessAssayTaskDataAssayDepartmentList.get(0).getAssayDepartmentName()); + businessSampleEntrustDepartmentDO.setAssayStatus(QmsCommonConstant.UNCHECKED); + businessSampleEntrustDepartmentDO.setDataTemplateId(dataTemplateDO.getId()); + businessSampleEntrustDepartmentDO.setDataTemplateKey(dataTemplateDO.getDataKey()); + + List assayProjectList = businessAssayTaskDataAssayDepartmentList.stream().flatMap(m -> { + // 按逗号分割 + String[] parts = m.getAssayProject().split(","); + + // 转为 Stream 并处理空格 (trim),同时过滤掉分割后可能产生的空字符串 + return Arrays.stream(parts) + .map(String::trim) // 去除每个ID前后的空格 + .filter(s -> !s.isEmpty()); // 过滤掉空项(例如 "101,,102" 中间的空项) + }).distinct().collect(Collectors.toList()); + businessSampleEntrustDepartmentDO.setAssayProject(CollUtil.join(assayProjectList, ",")); + + List configAssayMethodIdAssayDepartmentIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getConfigAssayMethodId()).distinct().collect(Collectors.toList()); + List assayProjectUnitList = new ArrayList<>(); + for (String assayProject : assayProjectList) { + ConfigAssayMethodProjectExtendRespVO configAssayMethodProjectExtendRespVO = configAssayMethodProjectList.stream().filter(f -> configAssayMethodIdAssayDepartmentIdList.contains(f.getConfigAssayMethodId()) && assayProject.equals(f.getSimpleName())).findFirst().orElse(null); + assayProjectUnitList.add(configAssayMethodProjectExtendRespVO.getSimpleName() + "("+configAssayMethodProjectExtendRespVO.getDictionaryProjectUnit()+")"); + } + businessSampleEntrustDepartmentDO.setAssayProjectUnit(CollUtil.join(assayProjectUnitList, ","));//这里为方便后续生成报告 + + + List businessBaseSampleIdList = businessAssayTaskDataAssayDepartmentList.stream().map(m -> m.getBusinessBaseSampleId()).distinct().collect(Collectors.toList()); + for (Long businessBaseSampleId : businessBaseSampleIdList) { + BusinessSampleEntrustDetailDO businessSampleEntrustDetailDO = sampleEntrustDetailList.stream().filter(f -> f.getBusinessBaseSampleId().equals(businessBaseSampleId)).findFirst().orElse(null); + + BusinessSampleEntrustDepartmentDetailDO businessSampleEntrustDepartmentDetailDO = new BusinessSampleEntrustDepartmentDetailDO(); + businessSampleEntrustDepartmentDetailDO.setBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentDO.getId()); + businessSampleEntrustDepartmentDetailDO.setBusinessSampleEntrustRegistrationId(businessSampleEntrustDetailDO.getBusinessSampleEntrustRegistrationId()); + businessSampleEntrustDepartmentDetailDO.setBusinessBaseSampleId(businessBaseSampleId); + businessSampleEntrustDepartmentDetailDO.setBaseSampleId(businessSampleEntrustDetailDO.getBaseSampleId()); + businessSampleEntrustDepartmentDetailDO.setSampleCode(businessSampleEntrustDetailDO.getSampleCode()); + businessSampleEntrustDepartmentDetailDO.setSampleName(businessSampleEntrustDetailDO.getSampleName()); + businessSampleEntrustDepartmentDetailDO.setEntrustSampleCode(businessSampleEntrustDetailDO.getEntrustSampleCode()); + businessSampleEntrustDepartmentDetailDO.setEntrustSampleName(businessSampleEntrustDetailDO.getEntrustSampleName()); + businessSampleEntrustDepartmentDetailDO.setSampleTypeDictionaryBusinessId(businessSampleEntrustDetailDO.getSampleTypeDictionaryBusinessId()); + businessSampleEntrustDepartmentDetailDO.setSort(businessSampleEntrustDetailDO.getSort()); + + List sampleAssayProjectList = businessAssayTaskDataAssayDepartmentList.stream().filter(f -> f.getBusinessBaseSampleId().equals(businessBaseSampleId)).flatMap(m -> { + // 按逗号分割 + String[] parts = m.getAssayProject().split(","); + + // 转为 Stream 并处理空格 (trim),同时过滤掉分割后可能产生的空字符串 + return Arrays.stream(parts) + .map(String::trim) // 去除每个ID前后的空格 + .filter(s -> !s.isEmpty()); // 过滤掉空项(例如 "101,,102" 中间的空项) + }).distinct().collect(Collectors.toList()); + businessSampleEntrustDepartmentDetailDO.setAssayProject(CollUtil.join(sampleAssayProjectList, ",")); + + + businessSampleEntrustDepartmentDetailDOList.add(businessSampleEntrustDepartmentDetailDO); + } + + + businessSampleEntrustDepartmentDOList.add(businessSampleEntrustDepartmentDO); + } + + if (CollUtil.isNotEmpty(businessSampleEntrustDepartmentDOList)) { + businessSampleEntrustDepartmentMapper.insertBatch(businessSampleEntrustDepartmentDOList); + } + if (CollUtil.isNotEmpty(businessSampleEntrustDepartmentDetailDOList)) { + businessSampleEntrustDepartmentDetailMapper.insertBatch(businessSampleEntrustDepartmentDetailDOList); + } + } + + + sampleEntrustRegistration.setRegistrationStatus(QmsCommonConstant.SUBMITTED); sampleEntrustRegistration.setAssayStatus(QmsCommonConstant.UNCHECKED); sampleEntrustRegistration.setDataStatus(QmsCommonConstant.UNRETURNED); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustUpdateDataCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustUpdateDataCmp.java index a7cef38c..a70fdea1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustUpdateDataCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/entrust/SampleEntrustUpdateDataCmp.java @@ -9,6 +9,7 @@ import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.core.NodeComponent; @@ -17,15 +18,19 @@ import cn.hutool.core.collection.CollUtil; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleAssayResultDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustFileDO; 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.mapper.BusinessSampleAssayResultMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustFileMapper; 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.liteflow.slot.SampleEntrustContext; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.module.qms.business.config.dal.dataobject.MaterialAssayStandardDetailDO; +import com.zt.plat.module.qms.enums.QmsCommonConstant; + import jakarta.annotation.Resource; @LiteflowComponent(id = "sampleEntrustUpdateDataCmp", name = "样品委托更新委托数据" ) @@ -37,6 +42,9 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent { @Resource private BusinessSampleEntrustDetailMapper businessSampleEntrustDetailMapper; + @Resource + private BusinessSampleEntrustFileMapper businessSampleEntrustFileMapper; + @Resource private BusinessSampleEntrustProjectMapper businessSampleEntrustProjectMapper; @@ -52,14 +60,39 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent { BusinessSampleEntrustRegistrationDO oldSampleEntrustRegistration = businessSampleEntrustRegistrationMapper.selectById(sampleEntrustRegistration.getId()); sampleEntrustRegistration.setEntrustNumber(oldSampleEntrustRegistration.getEntrustNumber());//重新赋值委托单号 + //扩展信息 + String externalInfomation = sampleEntrustRegistration.getExternalInfomation(); + JSONObject extJsonObject = null; + if (StringUtils.isNotBlank(externalInfomation)) { + extJsonObject = JSON.parseObject(externalInfomation); + } + //获取委托来源配置 ConfigEntrustSourceDO configEntrustSource = sampleEntrustContext.getConfigEntrustSourceById(sampleEntrustRegistration.getConfigEntrustSourceId()); - if (StringUtils.isNotBlank(configEntrustSource.getCodeField())) {//如果委托单号来源于字段,则重新获取更新下 - String externalInfomation = sampleEntrustRegistration.getExternalInfomation(); - JSONObject extJsonObject = JSON.parseObject(externalInfomation); + if (StringUtils.isNotBlank(configEntrustSource.getCodeField()) && extJsonObject != null) {//如果委托单号来源于字段,则重新获取更新下 String entrustNumber = extJsonObject.getString(configEntrustSource.getCodeField()); sampleEntrustRegistration.setEntrustNumber(entrustNumber); } + + //处理上传文件 + List businessSampleEntrustFileDOList = new ArrayList<>(); + //删除旧的 + businessSampleEntrustFileMapper.physicalDeleteByBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId()); + if (extJsonObject != null && extJsonObject.getJSONArray("uploadFile") != null) { + JSONArray uploadFileJsonArray = extJsonObject.getJSONArray("uploadFile"); + if(!uploadFileJsonArray.isEmpty()){ + for(int i = 0; i < uploadFileJsonArray.size(); i++){ + JSONObject fieldExtension = uploadFileJsonArray.getJSONObject(i); + BusinessSampleEntrustFileDO businessSampleEntrustFileDO = new BusinessSampleEntrustFileDO(); + businessSampleEntrustFileDO.setBusinessSampleEntrustRegistrationId(sampleEntrustRegistration.getId()); + businessSampleEntrustFileDO.setFileId(fieldExtension.getLong("id")); + businessSampleEntrustFileDO.setFileName(fieldExtension.getString("name")); + businessSampleEntrustFileDO.setFileCategory(QmsCommonConstant.ENTRUST_ATTACHMENT_CATEGORY_REGISTRATION); + businessSampleEntrustFileDOList.add(businessSampleEntrustFileDO); + } + } + + } //先删除旧的 List sampleEntrustDetailOldList = businessSampleEntrustDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessSampleEntrustDetailDO::getBusinessSampleEntrustRegistrationId, sampleEntrustRegistration.getId())); @@ -140,6 +173,11 @@ public class SampleEntrustUpdateDataCmp extends NodeComponent { businessSampleEntrustProjectMapper.insertBatch(sampleEntrustProjectList); } + //保存上传的附件 + if (CollUtil.isNotEmpty(businessSampleEntrustFileDOList)) { + businessSampleEntrustFileMapper.insertBatch(businessSampleEntrustFileDOList); + } + //保存来样元素 if (CollUtil.isNotEmpty(sampleAssayResultList)) { businessSampleAssayResultMapper.insertBatch(sampleAssayResultList); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentDetailService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentDetailService.java new file mode 100644 index 00000000..a7693ab9 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentDetailService.java @@ -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.BusinessSampleEntrustDepartmentDetailDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 委检登记分析部门样品明细 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessSampleEntrustDepartmentDetailService { + + /** + * 创建委检登记分析部门样品明细 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessSampleEntrustDepartmentDetailRespVO createBusinessSampleEntrustDepartmentDetail(@Valid BusinessSampleEntrustDepartmentDetailSaveReqVO createReqVO); + + /** + * 更新委检登记分析部门样品明细 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessSampleEntrustDepartmentDetail(@Valid BusinessSampleEntrustDepartmentDetailSaveReqVO updateReqVO); + + /** + * 删除委检登记分析部门样品明细 + * + * @param id 编号 + */ + void deleteBusinessSampleEntrustDepartmentDetail(Long id); + + /** + * 批量删除委检登记分析部门样品明细 + * + * @param ids 编号 + */ + void deleteBusinessSampleEntrustDepartmentDetailListByIds(List ids); + + /** + * 获得委检登记分析部门样品明细 + * + * @param id 编号 + * @return 委检登记分析部门样品明细 + */ + BusinessSampleEntrustDepartmentDetailDO getBusinessSampleEntrustDepartmentDetail(Long id); + + /** + * 获得委检登记分析部门样品明细分页 + * + * @param pageReqVO 分页查询 + * @return 委检登记分析部门样品明细分页 + */ + PageResult getBusinessSampleEntrustDepartmentDetailPage(BusinessSampleEntrustDepartmentDetailPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentDetailServiceImpl.java new file mode 100644 index 00000000..00908271 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentDetailServiceImpl.java @@ -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.BusinessSampleEntrustDepartmentDetailDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentDetailMapper; + +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 BusinessSampleEntrustDepartmentDetailServiceImpl implements BusinessSampleEntrustDepartmentDetailService { + + @Resource + private BusinessSampleEntrustDepartmentDetailMapper businessSampleEntrustDepartmentDetailMapper; + + @Override + public BusinessSampleEntrustDepartmentDetailRespVO createBusinessSampleEntrustDepartmentDetail(BusinessSampleEntrustDepartmentDetailSaveReqVO createReqVO) { + // 插入 + BusinessSampleEntrustDepartmentDetailDO businessSampleEntrustDepartmentDetail = BeanUtils.toBean(createReqVO, BusinessSampleEntrustDepartmentDetailDO.class); + businessSampleEntrustDepartmentDetailMapper.insert(businessSampleEntrustDepartmentDetail); + // 返回 + return BeanUtils.toBean(businessSampleEntrustDepartmentDetail, BusinessSampleEntrustDepartmentDetailRespVO.class); + } + + @Override + public void updateBusinessSampleEntrustDepartmentDetail(BusinessSampleEntrustDepartmentDetailSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessSampleEntrustDepartmentDetailExists(updateReqVO.getId()); + // 更新 + BusinessSampleEntrustDepartmentDetailDO updateObj = BeanUtils.toBean(updateReqVO, BusinessSampleEntrustDepartmentDetailDO.class); + businessSampleEntrustDepartmentDetailMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessSampleEntrustDepartmentDetail(Long id) { + // 校验存在 + validateBusinessSampleEntrustDepartmentDetailExists(id); + // 删除 + businessSampleEntrustDepartmentDetailMapper.deleteById(id); + } + + @Override + public void deleteBusinessSampleEntrustDepartmentDetailListByIds(List ids) { + // 校验存在 + validateBusinessSampleEntrustDepartmentDetailExists(ids); + // 删除 + businessSampleEntrustDepartmentDetailMapper.deleteByIds(ids); + } + + private void validateBusinessSampleEntrustDepartmentDetailExists(List ids) { + List list = businessSampleEntrustDepartmentDetailMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_SAMPLE_ENTRUST_DEPARTMENT_DETAIL_NOT_EXISTS); + } + } + + private void validateBusinessSampleEntrustDepartmentDetailExists(Long id) { + if (businessSampleEntrustDepartmentDetailMapper.selectById(id) == null) { + throw exception(BUSINESS_SAMPLE_ENTRUST_DEPARTMENT_DETAIL_NOT_EXISTS); + } + } + + @Override + public BusinessSampleEntrustDepartmentDetailDO getBusinessSampleEntrustDepartmentDetail(Long id) { + return businessSampleEntrustDepartmentDetailMapper.selectById(id); + } + + @Override + public PageResult getBusinessSampleEntrustDepartmentDetailPage(BusinessSampleEntrustDepartmentDetailPageReqVO pageReqVO) { + return businessSampleEntrustDepartmentDetailMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentService.java new file mode 100644 index 00000000..19b3ca83 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentService.java @@ -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.BusinessSampleEntrustDepartmentDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 委检登记分析部门业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessSampleEntrustDepartmentService { + + /** + * 创建委检登记分析部门业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessSampleEntrustDepartmentRespVO createBusinessSampleEntrustDepartment(@Valid BusinessSampleEntrustDepartmentSaveReqVO createReqVO); + + /** + * 更新委检登记分析部门业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessSampleEntrustDepartment(@Valid BusinessSampleEntrustDepartmentSaveReqVO updateReqVO); + + /** + * 删除委检登记分析部门业务 + * + * @param id 编号 + */ + void deleteBusinessSampleEntrustDepartment(Long id); + + /** + * 批量删除委检登记分析部门业务 + * + * @param ids 编号 + */ + void deleteBusinessSampleEntrustDepartmentListByIds(List ids); + + /** + * 获得委检登记分析部门业务 + * + * @param id 编号 + * @return 委检登记分析部门业务 + */ + BusinessSampleEntrustDepartmentDO getBusinessSampleEntrustDepartment(Long id); + + /** + * 获得委检登记分析部门业务分页 + * + * @param pageReqVO 分页查询 + * @return 委检登记分析部门业务分页 + */ + PageResult getBusinessSampleEntrustDepartmentPage(BusinessSampleEntrustDepartmentPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentServiceImpl.java new file mode 100644 index 00000000..845166cb --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustDepartmentServiceImpl.java @@ -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.BusinessSampleEntrustDepartmentDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentMapper; + +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 BusinessSampleEntrustDepartmentServiceImpl implements BusinessSampleEntrustDepartmentService { + + @Resource + private BusinessSampleEntrustDepartmentMapper businessSampleEntrustDepartmentMapper; + + @Override + public BusinessSampleEntrustDepartmentRespVO createBusinessSampleEntrustDepartment(BusinessSampleEntrustDepartmentSaveReqVO createReqVO) { + // 插入 + BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartment = BeanUtils.toBean(createReqVO, BusinessSampleEntrustDepartmentDO.class); + businessSampleEntrustDepartmentMapper.insert(businessSampleEntrustDepartment); + // 返回 + return BeanUtils.toBean(businessSampleEntrustDepartment, BusinessSampleEntrustDepartmentRespVO.class); + } + + @Override + public void updateBusinessSampleEntrustDepartment(BusinessSampleEntrustDepartmentSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessSampleEntrustDepartmentExists(updateReqVO.getId()); + // 更新 + BusinessSampleEntrustDepartmentDO updateObj = BeanUtils.toBean(updateReqVO, BusinessSampleEntrustDepartmentDO.class); + businessSampleEntrustDepartmentMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessSampleEntrustDepartment(Long id) { + // 校验存在 + validateBusinessSampleEntrustDepartmentExists(id); + // 删除 + businessSampleEntrustDepartmentMapper.deleteById(id); + } + + @Override + public void deleteBusinessSampleEntrustDepartmentListByIds(List ids) { + // 校验存在 + validateBusinessSampleEntrustDepartmentExists(ids); + // 删除 + businessSampleEntrustDepartmentMapper.deleteByIds(ids); + } + + private void validateBusinessSampleEntrustDepartmentExists(List ids) { + List list = businessSampleEntrustDepartmentMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_SAMPLE_ENTRUST_DEPARTMENT_NOT_EXISTS); + } + } + + private void validateBusinessSampleEntrustDepartmentExists(Long id) { + if (businessSampleEntrustDepartmentMapper.selectById(id) == null) { + throw exception(BUSINESS_SAMPLE_ENTRUST_DEPARTMENT_NOT_EXISTS); + } + } + + @Override + public BusinessSampleEntrustDepartmentDO getBusinessSampleEntrustDepartment(Long id) { + return businessSampleEntrustDepartmentMapper.selectById(id); + } + + @Override + public PageResult getBusinessSampleEntrustDepartmentPage(BusinessSampleEntrustDepartmentPageReqVO pageReqVO) { + return businessSampleEntrustDepartmentMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileService.java new file mode 100644 index 00000000..3f5fc82d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileService.java @@ -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.BusinessSampleEntrustFileDO; +import com.zt.plat.framework.common.pojo.PageParam; + +/** + * 委检登记附件业务 Service 接口 + * + * @author 后台管理 + */ +public interface BusinessSampleEntrustFileService { + + /** + * 创建委检登记附件业务 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + BusinessSampleEntrustFileRespVO createBusinessSampleEntrustFile(@Valid BusinessSampleEntrustFileSaveReqVO createReqVO); + + /** + * 更新委检登记附件业务 + * + * @param updateReqVO 更新信息 + */ + void updateBusinessSampleEntrustFile(@Valid BusinessSampleEntrustFileSaveReqVO updateReqVO); + + /** + * 删除委检登记附件业务 + * + * @param id 编号 + */ + void deleteBusinessSampleEntrustFile(Long id); + + /** + * 批量删除委检登记附件业务 + * + * @param ids 编号 + */ + void deleteBusinessSampleEntrustFileListByIds(List ids); + + /** + * 获得委检登记附件业务 + * + * @param id 编号 + * @return 委检登记附件业务 + */ + BusinessSampleEntrustFileDO getBusinessSampleEntrustFile(Long id); + + /** + * 获得委检登记附件业务分页 + * + * @param pageReqVO 分页查询 + * @return 委检登记附件业务分页 + */ + PageResult getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileServiceImpl.java new file mode 100644 index 00000000..75e82e7a --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleEntrustFileServiceImpl.java @@ -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.BusinessSampleEntrustFileDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustFileMapper; + +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 BusinessSampleEntrustFileServiceImpl implements BusinessSampleEntrustFileService { + + @Resource + private BusinessSampleEntrustFileMapper businessSampleEntrustFileMapper; + + @Override + public BusinessSampleEntrustFileRespVO createBusinessSampleEntrustFile(BusinessSampleEntrustFileSaveReqVO createReqVO) { + // 插入 + BusinessSampleEntrustFileDO businessSampleEntrustFile = BeanUtils.toBean(createReqVO, BusinessSampleEntrustFileDO.class); + businessSampleEntrustFileMapper.insert(businessSampleEntrustFile); + // 返回 + return BeanUtils.toBean(businessSampleEntrustFile, BusinessSampleEntrustFileRespVO.class); + } + + @Override + public void updateBusinessSampleEntrustFile(BusinessSampleEntrustFileSaveReqVO updateReqVO) { + // 校验存在 + validateBusinessSampleEntrustFileExists(updateReqVO.getId()); + // 更新 + BusinessSampleEntrustFileDO updateObj = BeanUtils.toBean(updateReqVO, BusinessSampleEntrustFileDO.class); + businessSampleEntrustFileMapper.updateById(updateObj); + } + + @Override + public void deleteBusinessSampleEntrustFile(Long id) { + // 校验存在 + validateBusinessSampleEntrustFileExists(id); + // 删除 + businessSampleEntrustFileMapper.deleteById(id); + } + + @Override + public void deleteBusinessSampleEntrustFileListByIds(List ids) { + // 校验存在 + validateBusinessSampleEntrustFileExists(ids); + // 删除 + businessSampleEntrustFileMapper.deleteByIds(ids); + } + + private void validateBusinessSampleEntrustFileExists(List ids) { + List list = businessSampleEntrustFileMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(BUSINESS_SAMPLE_ENTRUST_FILE_NOT_EXISTS); + } + } + + private void validateBusinessSampleEntrustFileExists(Long id) { + if (businessSampleEntrustFileMapper.selectById(id) == null) { + throw exception(BUSINESS_SAMPLE_ENTRUST_FILE_NOT_EXISTS); + } + } + + @Override + public BusinessSampleEntrustFileDO getBusinessSampleEntrustFile(Long id) { + return businessSampleEntrustFileMapper.selectById(id); + } + + @Override + public PageResult getBusinessSampleEntrustFilePage(BusinessSampleEntrustFilePageReqVO pageReqVO) { + return businessSampleEntrustFileMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java index 03778355..aecff3b1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java @@ -11,6 +11,8 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataRe public interface SampleAnalysisAuditService { JSONObject getCrossAuditDataByTaskId(Long businessAssayTaskId); + + JSONObject getCrossAuditDataByTaskId(Long businessAssayTaskId, List businessAssayTaskDataIdList); void crossAuditByTaskId(Long businessAssayTaskId, String auditStatus); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java index 0e18c10d..5a02f6d3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java @@ -340,8 +340,12 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic return null; } - @Override public JSONObject getCrossAuditDataByTaskId(Long businessAssayTaskId) { + return getCrossAuditDataByTaskId(businessAssayTaskId, null); + } + + @Override + public JSONObject getCrossAuditDataByTaskId(Long businessAssayTaskId, List businessAssayTaskDataIdList) { JSONWriter.Context context = JSONFactory.createWriteContext(); context.setDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -378,6 +382,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic // List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); // List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); List businessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(businessAssayTaskId); + if (CollUtil.isNotEmpty(businessAssayTaskDataIdList)) {//如果只显示对应的分析任务 + businessAssayTaskDetailList = businessAssayTaskDetailList.stream().filter(f -> businessAssayTaskDataIdList.contains(f.getBusinessAssayTaskDataId())).collect(Collectors.toList()); + } for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : businessAssayTaskDetailList) { Map map = new HashedMap<>(); @@ -509,7 +516,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic // List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskDO.getId())); // List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskDO.getId()).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); List businessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(businessAssayTaskId); - + if (CollUtil.isNotEmpty(businessAssayTaskDataIdList)) {//如果只显示对应的分析任务 + businessAssayTaskDetailList = businessAssayTaskDetailList.stream().filter(f -> businessAssayTaskDataIdList.contains(f.getBusinessAssayTaskDataId())).collect(Collectors.toList()); + } for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : businessAssayTaskDetailList) { //BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditService.java new file mode 100644 index 00000000..20bae11d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditService.java @@ -0,0 +1,15 @@ +package com.zt.plat.module.qms.business.bus.service; + +import com.alibaba.fastjson2.JSONObject; +import com.zt.plat.module.qms.business.bus.controller.vo.DeptEntrustDocAuditParam; + +/** + * 样品班组委托报告审核服务 + */ +public interface SampleDeptEntrustDocAuditService { + + JSONObject getDeptEntrustDocAuditByBusSampleEntrustDeptId(Long businessSampleEntrustDepartmentId); + + void auditDeptEntrustDocAudit(DeptEntrustDocAuditParam param); + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditServiceImpl.java new file mode 100644 index 00000000..bc12cc66 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleDeptEntrustDocAuditServiceImpl.java @@ -0,0 +1,338 @@ +package com.zt.plat.module.qms.business.bus.service; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; + +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.zt.plat.framework.common.exception.ServiceException; +import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; +import com.zt.plat.module.infra.api.businessfile.BusinessFileApi; +import com.zt.plat.module.infra.api.businessfile.dto.BusinessFileSaveReqDTO; +import com.zt.plat.module.infra.api.file.FileApi; +import com.zt.plat.module.infra.api.file.dto.FileCreateReqDTO; +import com.zt.plat.module.infra.api.file.dto.FileRespDTO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayReportDataExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSubParentSampleAssessmentProjectExtendRespVO; +import com.zt.plat.module.qms.business.bus.controller.vo.DeptEntrustDocAuditParam; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDetailDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustFileDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentDetailMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustFileMapper; +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.BusinessSubParentSampleAssessmentProjectMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportTemplateDO; +import com.zt.plat.module.qms.business.config.service.ConfigReportTemplateService; +import com.zt.plat.module.qms.business.reportdoc.service.ReportDocumentAssistService; +import com.zt.plat.module.qms.business.reportdoc.service.ReportDocumentDataService; +import com.zt.plat.module.qms.enums.QmsCommonConstant; +import com.zt.plat.module.qms.framework.gridreport.GridReport; +import com.zt.plat.module.qms.framework.gridreport.PdfHelper; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.http.HtmlUtil; +import gridreport.jni.BinaryObject; +import gridreport.jni.ExportType; +import jakarta.annotation.Resource; + +/** + * 样品班组委托报告审核服务 + */ +@Service +public class SampleDeptEntrustDocAuditServiceImpl implements SampleDeptEntrustDocAuditService { + + @Resource + private BusinessSampleEntrustRegistrationMapper businessSampleEntrustRegistrationMapper; + + @Resource + private BusinessSampleEntrustDepartmentMapper businessSampleEntrustDepartmentMapper; + + @Resource + private BusinessSampleEntrustDepartmentDetailMapper businessSampleEntrustDepartmentDetailMapper; + + @Resource + private BusinessSampleEntrustFileMapper businessSampleEntrustFileMapper; + + @Resource + private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; + + @Resource + private BusinessSubSampleAssessmentMapper businessSubSampleAssessmentMapper; + + @Resource + private BusinessSubParentSampleAssessmentMapper businessSubParentSampleAssessmentMapper; + + @Resource + private BusinessSubParentSampleAssessmentProjectMapper businessSubParentSampleAssessmentProjectMapper; + + @Resource + private BusinessAssayReportDataMapper businessAssayReportDataMapper; + + @Resource + private SampleAnalysisAuditService sampleAnalysisAuditService; + + @Resource + private ConfigReportTemplateService configReportTemplateService; + + @Resource + private GridReport gridReport; + + @Resource + private FileApi fileApi; + + @Resource + private BusinessFileApi businessFileApi; + + @Resource + private ReportDocumentDataService reportDocumentDataService; + + @Resource + private ReportDocumentAssistService reportDocumentAssistService; + + @Override + public JSONObject getDeptEntrustDocAuditByBusSampleEntrustDeptId(Long businessSampleEntrustDepartmentId) { + JSONObject resultJsonObject = new JSONObject(); + BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO = businessSampleEntrustDepartmentMapper.selectById(businessSampleEntrustDepartmentId); + + List> columns = new ArrayList<>(); + String assayProject = businessSampleEntrustDepartmentDO.getAssayProject(); + String[] assayProjectSplit = assayProject.split(","); + for (String project : assayProjectSplit) { + columns.add(new HashMap() { + private static final long serialVersionUID = 1L; + { + put("title", project); + put("field", HtmlUtil.cleanHtmlTag(project)); + }}); + } + +// Set assayProjectAndUnitSet = new HashSet<>(); + + List> datas = new ArrayList<>(); + + //查询委托分析部门明细样品 + List businessSampleEntrustDepartmentDetailDOList = businessSampleEntrustDepartmentDetailMapper.selectByBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentId); + //或者主样id列表 + List businessBaseSampleIdList = businessSampleEntrustDepartmentDetailDOList.stream().map(m -> m.getBusinessBaseSampleId()).collect(Collectors.toList()); + //查询分析任务 + List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessBaseSampleIdsAndAssayDepartmentId(businessBaseSampleIdList, businessSampleEntrustDepartmentDO.getAssayDepartmentId()); + List businessSubSampleAssessmentIdList = businessAssayTaskDataDOList.stream().filter(f -> f.getBusinessSubSampleAssessmentId() != null).map(m -> m.getBusinessSubSampleAssessmentId()).distinct().collect(Collectors.toList()); + List businessSubSampleAssessmentDOList = businessSubSampleAssessmentMapper.selectByIds(businessSubSampleAssessmentIdList); + List businessSubParentSampleAssessmentIdList = businessSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleAssessmentId() != null).map(m -> m.getBusinessSubParentSampleAssessmentId()).distinct().collect(Collectors.toList()); + List businessSubParentSampleAssessmentProjectList = businessSubParentSampleAssessmentProjectMapper.selectByBusinessSubParentSampleAssessmentIds(businessSubParentSampleAssessmentIdList); + for (BusinessSampleEntrustDepartmentDetailDO businessSampleEntrustDepartmentDetailDO : businessSampleEntrustDepartmentDetailDOList) { + Map businessSampleEntrustDepartmentDetailDOMap = BeanUtil.beanToMap(businessSampleEntrustDepartmentDetailDO); + List currBusinessSubSampleAssessmentIdList = businessAssayTaskDataDOList.stream().filter(f -> f.getBusinessBaseSampleId().equals(businessSampleEntrustDepartmentDetailDO.getBusinessBaseSampleId())).map(m -> m.getBusinessSubSampleAssessmentId()).collect(Collectors.toList()); + List currBusinessSubParentSampleAssessmentIdList = businessSubSampleAssessmentDOList.stream().filter(f -> currBusinessSubSampleAssessmentIdList.contains(f.getId())).map(m -> m.getBusinessSubParentSampleAssessmentId()).distinct().collect(Collectors.toList()); + List currBusinessSubParentSampleAssessmentProjecList = businessSubParentSampleAssessmentProjectList.stream().filter(f -> currBusinessSubParentSampleAssessmentIdList.contains(f.getBusinessSubParentSampleAssessmentId()) ).collect(Collectors.toList());// && QmsCommonConstant.YES.equals(f.getIsReported()) + for (BusinessSubParentSampleAssessmentProjectExtendRespVO businessSubParentSampleAssessmentProject : currBusinessSubParentSampleAssessmentProjecList) { + businessSampleEntrustDepartmentDetailDOMap.put(businessSubParentSampleAssessmentProject.getSimpleName(), businessSubParentSampleAssessmentProject.getAssessmentValue()); + businessSampleEntrustDepartmentDetailDOMap.put(businessSubParentSampleAssessmentProject.getSimpleName() + "_businessSubParentSampleId", businessSubParentSampleAssessmentProject.getBusinessSubParentSampleId()); + businessSampleEntrustDepartmentDetailDOMap.put(businessSubParentSampleAssessmentProject.getSimpleName() + "_configAssayMethodProjectId", businessSubParentSampleAssessmentProject.getConfigAssayMethodProjectId()); + +// boolean isAddColumn = columns.stream().anyMatch(a -> businessSubParentSampleAssessmentProject.getSimpleName().equals(a.get("field"))); +// if (!isAddColumn) { +// columns.add(new HashMap() { +// private static final long serialVersionUID = 1L; +// { +// put("title", businessSubParentSampleAssessmentProject.getShowName() + "(" + businessSubParentSampleAssessmentProject.getDictionaryProjectUnit() + ")"); +// put("field", businessSubParentSampleAssessmentProject.getSimpleName()); +// }}); +// } + +// assayProjectAndUnitSet.add(businessSubParentSampleAssessmentProject.getSimpleName() + "(" + businessSubParentSampleAssessmentProject.getDictionaryProjectUnit() + ")"); + } + datas.add(businessSampleEntrustDepartmentDetailDOMap); + } + + //查询报表数据 + List businessAssayReportDataList = businessAssayReportDataMapper.selectExtendByBusinessBaseSampleIds(businessBaseSampleIdList); + + resultJsonObject.put("columns", columns); + resultJsonObject.put("datas", datas); + resultJsonObject.put("assayProject", Arrays.asList(businessSampleEntrustDepartmentDO.getAssayProjectUnit().split(","))); + resultJsonObject.put("businessAssayReportDataList", businessAssayReportDataList); + + return resultJsonObject; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void auditDeptEntrustDocAudit(DeptEntrustDocAuditParam param) { + //当前登录用户昵称 + String nickName = SecurityFrameworkUtils.getLoginUserNickname(); + Long loginUserId = SecurityFrameworkUtils.getLoginUserId(); + Long businessSampleEntrustDepartmentId = param.getBusinessSampleEntrustDepartmentId(); + BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO = businessSampleEntrustDepartmentMapper.selectById(businessSampleEntrustDepartmentId); + businessSampleEntrustDepartmentDO.setIsReported(QmsCommonConstant.YES); + businessSampleEntrustDepartmentDO.setReportOperator(nickName); + businessSampleEntrustDepartmentDO.setReportOperatorId(loginUserId); + businessSampleEntrustDepartmentDO.setAssayStatus(QmsCommonConstant.CHECKED); + + Set assayOperatorSet = new HashSet<>(); + Set assayOperatorIdSet = new HashSet<>(); + + List businessSampleEntrustFileDOList = new ArrayList<>(); + + BusinessSampleEntrustRegistrationDO businessSampleEntrustRegistrationDO = businessSampleEntrustRegistrationMapper.selectById(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId()); + + //查询委托分析部门明细样品 + List businessSampleEntrustDepartmentDetailDOList = businessSampleEntrustDepartmentDetailMapper.selectByBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentId); + //或者主样id列表 + List businessBaseSampleIdList = businessSampleEntrustDepartmentDetailDOList.stream().map(m -> m.getBusinessBaseSampleId()).collect(Collectors.toList()); + //查询分析任务 + List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessBaseSampleIdsAndAssayDepartmentId(businessBaseSampleIdList, businessSampleEntrustDepartmentDO.getAssayDepartmentId()); + Map> businessAssayTaskDataByTaskMap = businessAssayTaskDataDOList.stream().collect(Collectors.groupingBy(BusinessAssayTaskDataDO::getBusinessAssayTaskId)); +// List businessAssayTaskIdList = businessAssayTaskDataDOList.stream().map(m -> m.getBusinessAssayTaskId()).distinct().collect(Collectors.toList()); + for (Map.Entry> entry : businessAssayTaskDataByTaskMap.entrySet()) { + Long businessAssayTaskId = entry.getKey(); + List currBusinessAssayTaskDataIdList = entry.getValue().stream().map(m -> m.getId()).collect(Collectors.toList()); + JSONObject json = sampleAnalysisAuditService.getCrossAuditDataByTaskId(businessAssayTaskId, currBusinessAssayTaskDataIdList); + JSONObject businessAssayTaskJson = json.getJSONArray("businessAssayTask").getJSONObject(0); + String configReportTemplateKey = businessAssayTaskJson.getString("configReportTemplateKey"); + String taskNo = businessAssayTaskJson.getString("taskNo"); + String taskName = businessAssayTaskJson.getString("taskName"); + String fileName = taskNo + "-" + taskName; + String assayOperatorId = businessAssayTaskJson.getString("assayOperatorId"); + String assayOperator = businessAssayTaskJson.getString("assayOperator"); + assayOperatorIdSet.add(assayOperatorId); + assayOperatorSet.add(assayOperator); + + ConfigReportTemplateDO gridppReportFile = configReportTemplateService.getConfigReportTemplateByKey(configReportTemplateKey); + + //报表参数 + Map reportParams = new HashMap<>(); + BinaryObject binaryObject; + try { + binaryObject = gridReport.genReport(gridppReportFile.getContent(), json.toJSONString(), reportParams, ExportType.PDF); + } catch (Exception e) { + throw new ServiceException(1_032_100_000, taskNo + "原始记录生成失败!"); + } + byte[] docBytes = PdfHelper.modifyDocInfo(binaryObject.getDataBuf()); + //上传到文件服务 + FileCreateReqDTO fileCreateReqDTO = new FileCreateReqDTO(); + fileCreateReqDTO.setName(fileName); + fileCreateReqDTO.setDirectory(null); + fileCreateReqDTO.setType(null); + fileCreateReqDTO.setContent(docBytes); + CommonResult fileResult = fileApi.createFileWithReturn(fileCreateReqDTO); + if (fileResult == null || !fileResult.isSuccess() || fileResult.getData() == null) { + throw new ServiceException(1_032_100_000, "通过文件服务创建附件失败: " + Optional.ofNullable(fileResult).map(CommonResult::getMsg).orElse("未知错误")); + } + FileRespDTO fileRespDTO = fileResult.getData(); + //创建businessFile + BusinessFileSaveReqDTO businessFileSaveReqDTO = BusinessFileSaveReqDTO.builder() + .businessId(businessSampleEntrustDepartmentDO.getId()) + .businessCode(taskNo) + .fileName(fileRespDTO.getName()) + .fileId(fileRespDTO.getId()) + .source(null) + .status(1) + .build(); + businessFileApi.createBusinessFile(businessFileSaveReqDTO); + + //设置附件 + BusinessSampleEntrustFileDO businessSampleEntrustFileDO = new BusinessSampleEntrustFileDO(); + businessSampleEntrustFileDO.setBusinessSampleEntrustRegistrationId(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId()); + businessSampleEntrustFileDO.setBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentDO.getId()); + businessSampleEntrustFileDO.setFileCategory(QmsCommonConstant.ENTRUST_ATTACHMENT_CATEGORY_ASSAY_TASK); + businessSampleEntrustFileDO.setFileId(fileRespDTO.getId()); + businessSampleEntrustFileDO.setFileName(fileRespDTO.getName()); + businessSampleEntrustFileDO.setFilePath(fileRespDTO.getDirectory()); + + businessSampleEntrustFileDOList.add(businessSampleEntrustFileDO); + + } + businessSampleEntrustDepartmentDO.setAssayOperatorId(CollUtil.join(assayOperatorIdSet, ",")); + businessSampleEntrustDepartmentDO.setAssayOperator(CollUtil.join(assayOperatorSet, "、")); + + //检验委托 + List allBusinessSampleEntrustDepartmentDOList = businessSampleEntrustDepartmentMapper.selectByBusinessSampleEntrustRegistrationId(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId()); + long count = allBusinessSampleEntrustDepartmentDOList.stream().filter(f -> !f.getId().equals(businessSampleEntrustDepartmentDO.getId()) && QmsCommonConstant.NO.equals(f.getIsReported())).count();//过滤除去当前分析部门外,其他未上报的分析部门数 + if (count <= 0) {//如果值为0,则说明都上报了,需要处理检验委托 + businessSampleEntrustRegistrationDO.setAssayStatus(QmsCommonConstant.CHECKED); + businessSampleEntrustRegistrationMapper.updateById(businessSampleEntrustRegistrationDO); + } + + //生成部门报告pdf + //查询报表数据 + List businessAssayReportDataList = businessAssayReportDataMapper.selectExtendByBusinessBaseSampleIds(businessBaseSampleIdList); + com.alibaba.fastjson.JSONObject jsonObjectParam = new com.alibaba.fastjson.JSONObject(); + com.alibaba.fastjson.JSONObject signatureData = new com.alibaba.fastjson.JSONObject(); + jsonObjectParam.put("assayReportDataList", businessAssayReportDataList); + jsonObjectParam.put("itemNameList", param.getAssayProject()); + jsonObjectParam.put("signatureData", signatureData); + CommonResult assembleByReportData = reportDocumentDataService.assembleByReportData(jsonObjectParam); + byte[] reportPDF = null; + try { + reportPDF = reportDocumentAssistService.generateReportPDF(assembleByReportData.getData(), businessSampleEntrustDepartmentDO.getDataTemplateId()); + } catch (IOException e) { + throw new ServiceException(1_032_100_000, businessSampleEntrustRegistrationDO.getEntrustNumber() + "-" + businessSampleEntrustDepartmentDO.getAssayDepartmentName() + "商检报告生成失败!"); + } + //上传到文件服务 + FileCreateReqDTO fileCreateReqDTO = new FileCreateReqDTO(); + fileCreateReqDTO.setName(businessSampleEntrustRegistrationDO.getEntrustNumber() + "-" + businessSampleEntrustDepartmentDO.getAssayDepartmentName()+".pdf"); + fileCreateReqDTO.setDirectory(null); + fileCreateReqDTO.setType(null); + fileCreateReqDTO.setContent(reportPDF); + CommonResult fileResult = fileApi.createFileWithReturn(fileCreateReqDTO); + if (fileResult == null || !fileResult.isSuccess() || fileResult.getData() == null) { + throw new ServiceException(1_032_100_000, "通过文件服务创建附件失败: " + Optional.ofNullable(fileResult).map(CommonResult::getMsg).orElse("未知错误")); + } + FileRespDTO fileRespDTO = fileResult.getData(); + //创建businessFile + BusinessFileSaveReqDTO businessFileSaveReqDTO = BusinessFileSaveReqDTO.builder() + .businessId(businessSampleEntrustDepartmentDO.getId()) + .businessCode(businessSampleEntrustRegistrationDO.getEntrustNumber()) + .fileName(fileRespDTO.getName()) + .fileId(fileRespDTO.getId()) + .source(null) + .status(1) + .build(); + businessFileApi.createBusinessFile(businessFileSaveReqDTO); + + //设置附件 + BusinessSampleEntrustFileDO businessSampleEntrustFileDO = new BusinessSampleEntrustFileDO(); + businessSampleEntrustFileDO.setBusinessSampleEntrustRegistrationId(businessSampleEntrustDepartmentDO.getBusinessSampleEntrustRegistrationId()); + businessSampleEntrustFileDO.setBusinessSampleEntrustDepartmentId(businessSampleEntrustDepartmentDO.getId()); + businessSampleEntrustFileDO.setFileCategory(QmsCommonConstant.ENTRUST_ATTACHMENT_CATEGORY_DEPT_DOC); + businessSampleEntrustFileDO.setFileId(fileRespDTO.getId()); + businessSampleEntrustFileDO.setFileName(fileRespDTO.getName()); + businessSampleEntrustFileDO.setFilePath(fileRespDTO.getDirectory()); + + businessSampleEntrustFileDOList.add(businessSampleEntrustFileDO); + + //更新委检登记部门分析信息 + businessSampleEntrustDepartmentMapper.updateById(businessSampleEntrustDepartmentDO); + + //保存原始记录附件信息 + if (CollUtil.isNotEmpty(businessSampleEntrustFileDOList)) { + businessSampleEntrustFileMapper.insertBatch(businessSampleEntrustFileDOList); + } + + } + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java index a5c73eb0..4e7bafcb 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleResultReportingServiceImpl.java @@ -44,6 +44,8 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDa import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDO; +import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDepartmentDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO; @@ -59,6 +61,8 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMa import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentDetailMapper; +import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDepartmentMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustDetailMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSampleEntrustRegistrationMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper; @@ -80,12 +84,14 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMetho 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.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; +import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigReportFieldDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO; import com.zt.plat.module.qms.business.config.dal.mapper.BaseSampleMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectParameterMapper; +import com.zt.plat.module.qms.business.config.dal.mapper.ConfigEntrustSourceMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigReportFieldMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSampleReportMapper; @@ -555,10 +561,19 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe @Resource private BusinessSampleEntrustDetailMapper businessSampleEntrustDetailMapper; + + @Resource + private BusinessSampleEntrustDepartmentMapper businessSampleEntrustDepartmentMapper; + + @Resource + private BusinessSampleEntrustDepartmentDetailMapper businessSampleEntrustDepartmentDetailMapper; @Resource private SampleFlowService sampleFlowService; + @Resource + private ConfigEntrustSourceMapper configEntrustSourceMapper; + @Override @Transactional(rollbackFor = Exception.class) public void batchResultDataReporting(BatchResultDataReportingReqVO reqVO) { @@ -566,13 +581,17 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe //当前登录用户昵称 String nickName = SecurityFrameworkUtils.getLoginUserNickname(); - List updatebBusinessSampleEntrustRegistrationDOList = new ArrayList<>(); + List updatebBusinessSampleEntrustRegistrationDOList = new ArrayList<>(); + List updateBusinessSampleEntrustDepartmentDOList = new ArrayList<>(); + List updateBusinessSampleEntrustDepartmentDetailDOList = new ArrayList<>(); + List updateBusinessSubSampleDOList = new ArrayList<>(); List updateBusinessSubSampleAnalysisGroupDOList = new ArrayList<>(); List saveBusinessAssayReportDataDOList = new ArrayList<>(); List updateBusinessAssayReportDataDOList = new ArrayList<>(); + //分样判定id List businessSubParentSampleAssessmentIdList = new ArrayList<>(); List businessSubParentSampleAssessmentProjectIdList = new ArrayList<>(); @@ -764,24 +783,66 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe List allBusinessSampleEntrustDetailDOList = businessSampleEntrustDetailMapper.selectByBusinessSampleEntrustRegistrationIds(businessSampleEntrustRegistrationIdList); + List allBusinessSampleEntrustDepartmentDOList = businessSampleEntrustDepartmentMapper.selectByBusinessSampleEntrustRegistrationIds(businessSampleEntrustRegistrationIdList); + + List allBusinessSampleEntrustDepartmentDetailDOList = businessSampleEntrustDepartmentDetailMapper.selectByBusinessSampleEntrustRegistrationIds(businessSampleEntrustRegistrationIdList); + for (BusinessSampleEntrustRegistrationDO businessSampleEntrustRegistrationDO : businessSampleEntrustRegistrationDOList) { - List currentBusinessBaseSampleIdList = allBusinessSampleEntrustDetailDOList.stream().filter(f -> f.getBusinessSampleEntrustRegistrationId().equals(businessSampleEntrustRegistrationDO.getId())).map(m -> m.getBusinessBaseSampleId()).collect(Collectors.toList()); - List currentBusinessSubParentSampleDOList = businessSubParentSampleMapper.selectByBusinessBaseSampleIds(currentBusinessBaseSampleIdList); - List currentBusinessSubParentSampleIdList = currentBusinessSubParentSampleDOList.stream().map(m -> m.getId()).collect(Collectors.toList()); - List currentBusinessSubParentSampleAssessmentDOList = businessSubParentSampleAssessmentMapper.selectByBusinessSubParentSampleIds(currentBusinessSubParentSampleIdList); - - //排除不在reqVO.getBusinessSubParentSampleIds()并且方法reqVO.getConfigAssayMethodId()的数据,其他数据校验是否已上报 - long count = currentBusinessSubParentSampleAssessmentDOList.stream().filter(f -> !(reqVO.getBusinessSubParentSampleIds().contains(f.getBusinessSubParentSampleId()) && f.getConfigAssayMethodId().equals(reqVO.getConfigAssayMethodId())) && f.getIsReported().equals(QmsCommonConstant.NO)).count(); - if (count > 0) {//如果还存在未上报的数据,则继续 - continue; + ConfigEntrustSourceDO configEntrustSourceDO = configEntrustSourceMapper.selectById(businessSampleEntrustRegistrationDO.getConfigEntrustSourceId()); + if (QmsCommonConstant.YES.equals(configEntrustSourceDO.getIsGenerateDocument())) {//需要生成部门编制报告 + //过滤当前委托下的分析部门 + List currBusinessSampleEntrustDepartmentDOList = allBusinessSampleEntrustDepartmentDOList.stream().filter(f -> f.getBusinessSampleEntrustRegistrationId().equals(businessSampleEntrustRegistrationDO.getId()) && !QmsCommonConstant.CHECKED.equals(f.getAssayStatus())).collect(Collectors.toList()); + for (BusinessSampleEntrustDepartmentDO businessSampleEntrustDepartmentDO : currBusinessSampleEntrustDepartmentDOList) { + //过滤当前分析部门下的样品 + List currBusinessSampleEntrustDepartmentDetailDOList = allBusinessSampleEntrustDepartmentDetailDOList.stream().filter(f -> f.getBusinessSampleEntrustDepartmentId().equals(businessSampleEntrustDepartmentDO.getId()) && !QmsCommonConstant.CHECKED.equals(f.getAssayStatus())).collect(Collectors.toList()); + for (BusinessSampleEntrustDepartmentDetailDO businessSampleEntrustDepartmentDetailDO : currBusinessSampleEntrustDepartmentDetailDOList) { + List currBusinessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessBaseSampleIdAndAssayDepartmentId(businessSampleEntrustDepartmentDetailDO.getBusinessBaseSampleId(), businessSampleEntrustDepartmentDO.getAssayDepartmentId()); + List currBusinessSubSampleAssessmentIdList = currBusinessAssayTaskDataDOList.stream().filter(f -> f.getBusinessSubSampleAssessmentId() != null).map(m -> m.getBusinessSubSampleAssessmentId()).distinct().collect(Collectors.toList()); + List currBusinessSubSampleAssessmentDOList = businessSubSampleAssessmentMapper.selectByIds(currBusinessSubSampleAssessmentIdList); + List currBusinessSubParentSampleAssessmentIdList = currBusinessSubSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleAssessmentId() != null).map(m -> m.getBusinessSubParentSampleAssessmentId()).distinct().collect(Collectors.toList()); + List otherBusinessSubParentSampleAssessmentIdList = currBusinessSubParentSampleAssessmentIdList.stream().filter(f -> !businessSubParentSampleAssessmentIdList.contains(f)).collect(Collectors.toList()); + if (otherBusinessSubParentSampleAssessmentIdList.size() <= 0) { + businessSampleEntrustDepartmentDetailDO.setAssayStatus(QmsCommonConstant.CHECKED);//设置分析样品检验状态为完成 + updateBusinessSampleEntrustDepartmentDetailDOList.add(businessSampleEntrustDepartmentDetailDO); + } else { + List otherBusinessSubParentSampleAssessmentList = businessSubParentSampleAssessmentMapper.selectByIds(otherBusinessSubParentSampleAssessmentIdList); + long count = otherBusinessSubParentSampleAssessmentList.stream().filter(f -> QmsCommonConstant.NO.equals(f.getIsReported())).count();//过滤未上报的数量 + if (count > 0) {//如果大于0,则还存在未上报的 + continue; + } + businessSampleEntrustDepartmentDetailDO.setAssayStatus(QmsCommonConstant.CHECKED);//设置分析样品检验状态为完成 + updateBusinessSampleEntrustDepartmentDetailDOList.add(businessSampleEntrustDepartmentDetailDO);//添加到更新列表 + } + } + long count = currBusinessSampleEntrustDepartmentDetailDOList.stream().filter(f -> !QmsCommonConstant.CHECKED.equals(f.getAssayStatus())).count(); + if (count > 0) {//如果大于0,则还存在样品未上报 + continue; + } + businessSampleEntrustDepartmentDO.setAssayStatus(QmsCommonConstant.CHECKED);//修改完成状态 + updateBusinessSampleEntrustDepartmentDOList.add(businessSampleEntrustDepartmentDO);//添加到更新列表 + } + + } else { + List currentBusinessBaseSampleIdList = allBusinessSampleEntrustDetailDOList.stream().filter(f -> f.getBusinessSampleEntrustRegistrationId().equals(businessSampleEntrustRegistrationDO.getId())).map(m -> m.getBusinessBaseSampleId()).collect(Collectors.toList()); + List currentBusinessSubParentSampleDOList = businessSubParentSampleMapper.selectByBusinessBaseSampleIds(currentBusinessBaseSampleIdList); + List currentBusinessSubParentSampleIdList = currentBusinessSubParentSampleDOList.stream().map(m -> m.getId()).collect(Collectors.toList()); + List currentBusinessSubParentSampleAssessmentDOList = businessSubParentSampleAssessmentMapper.selectByBusinessSubParentSampleIds(currentBusinessSubParentSampleIdList); + + //排除不在reqVO.getBusinessSubParentSampleIds()并且方法reqVO.getConfigAssayMethodId()的数据,其他数据校验是否已上报 + long count = currentBusinessSubParentSampleAssessmentDOList.stream().filter(f -> !(reqVO.getBusinessSubParentSampleIds().contains(f.getBusinessSubParentSampleId()) && f.getConfigAssayMethodId().equals(reqVO.getConfigAssayMethodId())) && f.getIsReported().equals(QmsCommonConstant.NO)).count(); + if (count > 0) {//如果还存在未上报的数据,则继续 + continue; + } + businessSampleEntrustRegistrationDO.setAssayStatus(QmsCommonConstant.CHECKED); + updatebBusinessSampleEntrustRegistrationDOList.add(businessSampleEntrustRegistrationDO); } - businessSampleEntrustRegistrationDO.setAssayStatus(QmsCommonConstant.CHECKED); - updatebBusinessSampleEntrustRegistrationDOList.add(businessSampleEntrustRegistrationDO); } + //保存分析报表数据 if (saveBusinessAssayReportDataDOList.size() > 0) { businessAssayReportDataMapper.insertBatch(saveBusinessAssayReportDataDOList); } + //更新分析报表数据 if (updateBusinessAssayReportDataDOList.size() > 0) { businessAssayReportDataMapper.updateBatch(updateBusinessAssayReportDataDOList); } @@ -794,13 +855,14 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe //查询正常上报的 // List businessSubParentSampleAssessmentIdList = businessSubParentSampleAssessmentExtendList.stream().filter(f -> "normal".equals(f.getAssessmentStatus()) ).map(m -> m.getId()).collect(Collectors.toList()); + //更新分样判定检测项目 businessSubParentSampleAssessmentProjectMapper.update(new LambdaUpdateWrapper() .set(BusinessSubParentSampleAssessmentProjectDO::getIsReported, QmsCommonConstant.YES) .set(BusinessSubParentSampleAssessmentProjectDO::getReporter, nickName) .set(BusinessSubParentSampleAssessmentProjectDO::getReportTime, LocalDateTime.now()) .in(BusinessSubParentSampleAssessmentProjectDO::getId, businessSubParentSampleAssessmentProjectIdList)); - + //更新分样判定 businessSubParentSampleAssessmentMapper.update(new LambdaUpdateWrapper() .set(BusinessSubParentSampleAssessmentDO::getIsReported, QmsCommonConstant.YES) .set(BusinessSubParentSampleAssessmentDO::getReporter, nickName) @@ -811,6 +873,14 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe businessSampleEntrustRegistrationMapper.updateBatch(updatebBusinessSampleEntrustRegistrationDOList); } + if (updateBusinessSampleEntrustDepartmentDOList.size() > 0) { + businessSampleEntrustDepartmentMapper.updateBatch(updateBusinessSampleEntrustDepartmentDOList); + } + + if (updateBusinessSampleEntrustDepartmentDetailDOList.size() > 0) { + businessSampleEntrustDepartmentDetailMapper.updateBatch(updateBusinessSampleEntrustDepartmentDetailDOList); + } + if (updateBusinessSubSampleDOList.size() > 0 && QmsCommonConstant.FLOW_NODE_ANALYSIS.equals(updateBusinessSubSampleDOList.get(0).getSampleFlowNodeKey())) {//仅当前节点在分析时,才操作 SampleFlowParam sampleFlowParam = new SampleFlowParam(); sampleFlowParam.setCurrentSampleFlowKey(QmsCommonConstant.FLOW_NODE_ANALYSIS); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourcePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourcePageReqVO.java index 59b51d35..638b78f4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourcePageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourcePageReqVO.java @@ -13,7 +13,7 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Data public class ConfigEntrustSourcePageReqVO extends PageParam { - @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1") + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") private String entrustType; @Schema(description = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "赵六") @@ -34,6 +34,15 @@ public class ConfigEntrustSourcePageReqVO extends PageParam { @Schema(description = "委托单号引用字段") private String codeField; + @Schema(description = "是否编制部门报告,1-是,0-否") + private Integer isGenerateDocument; + + @Schema(description = "表单设计器模板key") + private String dataTemplateKey; + + @Schema(description = "扩展配置") + private String externalConfig; + @Schema(description = "所属部门") private String systemDepartmentCode; @@ -44,4 +53,5 @@ public class ConfigEntrustSourcePageReqVO extends PageParam { @Schema(description = "备注") private String remark; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceReqVO.java index 5412b8c4..c467ebe7 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceReqVO.java @@ -13,7 +13,7 @@ import lombok.Data; @Data public class ConfigEntrustSourceReqVO { - @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1") + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") private String entrustType; @Schema(description = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", example = "赵六") @@ -34,6 +34,15 @@ public class ConfigEntrustSourceReqVO { @Schema(description = "委托单号引用字段") private String codeField; + @Schema(description = "是否编制部门报告,1-是,0-否") + private Integer isGenerateDocument; + + @Schema(description = "表单设计器模板key") + private String dataTemplateKey; + + @Schema(description = "扩展配置") + private String externalConfig; + @Schema(description = "所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceRespVO.java index 11c07610..d26ac3cc 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceRespVO.java @@ -12,11 +12,11 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class ConfigEntrustSourceRespVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1702") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7658") @ExcelProperty("ID") private Long id; - @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1") + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") @ExcelProperty("委托类型,委托登记-entrust_registration、检验委托-entrust_inspection") private String entrustType; @@ -41,9 +41,22 @@ public class ConfigEntrustSourceRespVO { private String codeRule; @Schema(description = "委托单号引用字段") + @ExcelProperty("委托单号引用字段") private String codeField; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "是否编制部门报告,1-是,0-否") + @ExcelProperty("是否编制部门报告,1-是,0-否") + private Integer isGenerateDocument; + + @Schema(description = "表单设计器模板key") + @ExcelProperty("表单设计器模板key") + private String dataTemplateKey; + + @Schema(description = "扩展配置") + @ExcelProperty("扩展配置") + private String externalConfig; + + @Schema(description = "所属部门") @ExcelProperty("所属部门") private String systemDepartmentCode; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceSaveReqVO.java index f4d0fccb..f6fc5288 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceSaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigEntrustSourceSaveReqVO.java @@ -9,10 +9,10 @@ import jakarta.validation.constraints.*; @Data public class ConfigEntrustSourceSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1702") + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7658") private Long id; - @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "1") + @Schema(description = "委托类型,委托登记-entrust_registration、检验委托-entrust_inspection", example = "2") private String entrustType; @Schema(description = "委托来源名称,西南铜委托、商检委托、内部委托、抽查委托、内审委托、生产委托", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @@ -36,7 +36,16 @@ public class ConfigEntrustSourceSaveReqVO { @Schema(description = "委托单号引用字段") private String codeField; - @Schema(description = "所属部门", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "是否编制部门报告,1-是,0-否") + private Integer isGenerateDocument; + + @Schema(description = "表单设计器模板key") + private String dataTemplateKey; + + @Schema(description = "扩展配置") + private String externalConfig; + + @Schema(description = "所属部门") private String systemDepartmentCode; @Schema(description = "备注") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigEntrustSourceDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigEntrustSourceDO.java index 5d360c28..3c63f5d9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigEntrustSourceDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigEntrustSourceDO.java @@ -25,6 +25,7 @@ import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; public class ConfigEntrustSourceDO extends BusinessBaseDO { + /** * ID */ @@ -66,6 +67,21 @@ public class ConfigEntrustSourceDO extends BusinessBaseDO { @TableField("CD_FLD") private String codeField; /** + * 是否编制部门报告,1-是,0-否 + */ + @TableField("IS_GEN_DOC") + private Integer isGenerateDocument; + /** + * 表单设计器模板key + */ + @TableField("DAT_TMPL_KY") + private String dataTemplateKey; + /** + * 扩展配置 + */ + @TableField("EXT_CFG") + private String externalConfig; + /** * 所属部门 */ @TableField("SYS_DEPT_CD") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.java index d0d7bf6c..73af692f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigEntrustSourceMapper.java @@ -5,8 +5,6 @@ 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.config.controller.vo.*; -import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourcePageReqVO; -import com.zt.plat.module.qms.business.config.controller.vo.ConfigEntrustSourceReqVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigEntrustSourceDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; @@ -21,31 +19,37 @@ public interface ConfigEntrustSourceMapper extends BaseMapperX selectPage(ConfigEntrustSourcePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ConfigEntrustSourceDO::getEntrustType, reqVO.getEntrustType()) .likeIfPresent(ConfigEntrustSourceDO::getName, reqVO.getName()) .eqIfPresent(ConfigEntrustSourceDO::getKey, reqVO.getKey()) .eqIfPresent(ConfigEntrustSourceDO::getDataCollectionKey, reqVO.getDataCollectionKey()) .eqIfPresent(ConfigEntrustSourceDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) .eqIfPresent(ConfigEntrustSourceDO::getCodeRule, reqVO.getCodeRule()) .eqIfPresent(ConfigEntrustSourceDO::getCodeField, reqVO.getCodeField()) + .eqIfPresent(ConfigEntrustSourceDO::getIsGenerateDocument, reqVO.getIsGenerateDocument()) + .eqIfPresent(ConfigEntrustSourceDO::getDataTemplateKey, reqVO.getDataTemplateKey()) + .eqIfPresent(ConfigEntrustSourceDO::getExternalConfig, reqVO.getExternalConfig()) .eqIfPresent(ConfigEntrustSourceDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .betweenIfPresent(ConfigEntrustSourceDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(ConfigEntrustSourceDO::getRemark, reqVO.getRemark()) - .eqIfPresent(ConfigEntrustSourceDO::getEntrustType, reqVO.getEntrustType()) .orderByDesc(ConfigEntrustSourceDO::getId)); } default List selectList(ConfigEntrustSourceReqVO reqVO) { return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ConfigEntrustSourceDO::getEntrustType, reqVO.getEntrustType()) .likeIfPresent(ConfigEntrustSourceDO::getName, reqVO.getName()) .eqIfPresent(ConfigEntrustSourceDO::getKey, reqVO.getKey()) .eqIfPresent(ConfigEntrustSourceDO::getDataCollectionKey, reqVO.getDataCollectionKey()) .eqIfPresent(ConfigEntrustSourceDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey()) .eqIfPresent(ConfigEntrustSourceDO::getCodeRule, reqVO.getCodeRule()) .eqIfPresent(ConfigEntrustSourceDO::getCodeField, reqVO.getCodeField()) + .eqIfPresent(ConfigEntrustSourceDO::getIsGenerateDocument, reqVO.getIsGenerateDocument()) + .eqIfPresent(ConfigEntrustSourceDO::getDataTemplateKey, reqVO.getDataTemplateKey()) + .eqIfPresent(ConfigEntrustSourceDO::getExternalConfig, reqVO.getExternalConfig()) .eqIfPresent(ConfigEntrustSourceDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode()) .betweenIfPresent(ConfigEntrustSourceDO::getCreateTime, reqVO.getCreateTime()) .eqIfPresent(ConfigEntrustSourceDO::getRemark, reqVO.getRemark()) - .eqIfPresent(ConfigEntrustSourceDO::getEntrustType, reqVO.getEntrustType()) .orderByDesc(ConfigEntrustSourceDO::getId)); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/dal/mapper/DataTemplateMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/dal/mapper/DataTemplateMapper.java index d0720dff..af8271af 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/dal/mapper/DataTemplateMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/common/data/dal/mapper/DataTemplateMapper.java @@ -1,13 +1,17 @@ package com.zt.plat.module.qms.common.data.dal.mapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.module.qms.common.data.controller.vo.DataTemplatePageReqVO; import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO; +import com.zt.plat.module.qms.core.constant.DataTypeConstant; + import org.apache.ibatis.annotations.Mapper; import java.util.Arrays; +import java.util.List; /** * 表单设计器模板 Mapper @@ -67,5 +71,20 @@ public interface DataTemplateMapper extends BaseMapperX { )) ); } + + + default DataTemplateDO selectLastByKey(String dataKey) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(DataTemplateDO::getDataKey, dataKey); + query.eq(DataTemplateDO::getCancelFlag, "0"); + query.eq(DataTemplateDO::getCurrentFlag, "1"); + query.eq(DataTemplateDO::getNodeType, DataTypeConstant.DATA_TYPE_DATA); + query.orderByDesc(DataTemplateDO::getUpdateTime); + List list = this.selectList(query); + if (list != null && list.size() > 0) { + return list.get(0); + } + return null; + } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentDetailMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentDetailMapper.xml new file mode 100644 index 00000000..b1b442bc --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentDetailMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentMapper.xml new file mode 100644 index 00000000..a5b38952 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustDepartmentMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.xml new file mode 100644 index 00000000..8ca38dc4 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSampleEntrustFileMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + DELETE FROM T_BSN_SMP_ENTT_FILE t WHERE t.ID IN + + #{item} + + + + + DELETE FROM T_BSN_SMP_ENTT_FILE t WHERE t.BSN_SMP_ENTT_REG_ID = #{businessSampleEntrustRegistrationId} + + \ No newline at end of file