hyy 7 сар өмнө
parent
commit
d63da3e1f7
14 өөрчлөгдсөн 248 нэмэгдсэн , 70 устгасан
  1. 3 1
      yudao-module-museums/yudao-module-museums-api/src/main/java/cn/iocoder/yudao/module/museums/enums/DictTypeConstants.java
  2. 24 0
      yudao-module-museums/yudao-module-museums-api/src/main/java/cn/iocoder/yudao/module/museums/enums/common/MainPurposeEnum.java
  3. 9 3
      yudao-module-museums/yudao-module-museums-api/src/main/java/cn/iocoder/yudao/module/museums/enums/common/PreservationTypeEnum.java
  4. 20 0
      yudao-module-museums/yudao-module-museums-api/src/main/java/cn/iocoder/yudao/module/museums/enums/common/SaveStatusEnum.java
  5. 32 31
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/SpecimenInfoController.java
  6. 40 22
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenImportExcelVO.java
  7. 12 0
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoExportReqVO.java
  8. 12 0
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoExportRespVO.java
  9. 12 0
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoPageReqVO.java
  10. 16 0
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoRespVO.java
  11. 23 2
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoSaveReqVO.java
  12. 20 1
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenOutboundFormRespVO.java
  13. 24 9
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/dal/dataobject/specimeninfo/SpecimenInfoDO.java
  14. 1 1
      yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/dal/mysql/specimeninfo/SpecimenInfoMapper.java

+ 3 - 1
yudao-module-museums/yudao-module-museums-api/src/main/java/cn/iocoder/yudao/module/museums/enums/DictTypeConstants.java

@@ -15,5 +15,7 @@ public interface DictTypeConstants {
     String MUSEUMS_SPECIMEN_TYPE = "museums_specimen_type"; // 标本类型
     String MUSEUMS_SOURCE = "museums_source"; // 标本来源
     String MUSEUMS_SPECIMEN_INFO = "museums_specimen_info"; // 保存类型
-    String MUSEUMS_APPROAL_STATUS = "museums_approal_status"; // 保存类型
+    String MUSEUMS_APPROAL_STATUS = "museums_approal_status"; // 审批状态
+    String MUSEUMS_SPECIMEN_MAIN_USES = "museums_specimen_main_uses"; // 标本主要用途
+    String MUSEUMS_SPECIMEN_PRESERVATION_STATUS = "museums_specimen_preservation_status"; // 标本保存状态
 }

+ 24 - 0
yudao-module-museums/yudao-module-museums-api/src/main/java/cn/iocoder/yudao/module/museums/enums/common/MainPurposeEnum.java

@@ -0,0 +1,24 @@
+package cn.iocoder.yudao.module.museums.enums.common;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum MainPurposeEnum {
+    /** 工业原料 */
+    INDUSTRIAL(0),
+    /** 药用 */
+    MEDICINAL(1),
+    /** 建材 */
+    BUILDING(2),
+    /** 科学研究 */
+    RESERECH(3),
+    /** 观赏 */
+    APPRECIATE(4),
+    /** 其他 */
+    OTHER(5);
+
+    /** 保存类型值 */
+    private final Integer mainPurpose;
+}

+ 9 - 3
yudao-module-museums/yudao-module-museums-api/src/main/java/cn/iocoder/yudao/module/museums/enums/common/PreservationTypeEnum.java

