From b2c34982f94261241fa56e62180996693ffb490e Mon Sep 17 00:00:00 2001
From: FCL
Date: Fri, 28 Nov 2025 15:22:17 +0800
Subject: [PATCH 01/11] =?UTF-8?q?feat:=E9=98=B6=E6=AE=B5=E6=80=A7=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../zt/plat/module/qms/api/task/QmsApi.java | 2 +-
.../module/qms/enums/QmsCommonConstant.java | 10 +
.../qms/enums/QmsPermissionConstant.java | 5 +-
.../plat/module/qms/QmsServerApplication.java | 16 --
.../BusinessSampleDispatchController.java | 44 +++-
.../BusinessSampleHandoverController.java | 2 +-
...usinessSampleHandoverDetailController.java | 8 +
.../admin/BusinessSubSampleController.java | 8 +
...usinessAssayParameterDataExtendRespVO.java | 12 +
.../vo/BusinessAssayProjectDataReqVO.java | 4 +
.../vo/BusinessAssayTaskDataExtendRespVO.java | 3 +
.../vo/BusinessAssayTaskDataPageReqVO.java | 6 +
.../vo/BusinessAssayTaskDataReqVO.java | 6 +
.../vo/BusinessAssayTaskDataRespVO.java | 8 +
.../vo/BusinessAssayTaskDataSaveReqVO.java | 8 +-
.../vo/BusinessAssayTaskPageReqVO.java | 9 +
.../controller/vo/BusinessAssayTaskReqVO.java | 9 +
.../vo/BusinessAssayTaskRespVO.java | 12 +
.../vo/BusinessAssayTaskSaveReqVO.java | 10 +-
.../BusinessQCCoefficientDataPageReqVO.java | 6 +
.../vo/BusinessQCCoefficientDataReqVO.java | 6 +
.../vo/BusinessQCCoefficientDataRespVO.java | 6 +
.../BusinessQCCoefficientDataSaveReqVO.java | 6 +
.../vo/BusinessQCManagementDataPageReqVO.java | 6 +
.../vo/BusinessQCManagementDataReqVO.java | 6 +
.../vo/BusinessQCManagementDataRespVO.java | 6 +
.../vo/BusinessQCManagementDataSaveReqVO.java | 6 +
.../vo/BusinessSampleDispatchRespVO.java | 2 +
...sinessSampleEntrustDetailExtendRespVO.java | 16 ++
.../BusinessSampleHandoverDetailRespVO.java | 15 ++
.../vo/BusinessSubSampleExtendRespVO.java | 21 ++
.../vo/BusinessSubSamplePageReqVO.java | 9 +-
.../controller/vo/BusinessSubSampleReqVO.java | 23 ++
.../dal/dataobject/BusinessAssayTaskDO.java | 20 +-
.../dataobject/BusinessAssayTaskDataDO.java | 22 +-
.../BusinessQCCoefficientDataDO.java | 11 +
.../BusinessQCManagementDataDO.java | 11 +-
.../BusinessAssayParameterDataMapper.java | 9 +
.../BusinessAssayProjectDataMapper.java | 1 +
.../mapper/BusinessAssayTaskDataMapper.java | 22 +-
.../dal/mapper/BusinessAssayTaskMapper.java | 8 +-
.../BusinessQCCoefficientDataMapper.java | 4 +
.../BusinessQCManagementDataMapper.java | 4 +
.../BusinessSampleHandoverDetailMapper.java | 27 +++
.../BusinessSubSampleAnalysisGroupMapper.java | 6 +
.../dal/mapper/BusinessSubSampleMapper.java | 5 +
.../SampleEntrustGenSampleDataCmp.java | 21 +-
.../taskassign/SampleTaskAssignManualCmp.java | 5 +
.../taskassign/SampleTaskAssignMethodCmp.java | 5 +
.../SampleTaskAssignQCSampleCmp.java | 1 +
.../taskassign/SampleTaskAssignSampleCmp.java | 5 +
.../BusinessSampleDispatchService.java | 2 +-
.../BusinessSampleDispatchServiceImpl.java | 23 +-
.../BusinessSampleHandoverDetailService.java | 2 +
...sinessSampleHandoverDetailServiceImpl.java | 5 +
.../bus/service/BusinessSubSampleService.java | 7 +
.../service/BusinessSubSampleServiceImpl.java | 81 +++++--
.../SampleAnalysisAuditServiceImpl.java | 16 +-
.../service/SampleAnalysisServiceImpl.java | 140 ++++++++++--
.../SampleResultReportingServiceImpl.java | 8 +
.../service/SampleTaskAssignServiceImpl.java | 2 +
.../ConfigWarehouseLocationController.java | 51 ++++-
.../MaterialAssayStandardController.java | 4 +
...MaterialAssayStandardDetailController.java | 8 +
.../vo/ConfigSubSampleMethodConfInfo.java | 18 ++
.../vo/ConfigSubSampleMethodConfItem.java | 16 ++
.../vo/ConfigSubSampleMethodConfPoint.java | 20 ++
.../vo/ConfigWarehouseLocationPageReqVO.java | 16 ++
.../vo/ConfigWarehouseLocationRespVO.java | 17 ++
.../vo/ConfigWarehouseLocationSaveReqVO.java | 8 +
.../dataobject/ConfigWarehouseLocationDO.java | 4 +
.../mapper/ConfigSubSampleMethodMapper.java | 6 +
.../mapper/ConfigWarehouseLocationMapper.java | 23 +-
.../ConfigWarehouseLocationService.java | 6 +-
.../ConfigWarehouseLocationServiceImpl.java | 30 ++-
.../vo/ReportDocumentMainRespVO.java | 1 +
.../ReportDocumentDataServiceImpl.java | 166 ++++++++------
.../module/qms/core/aspect/DictAspect.java | 2 +-
.../module/qms/iot/mapper/IotHelloMapper.java | 2 +-
.../qms/iot/service/IIotHelloService.java | 2 +-
.../iot/service/impl/IotHelloServiceImpl.java | 2 +-
.../admin/AutoIngredientsController.java | 2 +-
.../service/AutoIngredientsServiceImpl.java | 215 +++++++++++++++++-
.../mapper/BusinessAssayTaskDataMapper.xml | 1 +
...SubParentSampleAssessmentProjectMapper.xml | 62 +++--
.../dal/mapper/BusinessSubSampleMapper.xml | 2 +-
...onfigWarehouseLocationInfomationMapper.xml | 12 -
.../mapper/ConfigWarehouseLocationMapper.xml | 54 +++++
88 files changed, 1296 insertions(+), 243 deletions(-)
delete mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/QmsServerApplication.java
create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataExtendRespVO.java
create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfInfo.java
create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfItem.java
create mode 100644 zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfPoint.java
delete mode 100644 zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationInfomationMapper.xml
diff --git a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/api/task/QmsApi.java b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/api/task/QmsApi.java
index 21142fb..6216c19 100644
--- a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/api/task/QmsApi.java
+++ b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/api/task/QmsApi.java
@@ -1,9 +1,9 @@
package com.zt.plat.module.qms.api.task;
+import com.alibaba.fastjson.JSONObject;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO;
import com.zt.plat.module.qms.enums.ApiConstants;
-import com.alibaba.fastjson.JSONObject;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
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 6934dec..19a8a8e 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
@@ -184,4 +184,14 @@ public interface QmsCommonConstant {
/** 手动 **/
String MANUAL = "manual";
+
+
+ /** 样品库操作类型: 归库、调拨、下架 **/
+ String SAMPLE_STORAGE_OPERATION_TYPE_STORAGE = "storage";
+ String SAMPLE_STORAGE_OPERATION_TYPE_TRANSFER = "dispatch";
+ String SAMPLE_STORAGE_OPERATION_TYPE_TAKEN_OFF = "take_off";
+
+
+ /** 允许提交 **/
+ String ALLOW_SUBMIT = "allow_submit";
}
diff --git a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsPermissionConstant.java b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsPermissionConstant.java
index 8ea6100..ee8342e 100644
--- a/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsPermissionConstant.java
+++ b/zt-module-qms/zt-module-qms-api/src/main/java/com/zt/plat/module/qms/enums/QmsPermissionConstant.java
@@ -17,7 +17,8 @@ public interface QmsPermissionConstant {
String TARGET_TYPE_CUSTOM = "custom";
//======================各业务模块权限常量=============================
- //报告发起权限
- String REPORT_DOCUMENT_TYPE_START = "report_document_type_start";
+
+ String REPORT_DOCUMENT_TYPE_START = "report_document_type_start"; //报告发起权限
+ String SAMPLE_WAREHOUSE_ADMIN = "sample_warehouse_admin"; //样品库管理员
}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/QmsServerApplication.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/QmsServerApplication.java
deleted file mode 100644
index c328170..0000000
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/QmsServerApplication.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.zt.plat.module.qms;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * 项目的启动类
- */
-@SpringBootApplication
-public class QmsServerApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(QmsServerApplication.class, args);
- }
-
-}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleDispatchController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleDispatchController.java
index e4bdc09..4cf8a37 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleDispatchController.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleDispatchController.java
@@ -1,12 +1,16 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.alibaba.fastjson.JSONObject;
-import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchPageReqVO;
-import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchRespVO;
-import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchSaveReqVO;
+import com.zt.plat.module.qms.business.bus.controller.vo.*;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDetailDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
+import com.zt.plat.module.qms.business.bus.service.BusinessSampleDispatchDetailService;
import com.zt.plat.module.qms.business.bus.service.BusinessSubSampleService;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationRespVO;
+import com.zt.plat.module.qms.business.config.service.ConfigWarehouseLocationService;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
+import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@@ -46,7 +50,9 @@ public class BusinessSampleDispatchController implements BusinessControllerMarke
@Resource private BusinessSampleDispatchService businessSampleDispatchService;
+ @Resource private BusinessSampleDispatchDetailService businessSampleDispatchDetailService;
@Resource private BusinessSubSampleService businessSubSampleService;
+ @Resource private ConfigWarehouseLocationService configWarehouseLocationService;
@PostMapping("/createTempData")
@Operation(summary = "创建临时数据")
@@ -60,6 +66,7 @@ public class BusinessSampleDispatchController implements BusinessControllerMarke
@Operation(summary = "更新样品调拨")
public CommonResult updateBusinessSampleDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO updateReqVO) {
updateReqVO.setCancelStatus("0");
+ updateReqVO.setFlowStatus(QmsCommonConstant.NOT_START);
businessSampleDispatchService.updateBusinessSampleDispatch(updateReqVO);
return success(true);
}
@@ -67,7 +74,7 @@ public class BusinessSampleDispatchController implements BusinessControllerMarke
@PostMapping("/addOrRemoveSample")
@Operation(summary = "增加或移除样品")
public CommonResult addOrRemoveSample(@Valid @RequestBody BusinessSampleDispatchSaveReqVO updateReqVO) {
- businessSampleDispatchService.addOrRemoveSample(updateReqVO);
+ businessSampleDispatchService.addOrRemoveSample(updateReqVO, true);
return success(true);
}
@@ -76,10 +83,26 @@ public class BusinessSampleDispatchController implements BusinessControllerMarke
public CommonResult addBySampleReturnCode(@RequestBody JSONObject param) {
String id = param.getString("id");
String sampleReturnCode = param.getString("sampleReturnCode");
+ String warehouseCode = param.getString("warehouseCode");
+ if(ObjectUtils.isEmpty(warehouseCode)){
+ return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "请选择仓库,再扫描样品!");
+ }
BusinessSubSampleDO businessSubSampleDO = businessSubSampleService.getBySampleReturnCode(sampleReturnCode);
if(businessSubSampleDO == null)
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "未查询到此样品!");
- //判断样品状态
+ //判断样品状态、库位
+// String sampleWarehouseCode = businessSubSampleDO.getWarehouseCode(); //todo 判断库位
+ ConfigWarehouseLocationPageReqVO warehouseReqVO = new ConfigWarehouseLocationPageReqVO();
+ warehouseReqVO.setId(businessSubSampleDO.getConfigWarehouseLocationInfomationId());
+ PageResult warehousePage = configWarehouseLocationService.getConfigWarehouseLocationPage(warehouseReqVO);
+ if(warehousePage.getTotal() == 0){
+ return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "未查询到样品所在仓库,请检查样品码是否正确!");
+ }
+ ConfigWarehouseLocationRespVO warehouse = warehousePage.getList().get(0);
+ if(!warehouseCode.equals(warehouse.getWarehouseCode())){
+ return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "此样品所在仓库为:"+warehouse.getWarehouseName()+",请检查样品码是否正确!");
+ }
+
String returnStatus = businessSubSampleDO.getReturnStatus();
if(!QmsCommonConstant.COMPLETED.equals(returnStatus)){
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "样品状态为:"+returnStatus+",不能调拨!");
@@ -88,14 +111,19 @@ public class BusinessSampleDispatchController implements BusinessControllerMarke
if("1".equals(dispatchStatus)){
return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "样品已被调拨:请归还后再调拨!");
}
- //todo 重复校验
-
+ BusinessSampleDispatchDetailPageReqVO reqVO = new BusinessSampleDispatchDetailPageReqVO();
+ reqVO.setParentId(Long.valueOf(id));
+ reqVO.setSampleReturnCode(sampleReturnCode);
+ PageResult pageDetailList = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(reqVO);
+ if(pageDetailList.getTotal() > 0){
+ return CommonResult.error(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "次样品已添加,请勿重复添加!");
+ }
List sampleIds = new ArrayList<>();
sampleIds.add(businessSubSampleDO.getId());
BusinessSampleDispatchSaveReqVO updateReqVO = new BusinessSampleDispatchSaveReqVO();
updateReqVO.setId(Long.valueOf(id));
updateReqVO.setAddSubSampleIds(sampleIds);
- businessSampleDispatchService.addOrRemoveSample(updateReqVO);
+ businessSampleDispatchService.addOrRemoveSample(updateReqVO, false);
return success(true);
}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java
index 34e432f..eedf82b 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverController.java
@@ -37,7 +37,7 @@ import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@RestController
@RequestMapping("/qms/business-sample-handover")
@Validated
-public class BusinessSampleHandoverController implements BusinessControllerMarker {
+public class BusinessSampleHandoverController {
@Resource
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverDetailController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverDetailController.java
index d95a382..a89c1e0 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverDetailController.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSampleHandoverDetailController.java
@@ -92,6 +92,14 @@ public class BusinessSampleHandoverDetailController implements BusinessControlle
return success(BeanUtils.toBean(pageResult, BusinessSampleHandoverDetailRespVO.class));
}
+ @GetMapping("/takeOffPageList")
+ @Operation(summary = "获得样品交接明细分页")
+ //@PreAuthorize("@ss.hasPermission('qms:business-sample-handover-detail:query')")
+ public CommonResult> takeOffPageList(@Valid BusinessSampleHandoverDetailPageReqVO pageReqVO) {
+ PageResult pageResult = businessSampleHandoverDetailService.takeOffPageList(pageReqVO);
+ return success(pageResult);
+ }
+
@GetMapping("/export-excel")
@Operation(summary = "导出样品交接明细 Excel")
//@PreAuthorize("@ss.hasPermission('qms:business-sample-handover-detail:export')")
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java
index 6b45a6d..7d241c1 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/BusinessSubSampleController.java
@@ -90,6 +90,14 @@ public class BusinessSubSampleController implements BusinessControllerMarker {
return success(result);
}
+ @GetMapping("/getPrintSubSample")
+ @Operation(summary = "获得打印子样业务")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ public CommonResult getPrintSubSample(@RequestParam("id") Long id) {
+ BusinessSubSampleExtendRespVO result = businessSubSampleService.getPrintSubSample(id);
+ return success(result);
+ }
+
@GetMapping("/list")
@Operation(summary = "获得子样业务列表")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample:query')")
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataExtendRespVO.java
new file mode 100644
index 0000000..ee2ff02
--- /dev/null
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayParameterDataExtendRespVO.java
@@ -0,0 +1,12 @@
+package com.zt.plat.module.qms.business.bus.controller.vo;
+
+import lombok.Data;
+
+@Data
+public class BusinessAssayParameterDataExtendRespVO extends BusinessAssayParameterDataRespVO {
+
+ private String parameterName;
+
+ private String parameterKey;
+
+}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataReqVO.java
index a052df1..462fcc0 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayProjectDataReqVO.java
@@ -65,4 +65,8 @@ public class BusinessAssayProjectDataReqVO {
@Schema(description = "备注")
private String remark;
+ //========================扩展字段==================================
+
+ @Schema(description = "检测任务ID列表", example = "16505")
+ private List businessAssayTaskDataIdList;
}
\ 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/BusinessAssayTaskDataExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java
index b7a252a..0958e76 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataExtendRespVO.java
@@ -17,6 +17,9 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp
/** 分析方法名称 **/
@Schema(description = "分析方法名称")
private String configAssayMethodName;
+
+ @Schema(description = "子样配置id")
+ private Long configSubSampleId;
@Schema(description = "样品名称")
private String sampleName;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java
index 70dcea3..ff1e6a3 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataPageReqVO.java
@@ -49,6 +49,9 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "27835")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@@ -62,6 +65,9 @@ public class BusinessAssayTaskDataPageReqVO extends PageParam {
@Schema(description = "上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "15920")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java
index c91101a..c9064d3 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataReqVO.java
@@ -49,6 +49,9 @@ public class BusinessAssayTaskDataReqVO {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "27835")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@@ -62,6 +65,9 @@ public class BusinessAssayTaskDataReqVO {
@Schema(description = "上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "15920")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataRespVO.java
index fb3dfc9..40b3b8b 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataRespVO.java
@@ -63,6 +63,10 @@ public class BusinessAssayTaskDataRespVO {
@ExcelProperty("分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "27835")
+ @ExcelProperty("分析人ID")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@ExcelProperty("分配任务时间")
private LocalDateTime assignTaskTime;
@@ -79,6 +83,10 @@ public class BusinessAssayTaskDataRespVO {
@ExcelProperty("上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "15920")
+ @ExcelProperty("上报人ID")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@ExcelProperty("上报时间")
private LocalDateTime reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataSaveReqVO.java
index b825997..7e2bf4c 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataSaveReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskDataSaveReqVO.java
@@ -2,9 +2,7 @@ package com.zt.plat.module.qms.business.bus.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
-import java.util.*;
import jakarta.validation.constraints.*;
-import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 子样检测任务业务新增/修改 Request VO")
@@ -59,6 +57,9 @@ public class BusinessAssayTaskDataSaveReqVO {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "27835")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
private LocalDateTime assignTaskTime;
@@ -71,6 +72,9 @@ public class BusinessAssayTaskDataSaveReqVO {
@Schema(description = "上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "15920")
+ private Long reporterId;
+
@Schema(description = "上报时间")
private LocalDateTime reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java
index 4e31fc1..cbdade7 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskPageReqVO.java
@@ -34,6 +34,9 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
@Schema(description = "任务单分配人")
private String taskAssignOperator;
+ @Schema(description = "任务单分配人ID", example = "14545")
+ private Long taskAssignOperatorId;
+
@Schema(description = "任务单分配时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskAssignTime;
@@ -54,6 +57,9 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人", example = "17685")
+ private Long assayOperatorId;
+
@Schema(description = "分析时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assayTime;
@@ -75,6 +81,9 @@ public class BusinessAssayTaskPageReqVO extends PageParam {
@Schema(description = "上报人")
private String reportOperator;
+ @Schema(description = "上报人ID", example = "7393")
+ private Long reportOperatorId;
+
@Schema(description = "任务单完成时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskFinishTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java
index 445dc92..3767ed4 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskReqVO.java
@@ -33,6 +33,9 @@ public class BusinessAssayTaskReqVO {
@Schema(description = "任务单分配人")
private String taskAssignOperator;
+ @Schema(description = "任务单分配人ID", example = "14545")
+ private Long taskAssignOperatorId;
+
@Schema(description = "任务单分配时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskAssignTime;
@@ -53,6 +56,9 @@ public class BusinessAssayTaskReqVO {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人", example = "17685")
+ private Long assayOperatorId;
+
@Schema(description = "分析时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assayTime;
@@ -74,6 +80,9 @@ public class BusinessAssayTaskReqVO {
@Schema(description = "上报人")
private String reportOperator;
+ @Schema(description = "上报人ID", example = "7393")
+ private Long reportOperatorId;
+
@Schema(description = "任务单完成时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] taskFinishTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java
index 9bae38a..a31f6ed 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskRespVO.java
@@ -42,6 +42,10 @@ public class BusinessAssayTaskRespVO {
@ExcelProperty("任务单分配人")
private String taskAssignOperator;
+ @Schema(description = "任务单分配人ID", example = "14545")
+ @ExcelProperty("任务单分配人ID")
+ private Long taskAssignOperatorId;
+
@Schema(description = "任务单分配时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("任务单分配时间")
private LocalDateTime taskAssignTime;
@@ -64,6 +68,10 @@ public class BusinessAssayTaskRespVO {
@ExcelProperty("分析人")
private String assayOperator;
+ @Schema(description = "分析人", example = "17685")
+ @ExcelProperty("分析人")
+ private Long assayOperatorId;
+
@Schema(description = "分析时间")
@ExcelProperty("分析时间")
private LocalDateTime assayTime;
@@ -84,6 +92,10 @@ public class BusinessAssayTaskRespVO {
@ExcelProperty("上报人")
private String reportOperator;
+ @Schema(description = "上报人ID", example = "7393")
+ @ExcelProperty("上报人ID")
+ private Long reportOperatorId;
+
@Schema(description = "任务单完成时间")
@ExcelProperty("任务单完成时间")
private LocalDateTime taskFinishTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java
index aa444e5..fb95ba7 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskSaveReqVO.java
@@ -40,9 +40,11 @@ public class BusinessAssayTaskSaveReqVO {
private String taskSourceType;
@Schema(description = "任务单分配人", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "任务单分配人不能为空")
private String taskAssignOperator;
+ @Schema(description = "任务单分配人ID", example = "14545")
+ private Long taskAssignOperatorId;
+
@Schema(description = "任务单分配时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "任务单分配时间不能为空")
private LocalDateTime taskAssignTime;
@@ -64,6 +66,9 @@ public class BusinessAssayTaskSaveReqVO {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人", example = "17685")
+ private Long assayOperatorId;
+
@Schema(description = "分析时间")
private LocalDateTime assayTime;
@@ -79,6 +84,9 @@ public class BusinessAssayTaskSaveReqVO {
@Schema(description = "上报人")
private String reportOperator;
+ @Schema(description = "上报人ID", example = "7393")
+ private Long reportOperatorId;
+
@Schema(description = "任务单完成时间")
private LocalDateTime taskFinishTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataPageReqVO.java
index 0223ac0..89f816d 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataPageReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataPageReqVO.java
@@ -46,6 +46,9 @@ public class BusinessQCCoefficientDataPageReqVO extends PageParam {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "10644")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@@ -59,6 +62,9 @@ public class BusinessQCCoefficientDataPageReqVO extends PageParam {
@Schema(description = "上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "2683")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataReqVO.java
index cf8ca9d..4eff26e 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataReqVO.java
@@ -46,6 +46,9 @@ public class BusinessQCCoefficientDataReqVO {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "10644")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@@ -59,6 +62,9 @@ public class BusinessQCCoefficientDataReqVO {
@Schema(description = "上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "2683")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataRespVO.java
index b0cc663..11c44f8 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataRespVO.java
@@ -60,6 +60,9 @@ public class BusinessQCCoefficientDataRespVO {
@ExcelProperty("分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "10644")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@ExcelProperty("分配任务时间")
private LocalDateTime assignTaskTime;
@@ -76,6 +79,9 @@ public class BusinessQCCoefficientDataRespVO {
@ExcelProperty("上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "2683")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@ExcelProperty("上报时间")
private LocalDateTime reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataSaveReqVO.java
index a02d79e..fac424c 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataSaveReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCCoefficientDataSaveReqVO.java
@@ -50,6 +50,9 @@ public class BusinessQCCoefficientDataSaveReqVO {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "10644")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
private LocalDateTime assignTaskTime;
@@ -59,6 +62,9 @@ public class BusinessQCCoefficientDataSaveReqVO {
@Schema(description = "是否已上报")
private Integer isReported;
+ @Schema(description = "上报人ID", example = "2683")
+ private Long reporterId;
+
@Schema(description = "上报人")
private String reporter;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataPageReqVO.java
index f9c44bf..761f5d9 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataPageReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataPageReqVO.java
@@ -46,6 +46,9 @@ public class BusinessQCManagementDataPageReqVO extends PageParam {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "6498")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@@ -59,6 +62,9 @@ public class BusinessQCManagementDataPageReqVO extends PageParam {
@Schema(description = "上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "17517")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataReqVO.java
index 43a2f19..8ad382a 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataReqVO.java
@@ -46,6 +46,9 @@ public class BusinessQCManagementDataReqVO {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "6498")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] assignTaskTime;
@@ -59,6 +62,9 @@ public class BusinessQCManagementDataReqVO {
@Schema(description = "上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "17517")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataRespVO.java
index fc265de..e7723c4 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataRespVO.java
@@ -60,6 +60,9 @@ public class BusinessQCManagementDataRespVO {
@ExcelProperty("分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "6498")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
@ExcelProperty("分配任务时间")
private LocalDateTime assignTaskTime;
@@ -76,6 +79,9 @@ public class BusinessQCManagementDataRespVO {
@ExcelProperty("上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "17517")
+ private Long reporterId;
+
@Schema(description = "上报时间")
@ExcelProperty("上报时间")
private LocalDateTime reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataSaveReqVO.java
index 77dc4d1..0a15599 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataSaveReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessQCManagementDataSaveReqVO.java
@@ -51,6 +51,9 @@ public class BusinessQCManagementDataSaveReqVO {
@Schema(description = "分析人")
private String assayOperator;
+ @Schema(description = "分析人ID", example = "6498")
+ private Long assayOperatorId;
+
@Schema(description = "分配任务时间")
private LocalDateTime assignTaskTime;
@@ -63,6 +66,9 @@ public class BusinessQCManagementDataSaveReqVO {
@Schema(description = "上报人")
private String reporter;
+ @Schema(description = "上报人ID", example = "17517")
+ private Long reporterId;
+
@Schema(description = "上报时间")
private LocalDateTime reportTime;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleDispatchRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleDispatchRespVO.java
index d7f3a31..fe31c3b 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleDispatchRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleDispatchRespVO.java
@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
+import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
@@ -65,6 +66,7 @@ public class BusinessSampleDispatchRespVO {
@Schema(description = "流程审批状态", example = "1")
@ExcelProperty("流程审批状态")
+ @Dict(dicCode = "flow_status")
private String flowStatus;
@Schema(description = "完成状态", example = "1")
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java
index c9ffcc6..18c741e 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleEntrustDetailExtendRespVO.java
@@ -1,7 +1,17 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
+import java.time.LocalDateTime;
import java.util.List;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+
+import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@@ -16,6 +26,12 @@ public class BusinessSampleEntrustDetailExtendRespVO extends BusinessSampleEntru
/** 打印标签 **/
private String printTemplate;
+ @JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
+ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "任务结束时间(yyyy-MM-dd HH:mm:ss)")
+ private LocalDateTime createTime;
+
private List sampleEntrustDetailProjectList;
}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailRespVO.java
index 54cf9e6..88e5562 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSampleHandoverDetailRespVO.java
@@ -61,4 +61,19 @@ public class BusinessSampleHandoverDetailRespVO {
@ExcelProperty("备注")
private String remark;
+
+ //==================================扩展字段==================================
+ @Schema(description = "原样品编号")
+ @ExcelProperty("原样品编号")
+ private String originalSampleCode;
+
+ @Schema(description = "库位编码")
+ @ExcelProperty("归库时间")
+ private String warehouseLocationCode;
+
+ @Schema(description = "归库时间")
+ @ExcelProperty("归库时间")
+ private LocalDateTime returnTime;
+
+
}
\ 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/BusinessSubSampleExtendRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java
index 3439535..6a60a80 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleExtendRespVO.java
@@ -1,9 +1,15 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
+import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import cn.hutool.core.collection.CollUtil;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -63,6 +69,21 @@ public class BusinessSubSampleExtendRespVO extends BusinessSubSampleRespVO {
@Schema(description = "样品标签打印模版")
private String printTemplate;
+
+ @Schema(description = "样品标签打印份数")
+ private Integer codePrintQuantity;
+
+ @Schema(description = "收样人")
+ private String sampleReceiver;
+
+ @Schema(description = "分析项目")
+ private String assayProject;
+
+ @JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
+ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "收样时间")
+ private LocalDateTime sampleReceiveTime;
@Schema(description = "库位编码")
private String warehouseLocationCode;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java
index cf97617..abfeb31 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSamplePageReqVO.java
@@ -6,6 +6,7 @@ import com.zt.plat.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
+import java.util.List;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -133,6 +134,8 @@ public class BusinessSubSamplePageReqVO extends PageParam {
@Schema(description = "备注")
private String remark;
+ //=======================================扩展字段=======================================
+
@Schema(description = "分析部门id")
private Long assayDepartmentId;
@@ -141,8 +144,10 @@ public class BusinessSubSamplePageReqVO extends PageParam {
@Schema(description = "分析部门状态")
private String assayDepartmentStatus;
-
- //=======================================扩展字段=======================================
+
+ @Schema(description = "样品流程节点KEY列表")
+ private List sampleFlowNodeKeyList;
+
@Schema(description = "库位编码")
private String warehouseLocationCode;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleReqVO.java
index e116687..a4bc808 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessSubSampleReqVO.java
@@ -134,6 +134,29 @@ public class BusinessSubSampleReqVO {
@Schema(description = "备注")
private String remark;
+ //=======================================扩展字段=======================================
+
+ @Schema(description = "分析部门id")
+ private Long assayDepartmentId;
+
+ @Schema(description = "分析部门名称")
+ private String assayDepartmentName;
+
+ @Schema(description = "分析部门状态")
+ private String assayDepartmentStatus;
+
+ @Schema(description = "样品流程节点KEY列表")
+ private List sampleFlowNodeKeyList;
+
+ @Schema(description = "库位编码")
+ private String warehouseLocationCode;
+
+ @Schema(description = "仓库编码")
+ private String warehouseCode;
+
+ //是否过滤已申请调拨的数据: 1-是, 其他值:否
+ @Schema(description = "是否过滤已申请调拨的数据")
+ private String hideDispatchData;
}
\ 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/BusinessAssayTaskDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java
index 81ff2e7..c88515e 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDO.java
@@ -24,7 +24,6 @@ import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
public class BusinessAssayTaskDO extends BusinessBaseDO {
-
/**
* ID
*/
@@ -66,6 +65,11 @@ public class BusinessAssayTaskDO extends BusinessBaseDO {
@TableField("TSK_ASN_OPTR")
private String taskAssignOperator;
/**
+ * 任务单分配人ID
+ */
+ @TableField("TSK_ASN_OPTR_ID")
+ private Long taskAssignOperatorId;
+ /**
* 任务单分配时间
*/
@TableField("TSK_ASN_TM")
@@ -76,8 +80,8 @@ public class BusinessAssayTaskDO extends BusinessBaseDO {
@TableField("TSK_ASN_STS")
private String taskAssignStatus;
/**
- * 任务单分配提交时间
- */
+ * 任务单分配提交时间
+ */
@TableField("TSK_ASN_SBM_TM")
private LocalDateTime taskAssignSubmitTime;
/**
@@ -96,6 +100,11 @@ public class BusinessAssayTaskDO extends BusinessBaseDO {
@TableField("ASY_OPTR")
private String assayOperator;
/**
+ * 分析人
+ */
+ @TableField("ASY_OPTR_ID")
+ private Long assayOperatorId;
+ /**
* 分析时间
*/
@TableField("ASY_TM")
@@ -121,6 +130,11 @@ public class BusinessAssayTaskDO extends BusinessBaseDO {
@TableField("RPT_OPTR")
private String reportOperator;
/**
+ * 上报人ID
+ */
+ @TableField("RPT_OPTR_ID")
+ private Long reportOperatorId;
+ /**
* 任务单完成时间
*/
@TableField("TSK_FIN_TM")
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java
index 6121427..3be86ec 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessAssayTaskDataDO.java
@@ -46,11 +46,6 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO {
@TableField("BSN_SB_SMP_ID")
private Long businessSubSampleId;
/**
- * 分样子样判定ID
- */
- @TableField("BSN_SB_SMP_ASMT_ID")
- private Long businessSubSampleAssessmentId;
- /**
* 检测方法配置ID
*/
@TableField("CFG_ASY_MTHD_ID")
@@ -61,6 +56,11 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO {
@TableField(value = "BSN_ASY_TSK_ID", updateStrategy = FieldStrategy.ALWAYS)
private Long businessAssayTaskId;
/**
+ * 子样判定ID
+ */
+ @TableField("BSN_SB_SMP_ASMT_ID")
+ private Long businessSubSampleAssessmentId;
+ /**
* 任务类型,【字典】【jy_sample_task_type】常规、抽查...
*/
@TableField("TSK_TP")
@@ -91,6 +91,11 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO {
@TableField(value = "ASY_OPTR", updateStrategy = FieldStrategy.ALWAYS)
private String assayOperator;
/**
+ * 分析人ID
+ */
+ @TableField(value = "ASY_OPTR_ID", updateStrategy = FieldStrategy.ALWAYS)
+ private Long assayOperatorId;
+ /**
* 分配任务时间
*/
@TableField(value = "ASN_TSK_TM", updateStrategy = FieldStrategy.ALWAYS)
@@ -111,6 +116,11 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO {
@TableField("RPTR")
private String reporter;
/**
+ * 上报人ID
+ */
+ @TableField("RPTR_ID")
+ private Long reporterId;
+ /**
* 上报时间
*/
@TableField("RPT_TM")
@@ -131,7 +141,7 @@ public class BusinessAssayTaskDataDO extends BusinessBaseDO {
@TableField("SMP_FLW_NDE_TM")
private LocalDateTime sampleFlowNodeTime;
/**
- * 分析次数,复检的累加次数
+ * 分析次数,值为0为分析,大于0为第几次复检
*/
@TableField("ANL_CNT")
private Integer analysisCount;
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCCoefficientDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCCoefficientDataDO.java
index 76e5dc6..b884247 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCCoefficientDataDO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCCoefficientDataDO.java
@@ -89,6 +89,11 @@ public class BusinessQCCoefficientDataDO extends BusinessBaseDO {
@TableField("ASY_OPTR")
private String assayOperator;
/**
+ * 分析人ID
+ */
+ @TableField("ASY_OPTR_ID")
+ private Long assayOperatorId;
+ /**
* 分配任务时间
*/
@TableField("ASN_TSK_TM")
@@ -109,6 +114,11 @@ public class BusinessQCCoefficientDataDO extends BusinessBaseDO {
@TableField("RPTR")
private String reporter;
/**
+ * 上报人ID
+ */
+ @TableField("RPTR_ID")
+ private Long reporterId;
+ /**
* 上报时间
*/
@TableField("RPT_TM")
@@ -129,4 +139,5 @@ public class BusinessQCCoefficientDataDO extends BusinessBaseDO {
@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/BusinessQCManagementDataDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementDataDO.java
index 3938b80..9f3102b 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementDataDO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessQCManagementDataDO.java
@@ -89,6 +89,11 @@ public class BusinessQCManagementDataDO extends BusinessBaseDO {
@TableField("ASY_OPTR")
private String assayOperator;
/**
+ * 分析人ID
+ */
+ @TableField("ASY_OPTR_ID")
+ private Long assayOperatorId;
+ /**
* 分配任务时间
*/
@TableField("ASN_TSK_TM")
@@ -109,6 +114,11 @@ public class BusinessQCManagementDataDO extends BusinessBaseDO {
@TableField("RPTR")
private String reporter;
/**
+ * 上报人ID
+ */
+ @TableField("RPTR_ID")
+ private Long reporterId;
+ /**
* 上报时间
*/
@TableField("RPT_TM")
@@ -128,5 +138,4 @@ public class BusinessQCManagementDataDO extends BusinessBaseDO {
*/
@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/BusinessAssayParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java
index d5b2ddc..c0f5797 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayParameterDataMapper.java
@@ -83,5 +83,14 @@ public interface BusinessAssayParameterDataMapper extends BaseMapperX()
.in(BusinessAssayParameterDataDO::getBusinessAssayProjectDataId, businessAssayProjectDataIds));
}
+
+ default List selectExtendByBusinessAssayProjectDataIds(List businessAssayProjectDataIds) {
+ return selectJoinList(BusinessAssayParameterDataExtendRespVO.class, new MPJLambdaWrapperX()
+ .leftJoin(DictionaryParameterDO.class, DictionaryParameterDO::getId, BusinessAssayParameterDataDO::getDictionaryParameterId)
+ .selectAll(BusinessAssayParameterDataDO.class)
+ .selectAs(DictionaryParameterDO::getName, BusinessAssayParameterDataExtendRespVO::getParameterName)
+ .selectAs(DictionaryParameterDO::getKey, BusinessAssayParameterDataExtendRespVO::getParameterKey)
+ .in(BusinessAssayParameterDataDO::getBusinessAssayProjectDataId, businessAssayProjectDataIds));
+ }
}
\ 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/BusinessAssayProjectDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java
index ce6ef99..f1407d5 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayProjectDataMapper.java
@@ -49,6 +49,7 @@ public interface BusinessAssayProjectDataMapper extends BaseMapperX()
.eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId));
}
+
+
+ /**
+ * 根据子样及分析部门查询分析任务
+ * @param businessSubSampleId 子样id
+ * @param assayDepartmentId 分析部门id
+ * @return
+ */
+ default List selectByBusinessSubSampleIdAndAssayDepartmentId(Long businessSubSampleId, Long assayDepartmentId) {
+ return selectList(new LambdaQueryWrapperX()
+ .eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId)
+ .eq(BusinessAssayTaskDataDO::getAssayDepartmentId, assayDepartmentId));
+ }
+
/**
* 根据子样查询分析任务
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java
index 65be90b..ff497c4 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskMapper.java
@@ -9,8 +9,6 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetai
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
-import jakarta.validation.Valid;
-
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import java.util.List;
@@ -38,18 +36,21 @@ public interface BusinessAssayTaskMapper extends BaseMapperX takeOffPageList(BusinessSampleHandoverDetailPageReqVO reqVO) {
+ return selectJoinPage(reqVO, BusinessSampleHandoverDetailRespVO.class, new MPJLambdaWrapperX()
+ .leftJoin(BusinessSubSampleDO.class, BusinessSubSampleDO::getId, BusinessSampleHandoverDetailDO::getBusinessSubSampleId)
+ .leftJoin(ConfigWarehouseLocationDO.class, ConfigWarehouseLocationDO::getId, BusinessSubSampleDO::getConfigWarehouseLocationInfomationId)
+ .selectAll(BusinessSampleHandoverDetailDO.class)
+ .selectAs(BusinessSubSampleDO::getSampleCode, BusinessSampleHandoverDetailRespVO::getOriginalSampleCode)
+ .selectAs(BusinessSubSampleDO::getReturnTime, BusinessSampleHandoverDetailRespVO::getReturnTime)
+ .selectAs(ConfigWarehouseLocationDO::getCode, BusinessSampleHandoverDetailRespVO::getWarehouseLocationCode)
+ .eqIfPresent(BusinessSampleHandoverDetailDO::getBusinessSampleHandoverId, reqVO.getBusinessSampleHandoverId())
+ .eqIfPresent(BusinessSampleHandoverDetailDO::getBusinessSubSampleId, reqVO.getBusinessSubSampleId())
+ .likeIfPresent(BusinessSampleHandoverDetailDO::getSampleName, reqVO.getSampleName())
+ .eqIfPresent(BusinessSampleHandoverDetailDO::getSampleCode, reqVO.getSampleCode())
+ .eqIfPresent(BusinessSampleHandoverDetailDO::getSampleWeight, reqVO.getSampleWeight())
+ .eqIfPresent(BusinessSampleHandoverDetailDO::getBalanceCode, reqVO.getBalanceCode())
+ .eqIfPresent(BusinessSampleHandoverDetailDO::getDictionaryBusinessId, reqVO.getDictionaryBusinessId())
+ .likeIfPresent(BusinessSampleHandoverDetailDO::getDictionaryBusinessName, reqVO.getDictionaryBusinessName())
+ .eqIfPresent(BusinessSampleHandoverDetailDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
+ .betweenIfPresent(BusinessSampleHandoverDetailDO::getCreateTime, reqVO.getCreateTime())
+ .eqIfPresent(BusinessSampleHandoverDetailDO::getRemark, reqVO.getRemark())
+ .orderByDesc(BusinessSampleHandoverDetailDO::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/BusinessSubSampleAnalysisGroupMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java
index 4680c73..2e4a679 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAnalysisGroupMapper.java
@@ -61,5 +61,11 @@ public interface BusinessSubSampleAnalysisGroupMapper extends BaseMapperX()
+ .eq(BusinessSubSampleAnalysisGroupDO::getBusinessSubSampleId, businessSubSampleId)
+ .eq(BusinessSubSampleAnalysisGroupDO::getAssayDepartmentId, assayDepartmentId));
+ }
}
\ 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/BusinessSubSampleMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java
index 3675d80..4799e20 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleMapper.java
@@ -63,6 +63,7 @@ public interface BusinessSubSampleMapper extends BaseMapperX 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
+
+ //分样判定数据
+ BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = new BusinessSubParentSampleAssessmentDO();
+ businessSubParentSampleAssessmentDO.setId(IdWorker.getId());
+ businessSubParentSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
+ businessSubParentSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodZhy.getId());
+ businessSubParentSampleAssessmentDO.setAssayType(assayType);
+ businessSubParentSampleAssessmentDO.setTaskType("常规");
+ businessSubParentSampleAssessmentDOList.add(businessSubParentSampleAssessmentDO);
+ //子样判定数据
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
businessSubSampleAssessmentDO.setId(IdWorker.getId());
businessSubSampleAssessmentDO.setBusinessBaseSampleId(businessSubSampleDO.getBusinessBaseSampleId());
businessSubSampleAssessmentDO.setBusinessSubParentSampleId(businessSubSampleDO.getBusinessSubParentSampleId());
+ businessSubSampleAssessmentDO.setBusinessSubParentSampleAssessmentId(businessSubParentSampleAssessmentDO.getId());
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleDO.getId());
businessSubSampleAssessmentDO.setConfigAssayMethodId(configAssayMethodZhy.getId());
businessSubSampleAssessmentDO.setAssayType(assayType);
@@ -669,43 +680,33 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessSampleAssayResultMapper.updateBatch(sampleAssayResultList);
}
if (CollUtil.isNotEmpty(businessBaseSampleDOList)) {
- log.info("插入 businessBaseSampleDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessBaseSampleMapper.insertBatch(businessBaseSampleDOList);
}
if (CollUtil.isNotEmpty(businessSubParentSampleDOList)) {
- log.info("插入 businessSubParentSampleDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessSubParentSampleMapper.insertBatch(businessSubParentSampleDOList);
}
if (CollUtil.isNotEmpty(businessSubParentSampleAssessmentDOList)) {
- log.info("插入 businessSubParentSampleAssessmentDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessSubParentSampleAssessmentMapper.insertBatch(businessSubParentSampleAssessmentDOList);
}
if (CollUtil.isNotEmpty(businessSubSampleDOList)) {
- log.info("插入 businessSubSampleDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessSubSampleMapper.insertBatch(businessSubSampleDOList);
}
if (CollUtil.isNotEmpty(businessSubSampleAnalysisGroupDOList)) {
- log.info("插入 businessSubSampleAnalysisGroupDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessSubSampleAnalysisGroupMapper.insertBatch(businessSubSampleAnalysisGroupDOList);
}
if (CollUtil.isNotEmpty(businessSubSampleAssessmentDOList)) {
- log.info("插入 businessSubSampleAssessmentDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessSubSampleAssessmentMapper.insertBatch(businessSubSampleAssessmentDOList);
}
if (CollUtil.isNotEmpty(businessAssayTaskDataDOList)) {
- log.info("插入 businessAssayTaskDataDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessAssayTaskDataMapper.insertBatch(businessAssayTaskDataDOList);
}
if (CollUtil.isNotEmpty(businessAssayProjectDataDOList)) {
- log.info("插入 businessAssayProjectDataDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessAssayProjectDataMapper.insertBatch(businessAssayProjectDataDOList);
}
if (CollUtil.isNotEmpty(businessAssayParameterDataDOList)) {
- log.info("插入 businessAssayParameterDataDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessAssayParameterDataMapper.insertBatch(businessAssayParameterDataDOList);
}
if (CollUtil.isNotEmpty(businessAssayReportDataDOList)) {
- log.info("插入 businessAssayReportDataDOList 前 tenant_id = {}", TenantContextHolder.getTenantId());
businessAssayReportDataMapper.insertBatch(businessAssayReportDataDOList);
}
}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignManualCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignManualCmp.java
index b8ebddd..60bdb68 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignManualCmp.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignManualCmp.java
@@ -9,6 +9,7 @@ import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.core.NodeComponent;
+import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
@@ -53,6 +54,7 @@ public class SampleTaskAssignManualCmp extends NodeComponent {
public void process() throws Exception {
SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class);
String loginRealname = sampleTaskAssignContext.getLoginRealname();
+ LoginUser loginUser = sampleTaskAssignContext.getLoginUser();
LocalDateTime currentDateTime = sampleTaskAssignContext.getCurrentDateTime();
AssignAssayUser assignAssayUser = sampleTaskAssignContext.getAssignAssayUser();
List assayTaskDataIdList = sampleTaskAssignContext.getAssayTaskDataIdList();
@@ -91,12 +93,14 @@ public class SampleTaskAssignManualCmp extends NodeComponent {
businessAssayTaskDO.setTaskNo(taskNo);
businessAssayTaskDO.setTaskName(configAssayMethod.getName());
businessAssayTaskDO.setAssayOperator(assignAssayUser.getRealName());
+ businessAssayTaskDO.setAssayOperatorId(assignAssayUser.getUserId());
businessAssayTaskDO.setConfigAssayMethodId(key);
businessAssayTaskDO.setTaskSourceType(QmsCommonConstant.TASK_ASSIGN);
businessAssayTaskDO.setConfigReportTemplateId(configReportTemplate.getId());
businessAssayTaskDO.setConfigReportTemplateKey(configReportTemplate.getKey());
businessAssayTaskDO.setTaskAssignOperator(loginRealname);
+ businessAssayTaskDO.setTaskAssignOperatorId(loginUser.getId());
businessAssayTaskDO.setTaskAssignTime(currentDateTime);
businessAssayTaskDO.setTaskAssignStatus(QmsCommonConstant.IN_PROGRESS);
businessAssayTaskDO.setTaskAssayStatus(QmsCommonConstant.NOT_START);
@@ -116,6 +120,7 @@ public class SampleTaskAssignManualCmp extends NodeComponent {
val.setIsAssignTasked(QmsCommonConstant.YES);
val.setAssignTaskTime(currentDateTime);
val.setAssayOperator(assignAssayUser.getRealName());
+ val.setAssayOperatorId(assignAssayUser.getUserId());
val.setBusinessAssayTaskId(businessAssayTaskDO.getId());
BusinessSubSampleDO businessSubSampleDO = sampleTaskAssignContext.getBusinessSubSampleById(val.getBusinessSubSampleId());
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignMethodCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignMethodCmp.java
index 0b274ae..57712aa 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignMethodCmp.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignMethodCmp.java
@@ -11,6 +11,7 @@ import com.yomahub.liteflow.core.NodeComponent;
import cn.hutool.core.collection.CollUtil;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
@@ -54,6 +55,7 @@ public class SampleTaskAssignMethodCmp extends NodeComponent {
public void process() throws Exception {
SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class);
String loginRealname = sampleTaskAssignContext.getLoginRealname();
+ LoginUser loginUser = sampleTaskAssignContext.getLoginUser();
LocalDateTime currentDateTime = sampleTaskAssignContext.getCurrentDateTime();
Long assignConfigAssayMethodId = sampleTaskAssignContext.getAssignConfigAssayMethodId();
List assignAssayUserList = sampleTaskAssignContext.getAssignAssayUserList();
@@ -100,8 +102,10 @@ public class SampleTaskAssignMethodCmp extends NodeComponent {
businessAssayTaskDO.setConfigReportTemplateId(configReportTemplate.getId());
businessAssayTaskDO.setConfigReportTemplateKey(configReportTemplate.getKey());
businessAssayTaskDO.setAssayOperator(assignAssayUser.getRealName());
+ businessAssayTaskDO.setAssayOperatorId(assignAssayUser.getUserId());
businessAssayTaskDO.setTaskAssignOperator(loginRealname);
+ businessAssayTaskDO.setTaskAssignOperatorId(loginUser.getId());
businessAssayTaskDO.setTaskAssignTime(currentDateTime);
businessAssayTaskDO.setTaskAssignStatus(QmsCommonConstant.IN_PROGRESS);
businessAssayTaskDO.setTaskAssayStatus(QmsCommonConstant.NOT_START);
@@ -120,6 +124,7 @@ public class SampleTaskAssignMethodCmp extends NodeComponent {
businessAssayTaskDataDO.setIsAssignTasked(QmsCommonConstant.YES);
businessAssayTaskDataDO.setAssignTaskTime(currentDateTime);
businessAssayTaskDataDO.setAssayOperator(assignAssayUser.getRealName());
+ businessAssayTaskDataDO.setAssayOperatorId(assignAssayUser.getUserId());
businessAssayTaskDataDO.setBusinessAssayTaskId(businessAssayTaskDO.getId());
BusinessSubSampleDO businessSubSampleDO = sampleTaskAssignContext.getBusinessSubSampleById(businessAssayTaskDataDO.getBusinessSubSampleId());
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java
index cc2f4e8..e19d749 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java
@@ -118,6 +118,7 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent {
businessQCCoefficientDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
businessQCCoefficientDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
businessQCCoefficientDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator());
+ businessQCCoefficientDataDO.setAssayOperatorId(businessAssayTaskDO.getAssayOperatorId());
businessQCCoefficientDataDO.setAssayProject("");
businessQCCoefficientDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime());
businessQCCoefficientDataDO.setIsAssignTasked(QmsCommonConstant.YES);
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignSampleCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignSampleCmp.java
index 8fe4b6d..27ecd31 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignSampleCmp.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignSampleCmp.java
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.core.NodeComponent;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
@@ -53,6 +54,7 @@ public class SampleTaskAssignSampleCmp extends NodeComponent {
public void process() throws Exception {
SampleTaskAssignContext sampleTaskAssignContext = this.getContextBean(SampleTaskAssignContext.class);
String loginRealname = sampleTaskAssignContext.getLoginRealname();
+ LoginUser loginUser = sampleTaskAssignContext.getLoginUser();
LocalDateTime currentDateTime = sampleTaskAssignContext.getCurrentDateTime();
AssignAssayUser assignAssayUser = sampleTaskAssignContext.getAssignAssayUser();
List assignSampleIdList = sampleTaskAssignContext.getAssignSampleIdList();
@@ -91,12 +93,14 @@ public class SampleTaskAssignSampleCmp extends NodeComponent {
businessAssayTaskDO.setTaskNo(taskNo);
businessAssayTaskDO.setTaskName(configAssayMethod.getName());
businessAssayTaskDO.setAssayOperator(assignAssayUser.getRealName());
+ businessAssayTaskDO.setAssayOperatorId(assignAssayUser.getUserId());
businessAssayTaskDO.setConfigAssayMethodId(key);
businessAssayTaskDO.setTaskSourceType(QmsCommonConstant.TASK_ASSIGN);
businessAssayTaskDO.setConfigReportTemplateId(configReportTemplate.getId());
businessAssayTaskDO.setConfigReportTemplateKey(configReportTemplate.getKey());
businessAssayTaskDO.setTaskAssignOperator(loginRealname);
+ businessAssayTaskDO.setTaskAssignOperatorId(loginUser.getId());
businessAssayTaskDO.setTaskAssignTime(currentDateTime);
businessAssayTaskDO.setTaskAssignStatus(QmsCommonConstant.IN_PROGRESS);
businessAssayTaskDO.setTaskAssayStatus(QmsCommonConstant.NOT_START);
@@ -116,6 +120,7 @@ public class SampleTaskAssignSampleCmp extends NodeComponent {
val.setIsAssignTasked(QmsCommonConstant.YES);
val.setAssignTaskTime(currentDateTime);
val.setAssayOperator(assignAssayUser.getRealName());
+ val.setAssayOperatorId(assignAssayUser.getUserId());
val.setBusinessAssayTaskId(businessAssayTaskDO.getId());
BusinessSubSampleDO businessSubSampleDO = sampleTaskAssignContext.getBusinessSubSampleById(val.getBusinessSubSampleId());
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleDispatchService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleDispatchService.java
index d06739a..f801f8f 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleDispatchService.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleDispatchService.java
@@ -19,7 +19,7 @@ import com.zt.plat.framework.common.pojo.PageResult;
public interface BusinessSampleDispatchService {
//增加样品
- void addOrRemoveSample(@Valid BusinessSampleDispatchSaveReqVO paramVo);
+ void addOrRemoveSample(@Valid BusinessSampleDispatchSaveReqVO paramVo, boolean updateCancelFlag);
//发起流程
CommonResult createProcessInstance(BusinessSampleDispatchSaveReqVO paramVo);
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleDispatchServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleDispatchServiceImpl.java
index 9cc8ac8..08cd27e 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleDispatchServiceImpl.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleDispatchServiceImpl.java
@@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import java.text.SimpleDateFormat;
@@ -59,11 +60,11 @@ public class BusinessSampleDispatchServiceImpl implements BusinessSampleDispatch
@Override
@Transactional(rollbackFor = Exception.class)
- public void addOrRemoveSample(BusinessSampleDispatchSaveReqVO paramVo) {
+ public void addOrRemoveSample(BusinessSampleDispatchSaveReqVO paramVo, boolean updateCancelFlag) {
Long id = paramVo.getId();
List addSubSampleIds = paramVo.getAddSubSampleIds();
List removeDetailIds = paramVo.getRemoveDetailIds();
-
+ BusinessSampleDispatchDO entity = getBusinessSampleDispatch(id);
//处理移除
if(removeDetailIds != null && !removeDetailIds.isEmpty()){
businessSampleDispatchDetailService.deleteBusinessSampleDispatchDetailListByIds(removeDetailIds);
@@ -81,8 +82,14 @@ public class BusinessSampleDispatchServiceImpl implements BusinessSampleDispatch
detail.setParentId(id);
insertList.add(detail);
}
- if(!insertList.isEmpty())
+ if(!insertList.isEmpty()){
businessSampleDispatchDetailService.insertBatch(insertList);
+ if(updateCancelFlag && "-1".equals(entity.getCancelStatus())){
+ //如果有新增,修改临时数据状态
+ entity.setCancelStatus("0");
+ businessSampleDispatchMapper.updateById(entity);
+ }
+ }
}
}
@@ -137,8 +144,11 @@ public class BusinessSampleDispatchServiceImpl implements BusinessSampleDispatch
@Transactional(rollbackFor = Exception.class)
public CommonResult execDispatch(BusinessSampleDispatchSaveReqVO paramVo) {
Long id = paramVo.getId();
- String warehouseUser = paramVo.getWarehouseUser(); //库管员
- Long warehouseUserId = paramVo.getWarehouseUserId();
+
+ LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
+ String nickName = SecurityFrameworkUtils.getLoginUserNickname();
+ String warehouseUser = nickName; //库管员
+ Long warehouseUserId = loginUser.getId();
BusinessSampleDispatchDO entity = getBusinessSampleDispatch( id);
BusinessSampleDispatchDetailPageReqVO pageReqVO = new BusinessSampleDispatchDetailPageReqVO();
pageReqVO.setParentId(id);
@@ -150,8 +160,10 @@ public class BusinessSampleDispatchServiceImpl implements BusinessSampleDispatch
List handoverRecordList = new ArrayList<>();
for (BusinessSampleDispatchDetailExtendRespVO detail : detailList) {
BusinessSampleDispatchDetailDO u = new BusinessSampleDispatchDetailDO();
+ u.setId(detail.getId());
u.setUseStatus("1");
u.setBorrowStatus("1");
+ u.setGivebackStatus("0");
u.setBorrowUser(entity.getApplyUser());
u.setBorrowUserId(entity.getApplyUserId());
u.setBorrowTime(borrowTime);
@@ -222,6 +234,7 @@ public class BusinessSampleDispatchServiceImpl implements BusinessSampleDispatch
handoverRecord.setOperatorId(givebackUserId);
handoverRecord.setSendSampleOperator(givebackUser); //送样人
handoverRecord.setReceiveSampleOperator(warehouseUser); //收样人
+ handoverRecord.setSampleFlowNodeKey(QmsCommonConstant.FLOW_SAMPLE_STORAGE);
handoverRecordList.add(handoverRecord);
}
businessSampleDispatchDetailService.updateBatch(detailUpdateList);
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailService.java
index b5fcd8e..c9247a3 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailService.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailService.java
@@ -61,5 +61,7 @@ public interface BusinessSampleHandoverDetailService {
*/
PageResult getBusinessSampleHandoverDetailPage(BusinessSampleHandoverDetailPageReqVO pageReqVO);
+ PageResult takeOffPageList(BusinessSampleHandoverDetailPageReqVO pageReqVO);
+
void insertBatch(List list);
}
\ No newline at end of file
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailServiceImpl.java
index 5ebc517..55e2f1d 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailServiceImpl.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSampleHandoverDetailServiceImpl.java
@@ -91,6 +91,11 @@ public class BusinessSampleHandoverDetailServiceImpl implements BusinessSampleHa
return businessSampleHandoverDetailMapper.selectPage(pageReqVO);
}
+ @Override
+ public PageResult takeOffPageList(BusinessSampleHandoverDetailPageReqVO pageReqVO) {
+ return businessSampleHandoverDetailMapper.takeOffPageList(pageReqVO);
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
public void insertBatch(List list) {
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleService.java
index 18cd2e3..47c2b33 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleService.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleService.java
@@ -57,6 +57,13 @@ public interface BusinessSubSampleService {
*/
BusinessSubSampleExtendRespVO getBusinessSubSample(Long id);
+ /**
+ * 获取打印子样业务数据
+ * @param id
+ * @return
+ */
+ BusinessSubSampleExtendRespVO getPrintSubSample(Long id);
+
BusinessSubSampleDO getBySampleCode(String sampleCode);
BusinessSubSampleDO getBySampleReturnCode(String sampleReturnCode);
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java
index 4daa516..0a18ab0 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/BusinessSubSampleServiceImpl.java
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessHandoverRecordSubDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleHandoverDetailDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAnalysisGroupDO;
@@ -15,6 +16,8 @@ import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationDO;
import com.zt.plat.module.qms.business.config.service.ConfigSubSampleService;
import com.zt.plat.module.qms.business.config.service.ConfigWarehouseLocationService;
+import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO;
+import com.zt.plat.module.qms.common.dic.dal.mapper.DictionaryBusinessMapper;
import com.zt.plat.module.qms.common.dic.service.DictionaryBusinessService;
import com.zt.plat.module.qms.core.code.SequenceUtil;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
@@ -35,6 +38,7 @@ import com.zt.plat.framework.common.exception.ServiceException;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
+import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAnalysisGroupMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
@@ -43,6 +47,7 @@ import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.e
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception0;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
+import static com.zt.plat.module.qms.enums.QmsCommonConstant.SAMPLE_STORAGE_OPERATION_TYPE_TAKEN_OFF;
/**
* 子样业务 Service 实现类
@@ -58,6 +63,9 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
@Resource
private BusinessSubSampleAnalysisGroupMapper businessSubSampleAnalysisGroupMapper;
+
+ @Resource
+ private BusinessAssayTaskDataMapper businessAssayTaskDataMapper;
@Resource private ConfigWarehouseLocationService configWarehouseLocationService;
@Resource private BusinessSampleHandoverService businessSampleHandoverService;
@@ -66,6 +74,8 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
@Resource private DictionaryBusinessService dictionaryBusinessService;
@Resource private ConfigSubSampleService configSubSampleService;
@Resource private SequenceUtil sequenceUtil;
+ @Resource
+ private DictionaryBusinessMapper dictionaryBusinessMapper;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -130,6 +140,33 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
return businessSubSampleMapper.selectExtendById(id);
}
+ @Override
+ public BusinessSubSampleExtendRespVO getPrintSubSample(Long id) {
+ LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
+ BusinessSubSampleExtendRespVO businessSubSample = businessSubSampleMapper.selectExtendById(id);
+ BusinessSubSampleAnalysisGroupDO businessSubSampleAnalysisGroupDO = businessSubSampleAnalysisGroupMapper.selectByBusinessSubSampleIdAndAssayDepartmentId(id, loginUser.getVisitDeptId());
+ businessSubSample.setAssayDepartmentId(businessSubSampleAnalysisGroupDO.getAssayDepartmentId());
+ businessSubSample.setAssayDepartmentName(businessSubSampleAnalysisGroupDO.getAssayDepartmentName());
+ businessSubSample.setSampleReceiver(businessSubSampleAnalysisGroupDO.getSampleReceiver());
+ businessSubSample.setSampleReceiveTime(businessSubSampleAnalysisGroupDO.getSampleReceiveTime());
+ List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessSubSampleIdAndAssayDepartmentId(id, loginUser.getVisitDeptId());
+ Map> businessAssayTaskDataDOMap = businessAssayTaskDataDOList.stream().collect(Collectors.groupingBy(BusinessAssayTaskDataDO::getConfigAssayMethodId));
+ List assayProjectList = new ArrayList<>();
+ for (Map.Entry> entry : businessAssayTaskDataDOMap.entrySet()) {
+ List val = entry.getValue();
+ BusinessAssayTaskDataDO businessAssayTaskDataDO = val.get(0);
+ String assayProject = businessAssayTaskDataDO.getAssayProject();
+ String[] split = assayProject.split(",");
+ for (String s : split) {
+ if (!assayProjectList.contains(s)) {
+ assayProjectList.add(s);
+ }
+ }
+ }
+ businessSubSample.setAssayProject(CollUtil.join(assayProjectList, ","));
+ return businessSubSample;
+ }
+
@Override
public BusinessSubSampleDO getBySampleCode(String sampleCode) {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
@@ -292,7 +329,7 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
@Transactional(rollbackFor = Exception.class)
public Integer execTakeOff(JSONObject reqVo) {
String actionWay = reqVo.getString("actionWay");
- String warehouseLocationCode = reqVo.getString("warehouseLocationCode");
+ String warehouseLocationCode = reqVo.getString("locationCode");
String sampleReturnCode = reqVo.getString("sampleReturnCodes");
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
String loginUserName = SecurityFrameworkUtils.getLoginUserNickname();
@@ -314,7 +351,7 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
ConfigWarehouseLocationDO locationDO = configWarehouseLocationService.getLocationByCode(warehouseLocationCode, QmsWarehouseLocationConstant.WAREHOUSE_TYPE_SAMPLE);
if(locationDO == null)
throw exception(CONFIG_WAREHOUSE_LOCATION_NOT_EXISTS);
- queryWrapper.eq(BusinessSubSampleDO::getConfigWarehouseLocationInfomationId, warehouseLocationCode);
+ queryWrapper.eq(BusinessSubSampleDO::getConfigWarehouseLocationInfomationId, locationDO.getId());
}else{
throw exception0(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "actionWay参数错误!");
}
@@ -325,35 +362,34 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
//创建交接抬头
BusinessSampleHandoverSaveReqVO handoverVO = new BusinessSampleHandoverSaveReqVO();
- String codeTemplate = dictionaryBusinessService.getValueByDataKey("sample_take_off_serial");
- if(ObjectUtils.isEmpty(codeTemplate))
- throw exception0(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "缺少“样品下架记录编号规则”的配置,请在业务参数字典增加此配置!");
- String code = sequenceUtil.genCode(codeTemplate);
+ String code = sequenceUtil.genCode("QMS_SAMPLE_TAKE_OFF_SERIAL");
handoverVO.setCode(code);
handoverVO.setName("样品下架记录");
handoverVO.setSampleFlowNodeKey(QmsCommonConstant.FLOW_SAMPLE_STORAGE);
handoverVO.setOperationTime(LocalDateTime.now());
handoverVO.setOperator(loginUserName);
handoverVO.setOperatorId(loginUser.getId());
+ handoverVO.setOperationType(SAMPLE_STORAGE_OPERATION_TYPE_TAKEN_OFF);
BusinessSampleHandoverRespVO handoverRespVO = businessSampleHandoverService.createBusinessSampleHandover(handoverVO);
-
+ List dictionaryBusinessIdList = waitingList.stream().map(m -> m.getDictionaryBusinessId()).distinct().collect(Collectors.toList());
+ List dictionaryBusinessList = dictionaryBusinessMapper.selectByIds(dictionaryBusinessIdList);
//更新下架状态
List recordList = new ArrayList<>();
List detailList = new ArrayList<>(); //通过样品交接明细记录下架记录
for(BusinessSubSampleDO businessSubSampleDO : waitingList){
businessSubSampleDO.setReturnStatus(QmsCommonConstant.TAKEN_OFF);
//创建流转记录
- BusinessHandoverRecordSubDO reecordDO = new BusinessHandoverRecordSubDO();
- reecordDO.setBusinessSubSampleId(businessSubSampleDO.getId());
- reecordDO.setSampleFlowNodeKey(QmsCommonConstant.FLOW_SAMPLE_STORAGE);
- reecordDO.setSampleCode(businessSubSampleDO.getSampleReturnCode());
- reecordDO.setOperationTime(LocalDateTime.now());
- reecordDO.setOperator(loginUserName);
- reecordDO.setOperatorId(loginUser.getId());
- reecordDO.setSendSampleOperator("");
- reecordDO.setReceiveSampleOperator("");
- reecordDO.setConfigSampleFlowId(0L);
- recordList.add(reecordDO);
+ BusinessHandoverRecordSubDO record = new BusinessHandoverRecordSubDO();
+ record.setBusinessSubSampleId(businessSubSampleDO.getId());
+ record.setSampleFlowNodeKey(QmsCommonConstant.FLOW_SAMPLE_STORAGE);
+ record.setSampleCode(businessSubSampleDO.getSampleReturnCode());
+ record.setOperationTime(LocalDateTime.now());
+ record.setOperator(loginUserName);
+ record.setOperatorId(loginUser.getId());
+ record.setSendSampleOperator("");
+ record.setReceiveSampleOperator("");
+ record.setConfigSampleFlowId(0L);
+ recordList.add(record);
BusinessSampleHandoverDetailDO detailDO = new BusinessSampleHandoverDetailDO();
@@ -361,6 +397,11 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
detailDO.setBusinessSubSampleId(businessSubSampleDO.getId());
detailDO.setSampleName(businessSubSampleDO.getSampleName());
detailDO.setSampleCode(businessSubSampleDO.getSampleReturnCode());
+ detailDO.setDictionaryBusinessId(businessSubSampleDO.getDictionaryBusinessId());
+ DictionaryBusinessDO dictionaryBusiness = dictionaryBusinessList.stream().filter(f -> f.getId().equals(businessSubSampleDO.getDictionaryBusinessId())).findFirst().orElse(null);
+ detailDO.setDictionaryBusinessName("");
+ if(dictionaryBusiness != null)
+ detailDO.setDictionaryBusinessName(dictionaryBusiness.getName());
detailList.add(detailDO);
}
businessHandoverRecordSubService.insertBatch(recordList);
@@ -377,8 +418,10 @@ public class BusinessSubSampleServiceImpl implements BusinessSubSampleService {
String warehouseLocationCode = reqVo.getString("warehouseLocationCode");
String sampleReturnCode = reqVo.getString("sampleReturnCode");
if(ObjectUtils.isEmpty(targetLocation))
- throw exception0(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "缺少目标库位参数!");
+ throw exception0(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "缺少“变更后库位”参数!");
ConfigWarehouseLocationDO targetLocationDO = configWarehouseLocationService.getLocationByCode(targetLocation, QmsWarehouseLocationConstant.WAREHOUSE_TYPE_SAMPLE);
+ if(targetLocationDO == null)
+ throw exception0(BUSINESS_SUB_SAMPLE_NOT_EXISTS.getCode(), "“变更后库位”不存在,请检查编码是否正确!");
//查询要操作的样品
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BusinessSubSampleDO::getSampleFlowNodeKey, QmsCommonConstant.FLOW_SAMPLE_STORAGE);
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 fc903c0..767e7b7 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
@@ -294,15 +294,18 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
if (businessAssayTaskDO == null) {
throw new ServiceException(1_032_100_000, "未找到任务分配单");
}
- String formValue = businessAssayTaskDO.getFormValue();
- JSONObject formValueJsonObject = JSON.parseObject(formValue);
+ JSONArray jsonArray = new JSONArray();
String jsonString = JSON.toJSONString(businessAssayTaskDO, context);
JSONObject businessAssayTaskJson = JSON.parseObject(jsonString);
- formValueJsonObject.forEach((key, value) -> {
- businessAssayTaskJson.put(key, value);
- });
- JSONArray jsonArray = new JSONArray();
+
+ String formValue = businessAssayTaskDO.getFormValue();
+ if (StringUtils.isNotBlank(formValue)) {
+ JSONObject formValueJsonObject = JSON.parseObject(formValue);
+ formValueJsonObject.forEach((key, value) -> {
+ businessAssayTaskJson.put(key, value);
+ });
+ }
jsonArray.add(businessAssayTaskJson);
resultJsonObject.put("businessAssayTask", jsonArray);
@@ -437,6 +440,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
businessAssayTaskDO.setFlowStatus(QmsCommonConstant.APPROVED);
businessAssayTaskDO.setReportTime(LocalDateTime.now());
businessAssayTaskDO.setReportOperator(SecurityFrameworkUtils.getLoginUserNickname());
+ businessAssayTaskDO.setReportOperatorId(SecurityFrameworkUtils.getLoginUserId());
//查询分析任务明细
List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(businessAssayTaskId);
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java
index 1a12032..ce2bd47 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java
@@ -4,7 +4,9 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -21,8 +23,10 @@ import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.BatchSampleAnalysisColumnRespVO;
+import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataExtendRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectAndParameterRespVO;
+import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataExtendRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleAndQcProjectRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO;
@@ -41,6 +45,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientP
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper;
@@ -51,36 +56,31 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParam
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper;
+import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
import com.zt.plat.module.qms.business.config.controller.vo.BusinessAssayTaskAnalysisDataRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectCoefficientRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfInfo;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfItem;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfPoint;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectCoefficientDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectRangeDO;
+import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectCoefficientMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectRangeMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMapper;
+import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper;
import com.zt.plat.module.qms.common.data.dal.dataobject.DataCollectionDO;
import com.zt.plat.module.qms.common.data.service.DataCollectionService;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
+import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import jakarta.annotation.Resource;
-/**
- * SampleAnalysisServiceImpl
- *
- * 更新历史:
- *
版本 更新时间 更新者 更新内容
- * V1.0 2025年9月22日 wxr Add
- * Copyright (C) 云南志者竟成科技有限公司
- *
- * @author 王兴荣
- * @version V1.0
- * @since 2025年9月22日
- */
@Service
public class SampleAnalysisServiceImpl implements SampleAnalysisService {
@@ -93,6 +93,12 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
@Resource
private ConfigAssayMethodProjectCoefficientMapper configAssayMethodProjectCoefficientMapper;
+ @Resource
+ private ConfigSubSampleMethodMapper configSubSampleMethodMapper;
+
+ @Resource
+ private BusinessSubSampleMapper businessSubSampleMapper;
+
@Resource
private BusinessAssayTaskMapper businessAssayTaskMapper;
@@ -161,12 +167,20 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
List businessAssayTaskDetailList = businessAssayTaskDetailMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDetailDO::getBusinessAssayTaskId, businessAssayTaskId));
List businessAssayTaskDataList = businessAssayTaskDataMapper.selectList(new LambdaQueryWrapperX().eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskId).eq(BusinessAssayTaskDataDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId()));
- BusinessAssayTaskDataDO businessAssayTaskData = businessAssayTaskDataList.get(0);
+ List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
+ //BusinessAssayTaskDataDO businessAssayTaskData = businessAssayTaskDataList.get(0);
BusinessAssayProjectDataReqVO projectDataSearch = new BusinessAssayProjectDataReqVO();
- projectDataSearch.setBusinessAssayTaskDataId(businessAssayTaskData.getId());
+// projectDataSearch.setBusinessAssayTaskDataId(businessAssayTaskData.getId());
+ projectDataSearch.setBusinessAssayTaskDataIdList(businessAssayTaskDataIdList);
List projectAndParameterList = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch);
- for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList) {
+
+ Map> projectAndParameterMap = projectAndParameterList.stream().sorted(Comparator.comparing(BusinessAssayProjectAndParameterRespVO::getParamNo)).collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId,
+ LinkedHashMap::new, // 保持组首次出现的顺序(可选)
+ Collectors.toList() // ArrayList 保持组内顺序
+ ));
+ for (Map.Entry> entry : projectAndParameterMap.entrySet()) {
+ BusinessAssayProjectAndParameterRespVO ep = entry.getValue().get(0);
String fieldIndex = "e" + ep.getDicId();
String title = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")");
boolean isEdit = StringUtils.isBlank(ep.getFormula());
@@ -183,7 +197,26 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), "parameter", p.getFillingWay(), p.getGroupDictionaryBusinessId(), p.getGroupDictionaryBusinessKey(), p.getGroupDictionaryBusinessName()));
}
}
+
}
+// for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList) {
+// String fieldIndex = "e" + ep.getDicId();
+// String title = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")");
+// boolean isEdit = StringUtils.isBlank(ep.getFormula());
+// cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit(), "project", ep.getFillingWay(), ep.getGroupDictionaryBusinessId(), ep.getGroupDictionaryBusinessKey(), ep.getGroupDictionaryBusinessName()));
+//
+// if (StringUtils.isNotEmpty(ep.getFormula())) {
+// BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO();
+// parameterDataSearch.setBusinessAssayProjectDataId(ep.getId());
+// List plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch);
+// for (BusinessAssayProjectAndParameterRespVO p : plist) {
+// fieldIndex = "p" + p.getDicId();
+// title = p.getShowName() + (StringUtils.isBlank(p.getUnit()) ? "" : "(" + p.getUnit() + ")");
+// isEdit = StringUtils.isBlank(p.getFormula());
+// cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), "parameter", p.getFillingWay(), p.getGroupDictionaryBusinessId(), p.getGroupDictionaryBusinessKey(), p.getGroupDictionaryBusinessName()));
+// }
+// }
+// }
businessAssayTaskAnalysisSampleProjectRespVO.setColumns(cloumns);
@@ -419,12 +452,19 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
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()));
- BusinessAssayTaskDataDO businessAssayTaskData = businessAssayTaskDataList.get(0);
+ List businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
+ // BusinessAssayTaskDataDO businessAssayTaskData = businessAssayTaskDataList.get(0);
BusinessAssayProjectDataReqVO projectDataSearch = new BusinessAssayProjectDataReqVO();
- projectDataSearch.setBusinessAssayTaskDataId(businessAssayTaskData.getId());
+// projectDataSearch.setBusinessAssayTaskDataId(businessAssayTaskData.getId());
+ projectDataSearch.setBusinessAssayTaskDataIdList(businessAssayTaskDataIdList);
List projectAndParameterList = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch);
- for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList) {
+ Map> projectAndParameterMap = projectAndParameterList.stream().sorted(Comparator.comparing(BusinessAssayProjectAndParameterRespVO::getParamNo)).collect(Collectors.groupingBy(BusinessAssayProjectAndParameterRespVO::getDicId,
+ LinkedHashMap::new, // 保持组首次出现的顺序(可选)
+ Collectors.toList() // ArrayList 保持组内顺序
+ ));
+ for (Map.Entry> entry : projectAndParameterMap.entrySet()) {
+ BusinessAssayProjectAndParameterRespVO ep = entry.getValue().get(0);
String fieldIndex = "e" + ep.getDicId();
String title = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")");
boolean isEdit = StringUtils.isBlank(ep.getFormula());
@@ -441,7 +481,25 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), "parameter", p.getFillingWay(), p.getGroupDictionaryBusinessId(), p.getGroupDictionaryBusinessKey(), p.getGroupDictionaryBusinessName()));
}
}
- }
+ }
+// for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList) {
+// String fieldIndex = "e" + ep.getDicId();
+// String title = ep.getShowName() + (StringUtils.isBlank(ep.getUnit()) ? "" : "(" + ep.getUnit() + ")");
+// boolean isEdit = StringUtils.isBlank(ep.getFormula());
+// cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", ep.getDataType(), ep.getDecimalPosition(), null, ep.getFormula(), ep.getParamNo(), isEdit, ep.getUnit(), "project", ep.getFillingWay(), ep.getGroupDictionaryBusinessId(), ep.getGroupDictionaryBusinessKey(), ep.getGroupDictionaryBusinessName()));
+//
+// if (StringUtils.isNotEmpty(ep.getFormula())) {
+// BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO();
+// parameterDataSearch.setBusinessAssayProjectDataId(ep.getId());
+// List plist = businessAssayParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch);
+// for (BusinessAssayProjectAndParameterRespVO p : plist) {
+// fieldIndex = "p" + p.getDicId();
+// title = p.getShowName() + (StringUtils.isBlank(p.getUnit()) ? "" : "(" + p.getUnit() + ")");
+// isEdit = StringUtils.isBlank(p.getFormula());
+// cloumns.add(new BatchSampleAnalysisColumnRespVO(fieldIndex, fieldIndex + ".value", title, "", "120px", p.getDataType(), p.getDecimalPosition(), null, p.getFormula(), p.getParamNo(), isEdit, p.getUnit(), "parameter", p.getFillingWay(), p.getGroupDictionaryBusinessId(), p.getGroupDictionaryBusinessKey(), p.getGroupDictionaryBusinessName()));
+// }
+// }
+// }
businessAssayTaskAnalysisDataRespVO.setColumns(cloumns);
@@ -931,7 +989,49 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
@Transactional(rollbackFor = Exception.class)
public void issuedIngredients(Long businessAssayTaskId) {
BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId);
- businessAssayTaskDO.setIngredientsStatus("in_progress");
+ List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByBusinessAssayTaskId(businessAssayTaskId);
+ List businessAssayTaskDataIdList = businessAssayTaskDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList());
+ //获取子样id列表
+ List businessSubSampleIdList = businessAssayTaskDataDOList.stream().map(m -> m.getBusinessSubSampleId()).distinct().collect(Collectors.toList());
+ //获取子样
+ List businessSubSampleDOList = businessSubSampleMapper.selectByIds(businessSubSampleIdList);
+ //子样配置id列表
+ List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList());
+ //子样配置方法
+ List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId());
+
+ List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
+ List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
+ //查询检测项目参数
+ List businessAssayParameterDataList = businessAssayParameterDataMapper.selectExtendByBusinessAssayProjectDataIds(businessAssayProjectDataIdList);
+
+ for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataDOList) {
+ //获取子样
+ BusinessSubSampleDO businessSubSampleDO = businessSubSampleDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null);
+
+ //子样配置信息
+ ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null);
+ String configInfomation = configSubSampleMethodDO.getConfigInfomation();
+ if (StringUtils.isNotBlank(configInfomation)) {
+ ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
+ //获取下发配置
+ List downIngredients = configSubSampleMethodConfInfo.getDownIngredients();
+ for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : downIngredients) {
+ if (configSubSampleMethodConfItem.getRequired()) {
+ ConfigSubSampleMethodConfPoint source = configSubSampleMethodConfItem.getSource();
+ String project = source.getProject();
+ String parameter = source.getParameter();
+ BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskDataDO.getId()) && f.getSimpleName().equals(project)).findFirst().orElse(null);
+ BusinessAssayParameterDataExtendRespVO currentBusinessAssayParameterData = businessAssayParameterDataList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(currentBusinessAssayProjectData.getId()) && f.getParameterKey().equals(parameter)).findFirst().orElse(null);
+ if (StringUtils.isBlank(currentBusinessAssayParameterData.getValue())) {
+ throw new ServiceException(1_032_050_000, "当前分析任务,存在下发配料必填为空情况。请检查后再下发!");
+ }
+ }
+ }
+
+ }
+ }
+ businessAssayTaskDO.setIngredientsStatus(QmsCommonConstant.IN_PROGRESS);
businessAssayTaskMapper.updateById(businessAssayTaskDO);
}
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 28c308f..668f6aa 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
@@ -133,6 +133,14 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
//查询结果报送未上报的样品
List noReportSubParentSampleAssessmentRespList = businessSubParentSampleAssessmentProjectMapper.selectNoReportSubParentSampleAssessment(configAssayMethodId);
+
+ if (CollUtil.isEmpty(noReportSubParentSampleAssessmentRespList)) {//没有查询到未上报的数据
+ JSONObject json = new JSONObject();
+ json.put("columns", columnList);
+ json.put("datas", dataList);
+ return json;
+ }
+
//分样id列表
List businessSubParentSampleIds = noReportSubParentSampleAssessmentRespList.stream().map(m -> m.getBusinessSubParentSampleId()).collect(Collectors.toList());
//报送的检测项目数据
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java
index e70cb1d..d837dd0 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java
@@ -519,6 +519,7 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
businessQCCoefficientDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
businessQCCoefficientDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
businessQCCoefficientDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator());
+ businessQCCoefficientDataDO.setAssayOperatorId(businessAssayTaskDO.getAssayOperatorId());
businessQCCoefficientDataDO.setAssayProject("");
businessQCCoefficientDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime());
businessQCCoefficientDataDO.setIsAssignTasked(QmsCommonConstant.YES);
@@ -562,6 +563,7 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
businessQCManagementDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId());
businessQCManagementDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName());
businessQCManagementDataDO.setAssayOperator(businessAssayTaskDO.getAssayOperator());
+ businessQCManagementDataDO.setAssayOperatorId(businessAssayTaskDO.getAssayOperatorId());
businessQCManagementDataDO.setAssayProject(assayProject);
businessQCManagementDataDO.setAssignTaskTime(businessAssayTaskDO.getTaskAssignTime());
businessQCManagementDataDO.setIsAssignTasked(QmsCommonConstant.YES);
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigWarehouseLocationController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigWarehouseLocationController.java
index 53b4614..fbba672 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigWarehouseLocationController.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/ConfigWarehouseLocationController.java
@@ -1,8 +1,16 @@
package com.zt.plat.module.qms.business.config.controller.admin;
+import com.zt.plat.framework.security.core.LoginUser;
+import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationSaveReqVO;
+import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigPermissionDO;
+import com.zt.plat.module.qms.business.config.service.ConfigPermissionService;
+import com.zt.plat.module.qms.enums.QmsPermissionConstant;
+import com.zt.plat.module.qms.enums.QmsWarehouseLocationConstant;
+import com.zt.plat.module.system.api.permission.PermissionApi;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@@ -40,8 +48,16 @@ import com.zt.plat.module.qms.business.config.service.ConfigWarehouseLocationSer
public class ConfigWarehouseLocationController implements BusinessControllerMarker {
- @Resource
- private ConfigWarehouseLocationService configWarehouseLocationService;
+ @Resource private ConfigWarehouseLocationService configWarehouseLocationService;
+ @Resource private ConfigPermissionService configPermissionService;
+ @Resource private PermissionApi permissionApi;
+
+ @PostMapping("/save")
+ @Operation(summary = "创建存放位置")
+// @PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:create')")
+ public CommonResult save(@Valid @RequestBody ConfigWarehouseLocationSaveReqVO createReqVO) {
+ return success(configWarehouseLocationService.save(createReqVO));
+ }
@PostMapping("/create")
@Operation(summary = "创建存放位置")
@@ -82,15 +98,35 @@ public class ConfigWarehouseLocationController implements BusinessControllerMark
// @PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:query')")
public CommonResult getConfigWarehouseLocation(@RequestParam("id") Long id) {
ConfigWarehouseLocationDO configWarehouseLocation = configWarehouseLocationService.getConfigWarehouseLocation(id);
- return success(BeanUtils.toBean(configWarehouseLocation, ConfigWarehouseLocationRespVO.class));
+ List permissionList = configPermissionService.getPermissionList(id, QmsPermissionConstant.SAMPLE_WAREHOUSE_ADMIN, "");
+ List permissionRespVOList= BeanUtils.toBean(permissionList, ConfigPermissionRespVO.class);
+ ConfigWarehouseLocationRespVO vo = BeanUtils.toBean(configWarehouseLocation, ConfigWarehouseLocationRespVO.class);
+ vo.setPermissionList(permissionRespVOList);
+ return success(vo);
}
@GetMapping("/page")
@Operation(summary = "获得存放位置分页")
// @PreAuthorize("@ss.hasPermission('qms:config-warehouse-location:query')")
public CommonResult> getConfigWarehouseLocationPage(@Valid ConfigWarehouseLocationPageReqVO pageReqVO) {
- PageResult pageResult = configWarehouseLocationService.getConfigWarehouseLocationPage(pageReqVO);
- return success(BeanUtils.toBean(pageResult, ConfigWarehouseLocationRespVO.class));
+ PageResult pageResult = configWarehouseLocationService.getConfigWarehouseLocationPage(pageReqVO);
+ return success(pageResult);
+ }
+
+ @GetMapping("/selectListWithPermission")
+ @Operation(summary = "安权限查询报告类型")
+ public CommonResult> selectListWithPermission(@Valid ConfigWarehouseLocationPageReqVO pageReqVO) {
+ pageReqVO.setPermissionFilterFlag("1");
+ pageReqVO.setSrcPermissionType(QmsPermissionConstant.SAMPLE_WAREHOUSE_ADMIN);
+ pageReqVO.setDataType(QmsWarehouseLocationConstant.DATA_TYPE_WAREHOUSE);
+ //查询权限
+ LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
+ Long userId = loginUser.getId();
+ CommonResult> roleRet = permissionApi.getUserRoleIdListByUserId(userId);
+ Set roleIds = roleRet.getData();
+ pageReqVO.setRoleIds(roleIds);
+ List list = configWarehouseLocationService.selectListWithPermission(pageReqVO);
+ return success(BeanUtils.toBean(list, ConfigWarehouseLocationRespVO.class));
}
@GetMapping("/export-excel")
@@ -100,10 +136,9 @@ public class ConfigWarehouseLocationController implements BusinessControllerMark
public void exportConfigWarehouseLocationExcel(@Valid ConfigWarehouseLocationPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
- List list = configWarehouseLocationService.getConfigWarehouseLocationPage(pageReqVO).getList();
+ List list = configWarehouseLocationService.getConfigWarehouseLocationPage(pageReqVO).getList();
// 导出 Excel
- ExcelUtils.write(response, "存放位置.xls", "数据", ConfigWarehouseLocationRespVO.class,
- BeanUtils.toBean(list, ConfigWarehouseLocationRespVO.class));
+ ExcelUtils.write(response, "存放位置.xls", "数据", ConfigWarehouseLocationRespVO.class, list);
}
}
\ No newline at end of file
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardController.java
index b4d9fc4..28aff4f 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardController.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardController.java
@@ -70,6 +70,10 @@ public class MaterialAssayStandardController implements BusinessControllerMarker
@Operation(summary = "更新检测标准")
//@PreAuthorize("@ss.hasPermission('qms:material-assay-standard:update')")
public CommonResult updateMaterialAssayStandard(@Valid @RequestBody MaterialAssayStandardSaveReqVO updateReqVO) {
+ Long id = updateReqVO.getId();
+ MaterialAssayStandardDO entity = materialAssayStandardService.getMaterialAssayStandard(id);
+ if("tempDataKey".equals(entity.getRemark()))
+ updateReqVO.setRemark("");
materialAssayStandardService.updateMaterialAssayStandard(updateReqVO);
return success(true);
}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardDetailController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardDetailController.java
index 4e326f8..b14fc5a 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardDetailController.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/admin/MaterialAssayStandardDetailController.java
@@ -74,6 +74,14 @@ public class MaterialAssayStandardDetailController implements BusinessController
return success(jsonArray);
}
+ @GetMapping("/getByStandardId")
+ @Operation(summary = "获得物料检测标准检测项目分页")
+ //@PreAuthorize("@ss.hasPermission('qms:material-assay-standard-detail:query')")
+ public CommonResult> getByStandardId(@Valid MaterialAssayStandardDetailPageReqVO pageReqVO) {
+ List list = materialAssayStandardDetailService.getByStandardId(pageReqVO.getMaterialAssayStandardId());
+ return success(list);
+ }
+
@PostMapping("/create")
@Operation(summary = "创建物料检测标准检测项目")
//@PreAuthorize("@ss.hasPermission('qms:material-assay-standard-detail:create')")
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfInfo.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfInfo.java
new file mode 100644
index 0000000..41f2b37
--- /dev/null
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfInfo.java
@@ -0,0 +1,18 @@
+package com.zt.plat.module.qms.business.config.controller.vo;
+
+import java.util.List;
+
+import lombok.Data;
+
+@Data
+public class ConfigSubSampleMethodConfInfo {
+
+ /** 分析方法参数取值配置 **/
+ private List getParam;
+
+ /** 分析方法下发配料配置 **/
+ private List downIngredients;
+
+ /** 分析方法配料上传配置 **/
+ private List upIngredients;
+}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfItem.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfItem.java
new file mode 100644
index 0000000..3ba9e78
--- /dev/null
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfItem.java
@@ -0,0 +1,16 @@
+package com.zt.plat.module.qms.business.config.controller.vo;
+
+import lombok.Data;
+
+@Data
+public class ConfigSubSampleMethodConfItem {
+
+ /** 来源 **/
+ private ConfigSubSampleMethodConfPoint source;
+
+ /** 目标 **/
+ private ConfigSubSampleMethodConfPoint target;
+
+ /** 是否必须 **/
+ private Boolean required;
+}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfPoint.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfPoint.java
new file mode 100644
index 0000000..72a534d
--- /dev/null
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigSubSampleMethodConfPoint.java
@@ -0,0 +1,20 @@
+package com.zt.plat.module.qms.business.config.controller.vo;
+
+import lombok.Data;
+
+@Data
+public class ConfigSubSampleMethodConfPoint {
+
+ /** 分析方法id **/
+ private Long methodId;
+
+ /** 检测项目 **/
+ private String project;
+
+ /** 参数 **/
+ private String parameter;
+
+ /** 字段 **/
+ private String field;
+
+}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationPageReqVO.java
index 28861de..106af70 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationPageReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationPageReqVO.java
@@ -6,6 +6,7 @@ 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 java.util.Set;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -13,6 +14,9 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
@Data
public class ConfigWarehouseLocationPageReqVO extends PageParam {
+ @Schema(description = "ID", example = "31498")
+ private Long id;
+
@Schema(description = "父ID", example = "31498")
private Long parentId;
@@ -50,4 +54,16 @@ public class ConfigWarehouseLocationPageReqVO extends PageParam {
@Schema(description = "备注")
private String remark;
+ @Schema(description = "标签打印模板key")
+ private String printTemplate;
+
+ //===================扩展属性=====================
+ @Schema(description = "查询时进行权限过滤")
+ private String permissionFilterFlag;
+
+ @Schema(description = "查询用-权限角色")
+ private Set roleIds;
+
+ @Schema(description = "查询用-源权限类型")
+ private String srcPermissionType;
}
\ 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/ConfigWarehouseLocationRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationRespVO.java
index 5080ffb..85da06a 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationRespVO.java
@@ -1,9 +1,12 @@
package com.zt.plat.module.qms.business.config.controller.vo;
+import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
+import java.util.List;
+
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 存放位置 Response VO")
@@ -15,6 +18,7 @@ public class ConfigWarehouseLocationRespVO {
@ExcelProperty("ID")
private Long id;
+// @Dict(dictTable="t_cfg_wrh_loc",dicCode="id",dicText="name")
@Schema(description = "父ID", example = "31498")
@ExcelProperty("父ID")
private Long parentId;
@@ -63,4 +67,17 @@ public class ConfigWarehouseLocationRespVO {
@ExcelProperty("备注")
private String remark;
+ @Schema(description = "标签打印模板key")
+ @ExcelProperty("标签打印模板key")
+ private String printTemplate;
+
+ //===========扩展字段=======================
+ @Schema(description = "权限列表")
+ List permissionList;
+
+ @Schema(description = "仓库名称")
+ String warehouseName;
+
+ @Schema(description = "仓库编码")
+ String warehouseCode;
}
\ 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/ConfigWarehouseLocationSaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationSaveReqVO.java
index 01ff684..b6e8cd0 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationSaveReqVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/ConfigWarehouseLocationSaveReqVO.java
@@ -4,6 +4,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;
+import java.util.List;
+
@Schema(description = "管理后台 - 存放位置新增/修改 Request VO")
@Data
public class ConfigWarehouseLocationSaveReqVO {
@@ -48,4 +50,10 @@ public class ConfigWarehouseLocationSaveReqVO {
@Schema(description = "备注")
private String remark;
+ @Schema(description = "标签打印模板key")
+ private String printTemplate;
+
+ //===========扩展字段=======================
+ @Schema(description = "权限列表")
+ List permissionList;
}
\ 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/dal/dataobject/ConfigWarehouseLocationDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigWarehouseLocationDO.java
index 6e980e1..8d38d53 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigWarehouseLocationDO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/dataobject/ConfigWarehouseLocationDO.java
@@ -85,4 +85,8 @@ public class ConfigWarehouseLocationDO extends BusinessBaseDO {
@TableField("RMK")
private String remark;
+ //标签打印模板key
+ @TableField("PRNT_TMPL")
+ private String printTemplate;
+
}
\ 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/dal/mapper/ConfigSubSampleMethodMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java
index 50cdda1..7abb095 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigSubSampleMethodMapper.java
@@ -53,5 +53,11 @@ public interface ConfigSubSampleMethodMapper extends BaseMapperX selectByConfigSubSampleIdsAndConfigAssayMethodId(List configSubSampleIds, Long configAssayMethodId) {
+ return selectList(new LambdaQueryWrapper()
+ .in(ConfigSubSampleMethodDO::getConfigSubSampleId, configSubSampleIds)
+ .eq(ConfigSubSampleMethodDO::getConfigAssayMethodId, configAssayMethodId));
+ }
}
\ 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/dal/mapper/ConfigWarehouseLocationMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationMapper.java
index ef85e56..9dabfdd 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationMapper.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/dal/mapper/ConfigWarehouseLocationMapper.java
@@ -3,9 +3,16 @@ package com.zt.plat.module.qms.business.config.dal.mapper;
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.framework.mybatis.core.query.MPJLambdaWrapperX;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleDispatchDetailDO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationRespVO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationDO;
+import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigWarehouseLocationParDO;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 存放位置 Mapper
@@ -15,9 +22,16 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ConfigWarehouseLocationMapper extends BaseMapperX {
- default PageResult selectPage(ConfigWarehouseLocationPageReqVO reqVO) {
- return selectPage(reqVO, new LambdaQueryWrapperX()
+ default PageResult selectPage(ConfigWarehouseLocationPageReqVO reqVO) {
+
+ MPJLambdaWrapperX wrapper = new MPJLambdaWrapperX<>();
+ //仓库
+ wrapper.leftJoin(ConfigWarehouseLocationParDO.class, ConfigWarehouseLocationParDO::getId, ConfigWarehouseLocationDO::getParentId);
+ wrapper.selectAll(ConfigWarehouseLocationDO.class)
+ .selectAs(ConfigWarehouseLocationParDO::getName, ConfigWarehouseLocationRespVO::getWarehouseName)
+ .selectAs(ConfigWarehouseLocationParDO::getCode, ConfigWarehouseLocationRespVO::getWarehouseCode)
.eqIfPresent(ConfigWarehouseLocationDO::getWarehouseType, reqVO.getWarehouseType())
+ .eqIfPresent(ConfigWarehouseLocationDO::getId, reqVO.getId())
.eqIfPresent(ConfigWarehouseLocationDO::getParentId, reqVO.getParentId())
.likeIfPresent(ConfigWarehouseLocationDO::getName, reqVO.getName())
.eqIfPresent(ConfigWarehouseLocationDO::getCode, reqVO.getCode())
@@ -29,7 +43,10 @@ public interface ConfigWarehouseLocationMapper extends BaseMapperX selectListWithPermission(@Param("param") ConfigWarehouseLocationPageReqVO param);
}
\ 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/service/ConfigWarehouseLocationService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationService.java
index 71f440a..ceeda49 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationService.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationService.java
@@ -18,6 +18,9 @@ public interface ConfigWarehouseLocationService {
ConfigWarehouseLocationDO getLocationByCode(String code, String warehouseType);
+ //保存数据
+ ConfigWarehouseLocationRespVO save(@Valid ConfigWarehouseLocationSaveReqVO reqVO);
+
/**
* 创建存放位置
*
@@ -61,6 +64,7 @@ public interface ConfigWarehouseLocationService {
* @param pageReqVO 分页查询
* @return 存放位置分页
*/
- PageResult getConfigWarehouseLocationPage(ConfigWarehouseLocationPageReqVO pageReqVO);
+ PageResult getConfigWarehouseLocationPage(ConfigWarehouseLocationPageReqVO pageReqVO);
+ List selectListWithPermission(ConfigWarehouseLocationPageReqVO 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/config/service/ConfigWarehouseLocationServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationServiceImpl.java
index e8f1d90..235beca 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationServiceImpl.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/service/ConfigWarehouseLocationServiceImpl.java
@@ -2,9 +2,11 @@ package com.zt.plat.module.qms.business.config.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigPermissionSaveReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigWarehouseLocationSaveReqVO;
+import com.zt.plat.module.qms.enums.QmsPermissionConstant;
import com.zt.plat.module.qms.enums.QmsWarehouseLocationConstant;
import org.springframework.stereotype.Service;
import jakarta.annotation.Resource;
@@ -19,7 +21,6 @@ import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigWarehouseLocationMapper;
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.module.qms.enums.ErrorCodeConstants.*;
/**
@@ -31,11 +32,30 @@ import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
@Validated
public class ConfigWarehouseLocationServiceImpl implements ConfigWarehouseLocationService {
-
+ @Resource private ConfigPermissionService configPermissionService;
@Resource
private ConfigWarehouseLocationMapper configWarehouseLocationMapper;
+ @Override
+ public ConfigWarehouseLocationRespVO save(ConfigWarehouseLocationSaveReqVO reqVo) {
+ Long id = reqVo.getId();
+ //处理权限
+ List primissionList = reqVo.getPermissionList();
+ if(id == null){
+ ConfigWarehouseLocationDO entity = BeanUtils.toBean(reqVo, ConfigWarehouseLocationDO.class);
+ configWarehouseLocationMapper.insert(entity);
+ id = entity.getId();
+ reqVo.setId( id);
+ }
+ for(ConfigPermissionSaveReqVO permission : primissionList){
+ permission.setSourceId( id);
+ permission.setSourceType(QmsPermissionConstant.SAMPLE_WAREHOUSE_ADMIN);
+ }
+ configPermissionService.savePermissionListWithAutoDelete(primissionList, id, QmsPermissionConstant.SAMPLE_WAREHOUSE_ADMIN, null);
+ return BeanUtils.toBean(reqVo, ConfigWarehouseLocationRespVO.class);
+ }
+
@Override
public ConfigWarehouseLocationDO getLocationByCode(String code, String warehouseType) {
LambdaQueryWrapper query = new LambdaQueryWrapper<>();
@@ -104,8 +124,12 @@ public class ConfigWarehouseLocationServiceImpl implements ConfigWarehouseLocati
}
@Override
- public PageResult getConfigWarehouseLocationPage(ConfigWarehouseLocationPageReqVO pageReqVO) {
+ public PageResult getConfigWarehouseLocationPage(ConfigWarehouseLocationPageReqVO pageReqVO) {
return configWarehouseLocationMapper.selectPage(pageReqVO);
}
+ @Override
+ public List selectListWithPermission(ConfigWarehouseLocationPageReqVO pageReqVO) {
+ return configWarehouseLocationMapper.selectListWithPermission(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/reportdoc/controller/vo/ReportDocumentMainRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/controller/vo/ReportDocumentMainRespVO.java
index ee8dc5d..6e681df 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/controller/vo/ReportDocumentMainRespVO.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/controller/vo/ReportDocumentMainRespVO.java
@@ -72,6 +72,7 @@ public class ReportDocumentMainRespVO {
@Schema(description = "审批状态,【字典】【jy_doc_main_status】待编制、审批中、已结束", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("审批状态,【字典】【jy_doc_main_status】待编制、审批中、已结束")
+ @Dict(dicCode = "flow_status")
private String flowStatus;
@Schema(description = "作废标识:0-有效;1-作废")
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/service/ReportDocumentDataServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/service/ReportDocumentDataServiceImpl.java
index 40b2521..0eb4bcc 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/service/ReportDocumentDataServiceImpl.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/reportdoc/service/ReportDocumentDataServiceImpl.java
@@ -21,8 +21,6 @@ import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -113,12 +111,14 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
return new ArrayList<>();
JSONObject jsonObject = JSONObject.parseObject(customConfig);
Integer dynamicColCount = 3;
- Integer fixedColCount = 3;
+ Integer fixedColCount = 0;
Integer maxRowCount = 3;
String dynamicColCountStr = jsonObject.getString("dynamicColCount"); //动态列(检测项)数量
- String fixedColCountStr = jsonObject.getString("fixedColCount"); //固定列(样品名称、样品编号等)数量
+// String fixedColCountStr = jsonObject.getString("fixedColCount"); //固定列(样品名称、样品编号等)数量
+ JSONArray fixedCol = jsonObject.getJSONArray("fixedCol"); //固定列,举例:["sampleName", "sampleCode"]
+ JSONArray fixedColShow = jsonObject.getJSONArray("fixedColShow"); //固定列,举例:["产品名称", "编 号"]
String maxRowCountStr = jsonObject.getString("maxRowCount"); //最大行数
- String nameCodeType = jsonObject.getString("nameCodeType"); //名称、编号处理方式:merge-合并, name-只显示名称, code-只显示编号, split-2列分开显示
+// String nameCodeType = jsonObject.getString("nameCodeType"); //名称、编号处理方式:merge-合并, name-只显示名称, code-只显示编号, split-2列分开显示
String hasRemark = jsonObject.getString("hasRemark"); //是否有备注
String hasRange = jsonObject.getString("hasRange"); //是否有检出限
String verticalFlag = jsonObject.getString("verticalFlag"); //vertical-纵表, 否则为横表
@@ -130,7 +130,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
return assembleFixedFieldsData(fieldList, dataList, customConfig);
}
if(!ObjectUtils.isEmpty(dynamicColCountStr)) dynamicColCount = Integer.parseInt(dynamicColCountStr);
- if(!ObjectUtils.isEmpty(fixedColCountStr)) fixedColCount = Integer.parseInt(fixedColCountStr);
+ if(fixedCol != null) fixedColCount = fixedCol.size();
if(!ObjectUtils.isEmpty(maxRowCountStr)) maxRowCount = Integer.parseInt(maxRowCountStr);
Integer eleCount = 0; //元素数量,即元素列总数
@@ -144,14 +144,14 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
Integer colCountOneSample = fixedColCount + dynamicColCount; //每个样品要占的列数
Integer dataLength = dataList.size();
Integer emptyRowCount = dataLength < maxRowCount ? 1 : 0; //空行数
- Integer allRowCount = 1 + dataLength + emptyRowCount + 1; //标题 + 样品数 + 空行
+// Integer allRowCount = 1 + dataLength + emptyRowCount + 1; //标题 + 样品数 + 空行
if("1".equals(hasRange))
emptyRowCount ++;
- if(rowCountOneSample > 1){
- allRowCount = (1 + dataLength + emptyRowCount + 9) * rowCountOneSample + emptyRowCount; //(标题 + 样品数 + 空行) * 但样品行数 + 末尾行
- }
+// if(rowCountOneSample > 1){
+// allRowCount = (1 + dataLength + emptyRowCount + 9) * rowCountOneSample + emptyRowCount; //(标题 + 样品数 + 空行) * 但样品行数 + 末尾行
+// }
List rowList = new ArrayList<>();
for(int i = 0; i < maxRowCount; i++){
JSONObject row = new JSONObject();
@@ -193,7 +193,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
r.put(colPrefix + "01", "方法检出限");
lastObjFlag = true;
if(colIndex % colCountOneSample == 0){
- addTitleToRowList(nameCodeType, rowAssist, t, dataLength, emptyRowCount, rowList, fieldList);
+ addTitleToRowList(fixedCol, rowAssist, t, dataLength, emptyRowCount, rowList, fieldList);
if("1".equals(hasRange))
addRangeToRowList(rowAssist, r, dataLength, emptyRowCount, rowList);
t = new JSONObject();
@@ -211,7 +211,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
colIndex++;
}
if(lastObjFlag){
- addTitleToRowList(nameCodeType, rowAssist, t, dataLength, emptyRowCount, rowList, fieldList);
+ addTitleToRowList(fixedCol, rowAssist, t, dataLength, emptyRowCount, rowList, fieldList);
if("1".equals(hasRange))
addRangeToRowList(rowAssist, r, dataLength, emptyRowCount, rowList);
}
@@ -252,7 +252,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
t.put(colPrefix + colKey, fieldValue);
lastObjFlag = true;
if(colIndex % colCountOneSample == 0){
- addDataToRowList(nameCodeType, dataDO, rowAssist, t, dataLength, emptyRowCount, dataIndex, rowList, fieldList);
+ addFixedDataToRowList(fixedCol, dataDO, rowAssist, t, dataLength, emptyRowCount, dataIndex, rowList, fieldList);
t = new JSONObject();
if("1".equals(hasRemark)){
t.put(colPrefix + parseNumToString(colCountOneSample + 1, 2), remark);
@@ -265,7 +265,7 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
colIndex++;
}
if(lastObjFlag){
- addDataToRowList(nameCodeType, dataDO, rowAssist, t, dataLength, emptyRowCount, dataIndex, rowList, fieldList);
+ addFixedDataToRowList(fixedCol, dataDO, rowAssist, t, dataLength, emptyRowCount, dataIndex, rowList, fieldList);
}
dataIndex ++;
}
@@ -290,38 +290,43 @@ public class ReportDocumentDataServiceImpl implements ReportDocumentDataService
}
/**
- * @param nameCodeType: merge-合并, name-只显示名称, code-只显示编号, split-2列分开显示
+ * @param
*
* */
- private void addTitleToRowList(String nameCodeType, Integer rowAssist, JSONObject t, Integer dataLength, Integer emptyRowCount,
- List rowList, List fieldList){
+ private void addTitleToRowList(JSONArray fixedCol, Integer rowAssist, JSONObject t, Integer dataLength, Integer emptyRowCount, List rowList, List fieldList){
int rowIndex = (1 + dataLength + emptyRowCount) * (rowAssist - 1) + 1; //(标题 + 数据行 + 空行)
//处理固定列
int index = 1;
- String colKey = parseNumToString(index, 2);
- if(name_code_merge.equals(nameCodeType)){
- t.put(colPrefix + colKey, "样品名称及编号");
- rowList.set(rowIndex, t.clone());
- return;
- }
- if(name_code_name.equals(nameCodeType)){
- t.put(colPrefix + colKey, "样品名称");
- rowList.set(rowIndex, t.clone());
- return;
- }
- if(name_code_code.equals(nameCodeType)){
- t.put(colPrefix + colKey, "样品编号");
- rowList.set(rowIndex, t.clone());
- return;
- }
- for(ConfigReportFieldDO fieldDO : fieldList){
- String fieldName = fieldDO.getFieldName();
- String fieldType = fieldDO.getFieldType();
- if(FIELD_DYNAMIC.equals(fieldType))
- continue;
- colKey = parseNumToString(index, 2);
- t.put(colPrefix + colKey, fieldName);
- index++;
+ String colKey = "";
+ for(int i=0;i rowList, List fieldList){
+ /**
+ * 添加固定列的数据
+ * */
+ private void addFixedDataToRowList(JSONArray fixedCol, ReportDocumentDataDO dataDO, Integer rowAssist, JSONObject t, Integer dataLength, Integer emptyRowCount, Integer dataIndex, List rowList, List fieldList){
int rowIndex = (1 + dataLength + emptyRowCount) * (rowAssist - 1) + dataIndex + 1; //(标题 + 数据行 + 空行)
t.put("id", dataDO.getId());
//处理固定列
int index = 1;
//处理固定列
- String colKey = parseNumToString(index, 2);
- if(name_code_merge.equals(nameCodeType)){
- String merge = dataDO.getSampleName() + " " + dataDO.getSampleCode();
- t.put(colPrefix + colKey, merge);
- rowList.set(rowIndex, t.clone());
- return;
- }
- if(name_code_name.equals(nameCodeType)){
- t.put(colPrefix + colKey, dataDO.getSampleName());
- rowList.set(rowIndex, t.clone());
- return;
- }
- if(name_code_code.equals(nameCodeType)){
- t.put(colPrefix + colKey, dataDO.getSampleCode());
- rowList.set(rowIndex, t.clone());
- return;
- }
- for(ConfigReportFieldDO fieldDO : fieldList){
- String fieldName = fieldDO.getFieldName();
- String fieldType = fieldDO.getFieldType();
- String field = fieldDO.getField();
- if(FIELD_FIXED.equals(fieldType)){
+ String colKey = "";
+ if(fixedCol != null && !fixedCol.isEmpty()){
+ for(int i=0;i submitAssayResult(@RequestBody AutoIngredientsTaskAssayResultReqVO body) {
- System.out.println(com.alibaba.fastjson2.JSON.toJSONString(body));
+// System.out.println(com.alibaba.fastjson2.JSON.toJSONString(body));
autoIngredientsService.submitAssayResult(body);
return CommonResult.success("成功");
}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java
index 26ebc1b..90c6d10 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java
+++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/thirdpartyapi/service/AutoIngredientsServiceImpl.java
@@ -6,27 +6,58 @@ import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.alibaba.fastjson2.JSON;
+import com.zt.plat.framework.common.exception.ServiceException;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataExtendRespVO;
+import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataExtendRespVO;
+import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataExtendRespVO;
+import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskDataReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskExtendRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskPageReqVO;
-import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayParameterDataDO;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
+import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper;
+import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfInfo;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfItem;
+import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfPoint;
+import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO;
+import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
import com.zt.plat.module.qms.thirdpartyapi.controller.vo.AutoIngredientsTaskAssayResultReqVO;
+import com.zt.plat.module.qms.thirdpartyapi.controller.vo.AutoIngredientsTaskDetailAssayResultReqVO;
import com.zt.plat.module.qms.thirdpartyapi.controller.vo.AutoIngredientsTaskDetailRespVO;
import com.zt.plat.module.qms.thirdpartyapi.controller.vo.AutoIngredientsTaskQueryReqVO;
import com.zt.plat.module.qms.thirdpartyapi.controller.vo.AutoIngredientsTaskRespVO;
+import com.zt.plat.module.system.api.user.AdminUserApi;
+import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
import jakarta.annotation.Resource;
@Service
public class AutoIngredientsServiceImpl implements AutoIngredientsService {
+ @Resource
+ private AdminUserApi adminUserApi;
+
+ @Resource
+ private BusinessSubSampleMapper businessSubSampleMapper;
+
@Resource
private BusinessAssayTaskMapper businessAssayTaskMapper;
@@ -36,6 +67,9 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService {
@Resource
private BusinessAssayTaskDataMapper businessAssayTaskDataMapper;
+ @Resource
+ private ConfigSubSampleMethodMapper configSubSampleMethodMapper;
+
@Resource
private BusinessAssayProjectDataMapper businessAssayProjectDataMapper;
@@ -52,28 +86,187 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService {
search.setTaskAssignSubmitTime(taskAssignSubmiTimes);
}
List list = businessAssayTaskMapper.selectList(search);
- List resultList = list.stream().map(m -> new AutoIngredientsTaskRespVO(m.getId(), m.getTaskNo(), m.getTaskAssignSubmitTime(), m.getAssayOperator(), m.getAssayOperator())).collect(Collectors.toList());
+ List assayOperatorIdList = list.stream().filter(f -> f.getAssayOperatorId() != null).map(m -> m.getAssayOperatorId()).distinct().collect(Collectors.toList());
+ CommonResult> userListResult = adminUserApi.getUserList(assayOperatorIdList);
+ if (userListResult.isError()) {
+ throw new ServiceException(userListResult.getCode(), userListResult.getMsg());
+ }
+ List userList = userListResult.getData();
+ List resultList = list.stream().map(m -> {
+ AdminUserRespDTO user = userList.stream().filter(f -> f.getId().equals(m.getAssayOperatorId())).findFirst().orElse(null);
+ return new AutoIngredientsTaskRespVO(m.getId(), m.getTaskNo(), m.getTaskAssignSubmitTime(), user.getUsername(), m.getAssayOperator());
+ }).collect(Collectors.toList());
return resultList;
}
@Override
public List taskDetailList(Long taskId) {
-// List list = businessAssayTaskDetailMapper.selectByBusinessAssayTaskId(taskId);
-// businessAssayTaskDataMapper.selectByBusinessAssayTaskId(taskId)
- List resultList = new ArrayList<>();
-// for (BusinessAssayTaskDetailDO businessAssayTaskDetailDO : list) {
-// AutoIngredientsTaskDetailRespVO autoIngredientsTaskDetailRespVO = new AutoIngredientsTaskDetailRespVO();
-// autoIngredientsTaskDetailRespVO.setAssayOperator(null)
-// resultList.add(autoIngredientsTaskDetailRespVO);
-//
-// }
+ //查询任务分配信息
+ BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(taskId);
+ //查询子样检测任务
+ BusinessAssayTaskDataReqVO search = new BusinessAssayTaskDataReqVO();
+ search.setBusinessAssayTaskId(taskId);
+ List list = businessAssayTaskDataMapper.selectList(search);
+ //分析人员id列表
+ List assayOperatorIdList = list.stream().filter(f -> f.getAssayOperatorId() != null).map(m -> m.getAssayOperatorId()).distinct().collect(Collectors.toList());
+
+ //子样配置id列表
+ List configSubSampleIdList = list.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList());
+
+ //子样配置方法
+ List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId());
+
+ //分析任务id列表
+ List businessAssayTaskDataIdList = list.stream().map(m -> m.getId()).collect(Collectors.toList());
+
+ //查询检测项目
+ List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
+ List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
+ //查询检测项目参数
+ List businessAssayParameterDataList = businessAssayParameterDataMapper.selectExtendByBusinessAssayProjectDataIds(businessAssayProjectDataIdList);
+
+ CommonResult> userListResult = adminUserApi.getUserList(assayOperatorIdList);
+ if (userListResult.isError()) {
+ throw new ServiceException(userListResult.getCode(), userListResult.getMsg());
+ }
+ List userList = userListResult.getData();
+ List resultList = list.stream().map(m -> {
+ //分析人员信息
+ AdminUserRespDTO user = userList.stream().filter(f -> f.getId().equals(m.getAssayOperatorId())).findFirst().orElse(null);
+ //子样配置信息
+ ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(m.getConfigSubSampleId())).findFirst().orElse(null);
+ String configInfomation = configSubSampleMethodDO.getConfigInfomation();
+ //当前检测项目列表
+ List currentBusinessAssayProjectDataList = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(m.getId())).collect(Collectors.toList());
+
+ AutoIngredientsTaskDetailRespVO autoIngredientsTaskDetailRespVO = new AutoIngredientsTaskDetailRespVO();
+ autoIngredientsTaskDetailRespVO.setId(m.getId());
+ autoIngredientsTaskDetailRespVO.setTaskId(m.getBusinessAssayTaskId());
+ autoIngredientsTaskDetailRespVO.setSampleCode(m.getSampleAssayCode());
+ autoIngredientsTaskDetailRespVO.setSampleName(m.getSampleName());
+
+ if (StringUtils.isNotBlank(configInfomation)) {
+ ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
+ //获取下发配置
+ List downIngredients = configSubSampleMethodConfInfo.getDownIngredients();
+ for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : downIngredients) {
+ if (configSubSampleMethodConfItem.getRequired()) {
+ ConfigSubSampleMethodConfPoint source = configSubSampleMethodConfItem.getSource();
+ String project = source.getProject();
+ String parameter = source.getParameter();
+ BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = currentBusinessAssayProjectDataList.stream().filter(f -> f.getSimpleName().equals(project)).findFirst().orElse(null);
+ BusinessAssayParameterDataExtendRespVO currentBusinessAssayParameterData = businessAssayParameterDataList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(currentBusinessAssayProjectData.getId()) && f.getParameterKey().equals(parameter)).findFirst().orElse(null);
+ ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
+ String field = target.getField();
+ BeanUtil.setFieldValue(autoIngredientsTaskDetailRespVO, field, currentBusinessAssayParameterData.getValue());
+ }
+ }
+ }
+ autoIngredientsTaskDetailRespVO.setAssayProject(m.getAssayProject());
+ autoIngredientsTaskDetailRespVO.setAssayOperator(user.getUsername());
+ autoIngredientsTaskDetailRespVO.setAssayOperatorName(m.getAssayOperator());
+ autoIngredientsTaskDetailRespVO.setRemark(m.getRemark());
+
+ return autoIngredientsTaskDetailRespVO;
+ }).collect(Collectors.toList());
return resultList;
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public void submitAssayResult(AutoIngredientsTaskAssayResultReqVO body) {
+ List updateBusinessAssayTaskDataDOList = new ArrayList<>();
+ List updateBusinessAssayProjectDataDOList = new ArrayList<>();
+ List updateBusinessAssayParameterDataDOList = new ArrayList<>();
+
+ //任务id
+ Long taskId = body.getTaskId();
+ //查询任务分配信息
+ BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(taskId);
+ List sampleList = body.getSampleList();
+ //获取检测任务id
+ List businessAssayTaskDataIdList = sampleList.stream().map(m -> m.getId()).collect(Collectors.toList());
+ List businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectByIds(businessAssayTaskDataIdList);
+ //获取子样id列表
+ List businessSubSampleIdList = businessAssayTaskDataDOList.stream().map(m -> m.getBusinessSubSampleId()).distinct().collect(Collectors.toList());
+ //获取子样
+ List businessSubSampleDOList = businessSubSampleMapper.selectByIds(businessSubSampleIdList);
+ //子样配置id列表
+ List configSubSampleIdList = businessSubSampleDOList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList());
+ //子样配置方法
+ List configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId());
+
+ List businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
+ List businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
+ //查询检测项目参数
+ List businessAssayParameterDataList = businessAssayParameterDataMapper.selectExtendByBusinessAssayProjectDataIds(businessAssayProjectDataIdList);
+
+ for (AutoIngredientsTaskDetailAssayResultReqVO autoIngredientsTaskDetailAssayResultReqVO : sampleList) {
+ //获取子样检测任务
+ BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataDOList.stream().filter(f -> f.getId().equals(autoIngredientsTaskDetailAssayResultReqVO.getId())).findFirst().orElse(null);
+ //获取子样
+ BusinessSubSampleDO businessSubSampleDO = businessSubSampleDOList.stream().filter(f -> f.getId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null);
+
+ //子样配置信息
+ ConfigSubSampleMethodDO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessSubSampleDO.getConfigSubSampleId())).findFirst().orElse(null);
+ String configInfomation = configSubSampleMethodDO.getConfigInfomation();
+ if (StringUtils.isNotBlank(configInfomation)) {
+ ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
+ //获取上传配置
+ List upIngredients = configSubSampleMethodConfInfo.getUpIngredients();
+ for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : upIngredients) {
+ if (configSubSampleMethodConfItem.getRequired()) {
+ ConfigSubSampleMethodConfPoint source = configSubSampleMethodConfItem.getSource();
+ String field = source.getField();
+// System.out.println("field:" + field);
+// Field field2 = ReflectUtil.getField(autoIngredientsTaskDetailAssayResultReqVO.getClass(), field);
+// Map fieldMap = ReflectUtil.getFieldMap(autoIngredientsTaskDetailAssayResultReqVO.getClass());
+// Object fieldValue2 = ReflectUtil.getFieldValue(autoIngredientsTaskDetailAssayResultReqVO, fieldMap.get(field));
+ Object fieldValue = BeanUtil.getFieldValue(autoIngredientsTaskDetailAssayResultReqVO, field);
+ if (fieldValue == null) {
+ fieldValue = "";
+ }
+// System.out.println("fieldValue:" + fieldValue);
+
+ ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
+ String project = target.getProject();
+
+ BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(autoIngredientsTaskDetailAssayResultReqVO.getId()) && f.getSimpleName().equals(project)).findFirst().orElse(null);
+ String parameter = target.getParameter();
+ if (StringUtils.isBlank(parameter)) {
+ currentBusinessAssayProjectData.setValue(fieldValue.toString());
+ updateBusinessAssayProjectDataDOList.add(BeanUtils.toBean(currentBusinessAssayProjectData, BusinessAssayProjectDataDO.class));
+ } else {
+ BusinessAssayParameterDataExtendRespVO currentBusinessAssayParameterData = businessAssayParameterDataList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(currentBusinessAssayProjectData.getId()) && f.getParameterKey().equals(parameter)).findFirst().orElse(null);
+ currentBusinessAssayParameterData.setValue(fieldValue.toString());
+ updateBusinessAssayParameterDataDOList.add(BeanUtils.toBean(currentBusinessAssayParameterData, BusinessAssayParameterDataDO.class));
+ }
+
+ }
+ }
+ }
+ String remark = CollUtil.join(Arrays.asList(autoIngredientsTaskDetailAssayResultReqVO.getRemark()), "、");
+
+ businessAssayTaskDataDO.setRemark(remark);
+ updateBusinessAssayTaskDataDOList.add(businessAssayTaskDataDO);
+ }
+
+ businessAssayTaskDO.setIngredientsStatus(QmsCommonConstant.ALLOW_SUBMIT);
+
+ businessAssayTaskMapper.updateById(businessAssayTaskDO);
+
+ if (CollUtil.isNotEmpty(updateBusinessAssayTaskDataDOList)) {
+ businessAssayTaskDataMapper.updateBatch(updateBusinessAssayTaskDataDOList);
+ }
+ if (CollUtil.isNotEmpty(updateBusinessAssayProjectDataDOList)) {
+ businessAssayProjectDataMapper.updateBatch(updateBusinessAssayProjectDataDOList);
+ }
+ if (CollUtil.isNotEmpty(updateBusinessAssayParameterDataDOList)) {
+ businessAssayParameterDataMapper.updateBatch(updateBusinessAssayParameterDataDOList);
+ }
+
}
}
diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml
index 9ca148d..7f0c5e0 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml
+++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessAssayTaskDataMapper.xml
@@ -88,6 +88,7 @@
LEFT JOIN T_CFG_ASY_MTHD tcam ON
t.CFG_ASY_MTHD_ID = tcam.ID
AND t.TENANT_ID = tcam.TENANT_ID
+ WHERE t.RPOD_STS in ('pending_report', 'pending_assessment', 're_inspected')
GROUP BY
t.CFG_ASY_MTHD_ID,
t.ASY_TP,
diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleAssessmentProjectMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleAssessmentProjectMapper.xml
index 2433995..8ed7baa 100644
--- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleAssessmentProjectMapper.xml
+++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubParentSampleAssessmentProjectMapper.xml
@@ -11,29 +11,49 @@