diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/OrgEquipmentConvertor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/OrgEquipmentConvertor.java new file mode 100644 index 0000000..c67d049 --- /dev/null +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/OrgEquipmentConvertor.java @@ -0,0 +1,25 @@ +package org.qinan.safetyeval.app.convertor; + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.qinan.safetyeval.domain.entity.OrgEquipmentEntity; +import org.qinan.safetyeval.domain.entity.QualFilingEquipmentEntity; + +/** + * 装备信息转换器 + */ +@Mapper(componentModel = "spring") +public interface OrgEquipmentConvertor { + + /** + * 企业装备转备案装备快照 + */ + @Mapping(target = "id", ignore = true) + @Mapping(target = "sourceEquipmentId", source = "source.id") + @Mapping(target = "filingId", source = "filingId") + @Mapping(target = "instrumentTypeCode", ignore = true) + @Mapping(target = "calibrationReportUrl", ignore = true) + @Mapping(target = "tenantId", ignore = true) + @Mapping(target = "orgId", ignore = true) + QualFilingEquipmentEntity toFilingEquipment(Long filingId, OrgEquipmentEntity source); +} diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/support/QualFilingOrgEquipmentImporter.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/support/QualFilingOrgEquipmentImporter.java index f6c629d..dd00a85 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/support/QualFilingOrgEquipmentImporter.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/support/QualFilingOrgEquipmentImporter.java @@ -1,5 +1,6 @@ package org.qinan.safetyeval.app.support; +import org.qinan.safetyeval.app.convertor.OrgEquipmentConvertor; import org.qinan.safetyeval.domain.entity.OrgEquipmentEntity; import org.qinan.safetyeval.domain.entity.QualFilingEquipmentEntity; import org.qinan.safetyeval.domain.exception.BizException; @@ -25,6 +26,9 @@ public class QualFilingOrgEquipmentImporter { @Resource private QualFilingEquipmentGateway qualFilingEquipmentGateway; + @Resource + private OrgEquipmentConvertor orgEquipmentConvertor; + public int importFromOrg(Long filingId, List sourceEquipmentIds) { if (sourceEquipmentIds == null || sourceEquipmentIds.isEmpty()) { return 0; @@ -44,31 +48,9 @@ public class QualFilingOrgEquipmentImporter { if (source == null) { throw new BizException(ErrorCode.ORG_EQUIPMENT_NOT_FOUND); } - qualFilingEquipmentGateway.save(toFilingEquipment(filingId, source)); + qualFilingEquipmentGateway.save(orgEquipmentConvertor.toFilingEquipment(filingId, source)); count++; } return count; } - - private QualFilingEquipmentEntity toFilingEquipment(Long filingId, OrgEquipmentEntity source) { - QualFilingEquipmentEntity entity = new QualFilingEquipmentEntity(); - entity.setFilingId(filingId); - entity.setSourceEquipmentId(source.getId()); - entity.setDeviceName(source.getDeviceName()); - entity.setDeviceModel(source.getDeviceModel()); - entity.setInstrumentTypeCode(source.getInstrumentTypeCode()); - entity.setInstrumentTypeName(source.getInstrumentTypeName()); - entity.setDeviceTypeCode(source.getDeviceTypeCode()); - entity.setDeviceTypeName(source.getDeviceTypeName()); - entity.setManufacturer(source.getManufacturer()); - entity.setFlowDesc(source.getFlowDesc()); - entity.setMinFlow(source.getMinFlow()); - entity.setMaxFlow(source.getMaxFlow()); - entity.setCalibrationUnit(source.getCalibrationUnit()); - entity.setCalibrationInitValue(source.getCalibrationInitValue()); - entity.setFieldCalibrationTypeCode(source.getFieldCalibrationTypeCode()); - entity.setFieldCalibrationTypeName(source.getFieldCalibrationTypeName()); - entity.setDualChannelFlag(source.getDualChannelFlag()); - return entity; - } }