@@ -9,10 +9,16 @@ public enum PreservationTypeEnum {
     SPECIMEN(0),
     /** 光片 */
     SLIDE(1),
-    /** 薄片模型 */
-    THIN_SLIDE(2),
+    /** 薄片 */
+    THIN_SHEET(2),
+    /** 模型 */
+    MODEL(3),
+    /** 切片 */
+    SLICE(4),
+    /** 原石 */
+    ROUGH_STONE(5),
     /** 其他 */
-    OTHER(3);
+    OTHER(6);
 
     /** 保存类型值 */
     private final Integer type;

+ 20 - 0
yudao-module-museums/yudao-module-museums-api/src/main/java/cn/iocoder/yudao/module/museums/enums/common/SaveStatusEnum.java

@@ -0,0 +1,20 @@
+package cn.iocoder.yudao.module.museums.enums.common;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum SaveStatusEnum {
+    /** 完整 */
+    COMPLETE(0),
+    /** 受损 */
+    DAMAGED(1),
+    /** 严重受损 */
+    SEVERELY_DAMAGED(2),
+    /** 无实物 */
+    NO_OBJECT(3);
+
+    /** 来源值 */
+    private final Integer saveStatus;
+}

+ 32 - 31
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/SpecimenInfoController.java

@@ -1,10 +1,7 @@
 package cn.iocoder.yudao.module.museums.controller.admin.specimeninfo;
 
 import cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants;
-import cn.iocoder.yudao.module.museums.enums.common.CollectionStatusEnum;
-import cn.iocoder.yudao.module.museums.enums.common.PreservationTypeEnum;
-import cn.iocoder.yudao.module.museums.enums.common.SourceEnum;
-import cn.iocoder.yudao.module.museums.enums.common.SpecimenTypeEnum;
+import cn.iocoder.yudao.module.museums.enums.common.*;
 import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.OperateLogRespVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO;
@@ -128,33 +125,37 @@ public class SpecimenInfoController {
         // 手动创建导出 demo
         List<SpecimenImportExcelVO> list = Arrays.asList(
                 SpecimenImportExcelVO.builder()
-                        .specimenNumber("SM001")
-                        .specimenType(SpecimenTypeEnum.MINERAL.getType()) // 使用枚举
-                        .assetNumber("A001")
-                        .storageLocation("博物馆A")
-                        .chineseName("矿石")
-                        .englishName("Mineral")
-                        .composition("硅酸盐")
-                        .origin("中国")
-                        .era("古生代")
-                        .preservedLayer("上新世")
-                        .meteoriteType("无")
-                        .internationalName("Mineral A")
-                        .discoveryTime("2024-01-01") // 使用 LocalDateTime
-                        .fallTime("2024-01-02")
-                        .preservationType(PreservationTypeEnum.SPECIMEN.getType()) // 使用枚举
-                        .size("10cm")
-                        .weight("1.5g")
-                        .source(SourceEnum.PURCHASE.getSource()) // 使用枚举
-                        .provider("供应商A")
-                        .acquisitionTime("2024-01-03")
-                        .purpose("研究")
-                        .description("这是一个矿石标本")
-                        .notes("备注信息")
-                        .imageName("image1.jpg、image3.jpg、image3.jpg")
-                        .specimenPrice(new BigDecimal("100.01"))
-                        .specimenAmount(20)
-                        .collectionStatus(CollectionStatusEnum.IN_MUSEUM.getStatus()) // 使用枚举
+                        .specimenNumber("01522")  // 标本编号
+                        .assetNumber("20129103")  // 资产号
+                        .chineseName("贵州龙")  // 中文名称
+                        .englishName("keichousaurus")  // 外文名称
+                        .specimenType(SpecimenTypeEnum.FOSSIL.getType()) // 使用枚举:标本类型(矿物/矿石/岩石/化石/陨石)
+                        .storageLocation("临展厅")  // 存放位置
+                        .preservationType(PreservationTypeEnum.SPECIMEN.getType()) // 使用枚举:保存类型(标本/原石/光片/薄片/切片/模型及其他)
+                        .saveStatus(SaveStatusEnum.COMPLETE.getSaveStatus())  // 保存状态(完整/受损/严重受损/无实物)
+                        .specimenAmount(1)  // 数量(件/套)
+                        .size("1000cm")  // 规格(cm)
+                        .weight("1.5g")  // 重量(g)
+                        .composition("硅酸盐")  // 成分/化学式
+                        .origin("兴义县顶效镇绿荫村")  // 产地/发现地(市级县级产地)
+                        .economize("贵州省")  // 省
+                        .country("中国(China)")  // 国家
+                        .era("晚三叠世(距今2.1亿年)")  // 形成时代
+                        .preservedLayer("上三叠统竹竿坡组")  // 地质产状或层位(产出状态,化石指产出层位)
+                        .meteoriteType("脊索动物门鳍龙目肿肋龙亚目贵州龙科")  // 分类(矿物的类型/岩石的类型/化石的类型/陨石的类型)
+                        .internationalName("Mineral A")  // 国际命名
+                        .discoveryTime("2024/01/01")  // 发现时间
+                        .fallTime("2024/01/02")  // 降落时间
+                        .source(SourceEnum.PURCHASE.getSource()) // 使用枚举:来源(采购/捐赠/采集)
+                        .provider("天娇雅石居")  // 标本提供者
+                        .specimenPrice(new BigDecimal("5900.01"))  // 单价
+                        .acquisitionTime("2012/12/20")  // 入藏时间
+                        .mainPurpose(MainPurposeEnum.RESERECH.getMainPurpose())  // 主要用途(工业原料/药用/建材/科学研究/观赏/其它)
+                        .purpose("科学普及;对比研究")  // 具体用途
+                        .collectionStatus(CollectionStatusEnum.EXHIBITION.getStatus())  // 馆藏状态(在馆/展陈/借出)
+                        .imageName("image1.jpg、image3.jpg、image3.jpg")  // 图片资料(图件名称)
+                        .description("这是一个矿石标本")  // 文献资料
+                        .notes("备注信息")  // 备注
                         .build()
         );
         ExcelUtils.write(response, "标本导入模板.xls", "标本信息", SpecimenImportExcelVO.class, list);

+ 40 - 22
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenImportExcelVO.java

@@ -25,10 +25,10 @@ public class SpecimenImportExcelVO {
     @ExcelProperty("资产号")
     private String assetNumber;
 
-    @ExcelProperty("标本名称(中文)")
+    @ExcelProperty("中文名称")
     private String chineseName;
 
-    @ExcelProperty("标本名称(英文)")
+    @ExcelProperty("外文名称")
     private String englishName;
 
     @ExcelProperty(value = "标本类型(矿物/矿石/岩石/化石/陨石)", converter = DictConvert.class)
@@ -38,32 +38,45 @@ public class SpecimenImportExcelVO {
     @ExcelProperty("存放位置")
     private String storageLocation;
 
-    @ExcelProperty("标本数量")
+    @ExcelProperty(value = "保存类型(标本/原石/光片/薄片/切片/模型及其他)", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.MUSEUMS_SPECIMEN_INFO)
+    private Integer preservationType;
+
+    //保存状态(完整/受损/严重受损/无实物)
+    @ExcelProperty(value = "保存状态(完整/受损/严重受损/无实物)", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.MUSEUMS_SPECIMEN_PRESERVATION_STATUS)
+    private Integer saveStatus;
+
+    @ExcelProperty("数量(件/套)")
     private Integer specimenAmount;
 
-    @ExcelProperty("尺寸")
+    @ExcelProperty("规格(cm)")
     private String size;
 
-    @ExcelProperty("重量")
+    @ExcelProperty("重量(g)")
     private String weight;
 
     @ExcelProperty("成分/化学式")
     private String composition;
 
-    @ExcelProperty("产地/发现地")
+    @ExcelProperty("产地/发现地(市级县级产地)")
     private String origin;
 
-    @ExcelProperty("时代")
+    //省
+    @ExcelProperty("省")
+    private String economize;
+
+    //国家
+    @ExcelProperty("国家")
+    private String country;
+
+    @ExcelProperty("形成时代")
     private String era;
 
-    @ExcelProperty("保存地层")
+    @ExcelProperty("地质产状或位(产出状态,化石指产出层位)")
     private String preservedLayer;
 
-    @ExcelProperty(value = "保存类型(原石、光片、薄片、切片、模型及其他等)", converter = DictConvert.class)
-    @DictFormat(DictTypeConstants.MUSEUMS_SPECIMEN_INFO)
-    private Integer preservationType;
-
-    @ExcelProperty("分类(矿物的类型/岩石的类型/陨石的类型)")
+    @ExcelProperty("分类(矿物的类型/岩石的类型/化石的类型/陨石的类型)")
     private String meteoriteType;
 
     @ExcelProperty("国际命名")
@@ -75,32 +88,37 @@ public class SpecimenImportExcelVO {
     @ExcelProperty("降落时间")
     private String fallTime;
 
-    @ExcelProperty(value = "来源(采购、捐赠、采集等)", converter = DictConvert.class)
+    @ExcelProperty(value = "来源(采购/捐赠/采集)", converter = DictConvert.class)
     @DictFormat(DictTypeConstants.MUSEUMS_SOURCE)
     private Integer source;
 
     @ExcelProperty("标本提供者")
     private String provider;
 
-    @ExcelProperty("标本价格")
+    @ExcelProperty("单价")
     private BigDecimal specimenPrice;
 
     @ExcelProperty("入藏时间")
     private String acquisitionTime;
 
-    @ExcelProperty("用途")
-    private String purpose;
+    //主要用途(工业原料/药用/建材/科学研究/观赏/其它)
+    @ExcelProperty(value = "主要用途(工业原料/药用/建材/科学研究/观赏/其它)", converter = DictConvert.class)
+    @DictFormat(DictTypeConstants.MUSEUMS_SPECIMEN_MAIN_USES)
+    private Integer mainPurpose;
 
-    @ExcelProperty("描述")
-    private String description;
+    @ExcelProperty("具体用途")
+    private String purpose;
 
     @ExcelProperty(value = "馆藏状态(在馆/展陈/借出)", converter = DictConvert.class)
     @DictFormat(DictTypeConstants.MUSEUMS_COLLECTION_STATUS)
     private Integer collectionStatus;
 
+    @ExcelProperty("图片资料(图件名称)")
+    private String imageName;
+
+    @ExcelProperty("文献资料")
+    private String description;
+
     @ExcelProperty("备注")
     private String notes;
-
-    @ExcelProperty("图片名称")
-    private String imageName;
 }

+ 12 - 0
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoExportReqVO.java

@@ -115,4 +115,16 @@ public class SpecimenInfoExportReqVO extends PageParam {
 
     @Schema(description = "标本价格")
     private String specimenPrice;
+
+    @Schema(description = "主要用途(工业原料/药用/建材/科学研究/观赏/其它)", example = "1")
+    private Integer mainPurpose;
+
+    @Schema(description = "保存状态(完整/受损/严重受损/无实物)", example = "1")
+    private Integer saveStatus;
+
+    @Schema(description = "省")
+    private String economize;
+
+    @Schema(description = "国家")
+    private String country;
 }

+ 12 - 0
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoExportRespVO.java

@@ -152,4 +152,16 @@ public class SpecimenInfoExportRespVO {
     @ExcelProperty("标本价格")
     private String specimenPrice;
 
+    @Schema(description = "主要用途(工业原料/药用/建材/科学研究/观赏/其它)", example = "1")
+    private Integer mainPurpose;
+
+    @Schema(description = "保存状态(完整/受损/严重受损/无实物)", example = "1")
+    private Integer saveStatus;
+
+    @Schema(description = "省")
+    private String economize;
+
+    @Schema(description = "国家")
+    private String country;
+
 }

+ 12 - 0
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoPageReqVO.java

@@ -116,4 +116,16 @@ public class SpecimenInfoPageReqVO extends PageParam {
 
     @Schema(description = "标本价格")
     private String specimenPrice;
+
+    @Schema(description = "主要用途(工业原料/药用/建材/科学研究/观赏/其它)", example = "1")
+    private Integer mainPurpose;
+
+    @Schema(description = "保存状态(完整/受损/严重受损/无实物)", example = "1")
+    private Integer saveStatus;
+
+    @Schema(description = "省")
+    private String economize;
+
+    @Schema(description = "国家")
+    private String country;
 }

+ 16 - 0
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoRespVO.java

@@ -152,4 +152,20 @@ public class SpecimenInfoRespVO {
     @ExcelProperty("标本价格")
     private String specimenPrice;
 
+    @Schema(description = "主要用途(工业原料/药用/建材/科学研究/观赏/其它)", example = "1")
+    @ExcelProperty("主要用途(工业原料/药用/建材/科学研究/观赏/其它)")
+    private Integer mainPurpose;
+
+    @Schema(description = "保存状态(完整/受损/严重受损/无实物)", example = "1")
+    @ExcelProperty("保存状态(完整/受损/严重受损/无实物)")
+    private Integer saveStatus;
+
+    @Schema(description = "省")
+    @ExcelProperty("省")
+    private String economize;
+
+    @Schema(description = "国家")
+    @ExcelProperty("国家")
+    private String country;
+
 }

+ 23 - 2
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenInfoSaveReqVO.java

@@ -27,6 +27,7 @@ public class SpecimenInfoSaveReqVO {
     private String specimenNumber;
 
     @Schema(description = "资产号")
+    @DiffLogField(name = "资产号")
     private String assetNumber;
 
     @Schema(description = "存放位置")
@@ -42,24 +43,31 @@ public class SpecimenInfoSaveReqVO {
     private String englishName;
 
     @Schema(description = "成分")
+    @DiffLogField(name = "成分")
     private String composition;
 
     @Schema(description = "产地")
+    @DiffLogField(name = "产地")
     private String origin;
 
     @Schema(description = "时代")
+    @DiffLogField(name = "时代")
     private String era;
 
     @Schema(description = "保存地层")
+    @DiffLogField(name = "保存地层")
     private String preservedLayer;
 
     @Schema(description = "陨石类型", example = "2")
+    @DiffLogField(name = "陨石类型")
     private String meteoriteType;
 
     @Schema(description = "国际命名", example = "王五")
+    @DiffLogField(name = "国际命名")
     private String internationalName;
 
     @Schema(description = "保存类型(标本、光片、薄片模型及其他)", example = "1")
+    @DiffLogField(name = "保存类型")
     private Integer preservationType;
 
     @Schema(description = "尺寸")
@@ -74,10 +82,10 @@ public class SpecimenInfoSaveReqVO {
     @Schema(description = "标本提供者(供应商、捐赠人、采集人)")
     private String provider;
 
-    @Schema(description = "用途")
+    @Schema(description = "具体用途")
     private String purpose;
 
-    @Schema(description = "描述", example = "黑红色陨石")
+    @Schema(description = "文献资料")
     private String description;
 
     @Schema(description = "馆藏状态(在馆、借出、展陈)", example = "2")
@@ -117,6 +125,19 @@ public class SpecimenInfoSaveReqVO {
     private String specimenAmount;
 
     @Schema(description = "标本价格")
+    @DiffLogField(name = "标本价格")
     private String specimenPrice;
 
+    @Schema(description = "主要用途(工业原料/药用/建材/科学研究/观赏/其它)", example = "1")
+    private Integer mainPurpose;
+
+    @Schema(description = "保存状态(完整/受损/严重受损/无实物)", example = "1")
+    @DiffLogField(name = "保存状态")
+    private Integer saveStatus;
+
+    @Schema(description = "省")
+    private String economize;
+
+    @Schema(description = "国家")
+    private String country;
 }

+ 20 - 1
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimeninfo/vo/SpecimenOutboundFormRespVO.java

@@ -1,5 +1,9 @@
 package cn.iocoder.yudao.module.museums.controller.admin.specimeninfo.vo;
 
+import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
+import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
+import cn.iocoder.yudao.module.museums.enums.DictTypeConstants;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.mzt.logapi.starter.annotation.DiffLogField;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -32,6 +36,9 @@ public class SpecimenOutboundFormRespVO {
     @Schema(description = "保存类型(标本、光片、薄片模型及其他)", example = "1")
     private Integer preservationType;
 
+    @Schema(description = "保存状态(完整/受损/严重受损/无实物)", example = "1")
+    private Integer saveStatus;
+
     @Schema(description = "重量")
     private String weight;
 
@@ -44,6 +51,18 @@ public class SpecimenOutboundFormRespVO {
     @Schema(description = "图片路径")
     private String imagePath;
 
-    @Schema(description = "标本数量")
+    @Schema(description = "数量(件/套)")
     private Integer specimenAmount;
+
+    @Schema(description = "规格(cm)")
+    private String size;
+
+    @Schema(description = "主要用途(工业原料/药用/建材/科学研究/观赏/其它)", example = "1")
+    private Integer mainPurpose;
+
+    @Schema(description = "馆藏状态(在馆/展陈/借出)")
+    private Integer collectionStatus;
+
+    @Schema(description = "具体用途")
+    private String purpose;
 }

+ 24 - 9
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/dal/dataobject/specimeninfo/SpecimenInfoDO.java

@@ -1,9 +1,6 @@
 package cn.iocoder.yudao.module.museums.dal.dataobject.specimeninfo;
 
-import cn.iocoder.yudao.module.museums.enums.common.CollectionStatusEnum;
-import cn.iocoder.yudao.module.museums.enums.common.PreservationTypeEnum;
-import cn.iocoder.yudao.module.museums.enums.common.SourceEnum;
-import cn.iocoder.yudao.module.museums.enums.common.SpecimenTypeEnum;
+import cn.iocoder.yudao.module.museums.enums.common.*;
 import lombok.*;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
@@ -86,17 +83,17 @@ public class SpecimenInfoDO extends BaseDO {
      */
     private String internationalName;
     /**
-     * 保存类型(标本、光片、薄片模型及其他)
+     * 保存类型(标本/原石/光片/薄片/切片/模型及其他)
      *
      * 枚举 {@link PreservationTypeEnum}
      */
     private Integer preservationType;
     /**
-     * 尺寸
+     * 规格(cm)
      */
     private String size;
     /**
-     * 重量
+     * 重量(g)
      */
     private String weight;
     /**
@@ -114,7 +111,7 @@ public class SpecimenInfoDO extends BaseDO {
      */
     private String purpose;
     /**
-     * 描述
+     * 文献资料
      */
     private String description;
     /**
@@ -168,8 +165,26 @@ public class SpecimenInfoDO extends BaseDO {
      */
     private BigDecimal specimenPrice;
     /**
-     * 新加的
+     * 保存状态(完整/受损/严重受损/无实物)
+     *
+     * 枚举 {@link SaveStatusEnum}
+     */
+    private Integer saveStatus;
+    /**
+     * 省
+     */
+    private String economize;
+    /**
+     * 国家
      */
+    private String country;
+    /**
+     * 主要用途(工业原料/药用/建材/科学研究/观赏/其它)
+     *
+     * 枚举 {@link MainPurposeEnum}
+     */
+    private Integer mainPurpose;
+
     /**
      * 申请人或申请单位
      */

+ 1 - 1
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/dal/mysql/specimeninfo/SpecimenInfoMapper.java

@@ -135,7 +135,7 @@ public interface SpecimenInfoMapper extends BaseMapperX<SpecimenInfoDO> {
 
     @Select("SELECT YEAR(create_time) AS year, source, COUNT(*) AS count " +
             "FROM museums_specimen_info " +
-            "GROUP BY YEAR(create_time), source")
+            "GROUP BY YEAR(acquisition_time), source")
     List<Map<String, Object>> getYearlySourceStatistics();