fix:申请过和非申请的溶液配置
This commit is contained in:
@@ -77,4 +77,11 @@ public interface DeviceProductService {
|
|||||||
*/
|
*/
|
||||||
PageResult<DeviceProductDO> getDeviceProductPage(DeviceProductPageReqVO pageReqVO);
|
PageResult<DeviceProductDO> getDeviceProductPage(DeviceProductPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据分类名获取设备大类
|
||||||
|
*
|
||||||
|
* @param deviceCategoryName 分类名称
|
||||||
|
* @return 设备大类列表
|
||||||
|
*/
|
||||||
|
List<DeviceProductDO> getDeviceProductByCategoryName(String deviceCategoryName);
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.zt.plat.module.qms.resource.device.service;
|
package com.zt.plat.module.qms.resource.device.service;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.zt.plat.framework.common.exception.ServiceException;
|
import com.zt.plat.framework.common.exception.ServiceException;
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
import com.zt.plat.framework.common.pojo.PageResult;
|
||||||
@@ -210,6 +211,19 @@ public class DeviceProductServiceImpl implements DeviceProductService {
|
|||||||
return deviceProductMapper.selectPage(pageReqVO);
|
return deviceProductMapper.selectPage(pageReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DeviceProductDO> getDeviceProductByCategoryName(String deviceCategoryName) {
|
||||||
|
List<DeviceProductDO> category = deviceProductMapper.selectList(Wrappers.lambdaQuery(DeviceProductDO.class)
|
||||||
|
.eq(DeviceProductDO::getNodeType, DataTypeConstant.DATA_TYPE_CATEGORY)
|
||||||
|
.eq(DeviceProductDO::getName, deviceCategoryName)
|
||||||
|
.last("limit 1"));
|
||||||
|
if (CollUtil.isEmpty(category)) return List.of();
|
||||||
|
|
||||||
|
return deviceProductMapper.selectList(Wrappers.lambdaQuery(DeviceProductDO.class)
|
||||||
|
.like(DeviceProductDO::getIdPath, "/" + category.get(0).getId() + "/")
|
||||||
|
.eq(DeviceProductDO::getNodeType, DataTypeConstant.DATA_TYPE_DATA));
|
||||||
|
}
|
||||||
|
|
||||||
private String getIdPath(DeviceProductDO entity){
|
private String getIdPath(DeviceProductDO entity){
|
||||||
String parIdPath = "";
|
String parIdPath = "";
|
||||||
if(ObjectUtils.isEmpty(entity.getParentId()) || 0L == entity.getParentId())
|
if(ObjectUtils.isEmpty(entity.getParentId()) || 0L == entity.getParentId())
|
||||||
|
|||||||
@@ -6,4 +6,10 @@ package com.zt.plat.module.qms.resource.material.constant;
|
|||||||
public class MaterialConstants {
|
public class MaterialConstants {
|
||||||
// 字典 类型
|
// 字典 类型
|
||||||
public static final String DICT_MATERIAL_FLOW_TYPE = "jy_material_lifecycle_bsn_type";
|
public static final String DICT_MATERIAL_FLOW_TYPE = "jy_material_lifecycle_bsn_type";
|
||||||
|
|
||||||
|
// 序列号
|
||||||
|
public static final String SEQUENCE_INF_KEY = "QMS_MATERIAL_INF_NO";
|
||||||
|
|
||||||
|
// 外部模块
|
||||||
|
public static final String DEVICE_BURETTE_CATEGORY_NAME = "滴定管";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
package com.zt.plat.module.qms.resource.material.controller.admin;
|
|
||||||
|
|
||||||
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
|
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
|
||||||
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
|
|
||||||
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductPageReqVO;
|
|
||||||
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialProductRespVO;
|
|
||||||
import com.zt.plat.module.qms.resource.material.service.MaterialProductService;
|
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
||||||
import jakarta.validation.Valid;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 物料库存")
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/qms/resource/material-inventory")
|
|
||||||
@Validated
|
|
||||||
@DeptDataPermissionIgnore(enable = "true")
|
|
||||||
public class MaterialInventoryController implements BusinessControllerMarker {
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private MaterialProductService materialProductService;
|
|
||||||
|
|
||||||
@GetMapping("/page")
|
|
||||||
@Operation(summary = "获得物料大类分页")
|
|
||||||
public CommonResult<PageResult<MaterialProductRespVO>> getMaterialInventoryPage(@Valid MaterialProductPageReqVO pageReqVO) {
|
|
||||||
// 需要库存数量和预警信息
|
|
||||||
PageResult<MaterialProductRespVO> pageResult = materialProductService.getMaterialInventoryPage(pageReqVO);
|
|
||||||
return success(pageResult);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -97,9 +97,9 @@ public class MaterialLifecycleController extends AbstractFileUploadController im
|
|||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
@Operation(summary = "获得物料流程分页")
|
@Operation(summary = "获得物料流程分页")
|
||||||
// @PreAuthorize("@ss.hasPermission('qms:material-lifecycle:query')")
|
// @PreAuthorize("@ss.hasPermission('qms:material-lifecycle:query')")
|
||||||
public CommonResult<PageResult<MaterialLifecycleRespVO>> getMaterialLifecyclePage(@Valid MaterialLifecyclePageReqVO pageReqVO) {
|
public CommonResult<PageResult<MaterialLifecycleRespVO>> getMaterialLifecycleRespVOPage(@Valid MaterialLifecyclePageReqVO pageReqVO) {
|
||||||
PageResult<MaterialLifecycleDO> pageResult = materialLifecycleService.getMaterialLifecyclePage(pageReqVO);
|
PageResult<MaterialLifecycleRespVO> pageResult = materialLifecycleService.getMaterialLifecycleRespVOPage(pageReqVO);
|
||||||
return success(BeanUtils.toBean(pageResult, MaterialLifecycleRespVO.class));
|
return success(pageResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/submit")
|
@PutMapping("/submit")
|
||||||
|
|||||||
@@ -88,6 +88,14 @@ public class MaterialProductController extends AbstractFileUploadController impl
|
|||||||
return success(BeanUtils.toBean(pageResult, MaterialProductRespVO.class));
|
return success(BeanUtils.toBean(pageResult, MaterialProductRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/inventory-page")
|
||||||
|
@Operation(summary = "库存管理页面物料大类分页")
|
||||||
|
public CommonResult<PageResult<MaterialProductRespVO>> getMaterialInventoryPage(@Valid MaterialProductPageReqVO pageReqVO) {
|
||||||
|
// 需要库存数量和预警信息
|
||||||
|
PageResult<MaterialProductRespVO> pageResult = materialProductService.getMaterialInventoryPage(pageReqVO);
|
||||||
|
return success(pageResult);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("category-data")
|
@GetMapping("category-data")
|
||||||
@Operation(summary = "获得物料分类和大类")
|
@Operation(summary = "获得物料分类和大类")
|
||||||
public CommonResult<List<MaterialProductRespVO>> getCategoryAndData(@Valid MaterialProductQueryVO queryVO) {
|
public CommonResult<List<MaterialProductRespVO>> getCategoryAndData(@Valid MaterialProductQueryVO queryVO) {
|
||||||
|
|||||||
@@ -10,11 +10,17 @@ import com.zt.plat.framework.common.pojo.PageResult;
|
|||||||
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
|
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
|
||||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||||
import com.zt.plat.framework.excel.core.util.ExcelUtils;
|
import com.zt.plat.framework.excel.core.util.ExcelUtils;
|
||||||
|
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductPageReqVO;
|
||||||
|
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceProductRespVO;
|
||||||
|
import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceProductDO;
|
||||||
|
import com.zt.plat.module.qms.resource.material.controller.vo.DeviceProductWithInfomationsRespVO;
|
||||||
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialStandardSolutionPageReqVO;
|
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialStandardSolutionPageReqVO;
|
||||||
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialStandardSolutionRespVO;
|
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialStandardSolutionRespVO;
|
||||||
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialStandardSolutionSaveReqVO;
|
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialStandardSolutionSaveReqVO;
|
||||||
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialStandardSolutionDO;
|
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialStandardSolutionDO;
|
||||||
import com.zt.plat.module.qms.resource.material.service.MaterialStandardSolutionService;
|
import com.zt.plat.module.qms.resource.material.service.MaterialStandardSolutionService;
|
||||||
|
import com.zt.plat.module.qms.resource.material.valid.AddGroup;
|
||||||
|
import com.zt.plat.module.qms.resource.material.valid.UpdateGroup;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@@ -51,14 +57,14 @@ public class MaterialStandardSolutionController extends AbstractFileUploadContro
|
|||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Operation(summary = "新建配置")
|
@Operation(summary = "新建配置")
|
||||||
// @PreAuthorize("@ss.hasPermission('qms:material-standard-solution:create')")
|
// @PreAuthorize("@ss.hasPermission('qms:material-standard-solution:create')")
|
||||||
public CommonResult<MaterialStandardSolutionRespVO> createMaterialStandardSolution(@Valid @RequestBody MaterialStandardSolutionSaveReqVO createReqVO) {
|
public CommonResult<MaterialStandardSolutionRespVO> createMaterialStandardSolution(@Validated(AddGroup.class) @RequestBody MaterialStandardSolutionSaveReqVO createReqVO) {
|
||||||
return success(materialStandardSolutionService.createMaterialStandardSolution(createReqVO));
|
return success(materialStandardSolutionService.createMaterialStandardSolution(createReqVO));
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
@Operation(summary = "更新标液,标准溶液,包含配置信息")
|
@Operation(summary = "更新标液,包含配置信息")
|
||||||
// @PreAuthorize("@ss.hasPermission('qms:material-standard-solution:update')")
|
// @PreAuthorize("@ss.hasPermission('qms:material-standard-solution:update')")
|
||||||
public CommonResult<Boolean> updateMaterialStandardSolution(@Valid @RequestBody MaterialStandardSolutionSaveReqVO updateReqVO) {
|
public CommonResult<Boolean> updateMaterialStandardSolution(@Validated(UpdateGroup.class) @RequestBody MaterialStandardSolutionSaveReqVO updateReqVO) {
|
||||||
materialStandardSolutionService.updateMaterialStandardSolution(updateReqVO);
|
materialStandardSolutionService.updateMaterialStandardSolution(updateReqVO);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
@@ -75,7 +81,7 @@ public class MaterialStandardSolutionController extends AbstractFileUploadContro
|
|||||||
@DeleteMapping("/delete-list")
|
@DeleteMapping("/delete-list")
|
||||||
@Parameter(name = "ids", description = "编号", required = true)
|
@Parameter(name = "ids", description = "编号", required = true)
|
||||||
@Operation(summary = "批量删除标液,标准溶液,包含配置信息")
|
@Operation(summary = "批量删除标液,标准溶液,包含配置信息")
|
||||||
// @PreAuthorize("@ss.hasPermission('qms:material-standard-solution:delete')")
|
@PreAuthorize("@ss.hasPermission('qms:material-standard-solution:delete')")
|
||||||
public CommonResult<Boolean> deleteMaterialStandardSolutionList(@RequestBody BatchDeleteReqVO req) {
|
public CommonResult<Boolean> deleteMaterialStandardSolutionList(@RequestBody BatchDeleteReqVO req) {
|
||||||
materialStandardSolutionService.deleteMaterialStandardSolutionListByIds(req.getIds());
|
materialStandardSolutionService.deleteMaterialStandardSolutionListByIds(req.getIds());
|
||||||
return success(true);
|
return success(true);
|
||||||
@@ -85,9 +91,9 @@ public class MaterialStandardSolutionController extends AbstractFileUploadContro
|
|||||||
@Operation(summary = "获得标液,标准溶液,包含配置信息")
|
@Operation(summary = "获得标液,标准溶液,包含配置信息")
|
||||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
// @PreAuthorize("@ss.hasPermission('qms:material-standard-solution:query')")
|
// @PreAuthorize("@ss.hasPermission('qms:material-standard-solution:query')")
|
||||||
public CommonResult<MaterialStandardSolutionRespVO> getMaterialStandardSolution(@RequestParam("id") Long id) {
|
public CommonResult<MaterialStandardSolutionRespVO> getStandardSolutionWithMaterialInfo(@RequestParam("id") Long id) {
|
||||||
MaterialStandardSolutionDO materialStandardSolution = materialStandardSolutionService.getMaterialStandardSolution(id);
|
MaterialStandardSolutionRespVO solutionRespVO = materialStandardSolutionService.getStandardSolutionWithMaterialInfo(id);
|
||||||
return success(BeanUtils.toBean(materialStandardSolution, MaterialStandardSolutionRespVO.class));
|
return success(solutionRespVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
@@ -98,6 +104,14 @@ public class MaterialStandardSolutionController extends AbstractFileUploadContro
|
|||||||
return success(pageResult);
|
return success(pageResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/device-burette-list")
|
||||||
|
@Operation(summary = "获取设备滴定管")
|
||||||
|
public CommonResult<List<DeviceProductWithInfomationsRespVO>> getDeviceBuretteProductWithInfomationList() {
|
||||||
|
List<DeviceProductWithInfomationsRespVO> deviceProductRespVOS = materialStandardSolutionService.getDeviceBuretteProductWithInfomationList();
|
||||||
|
return success(deviceProductRespVOS);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/export-excel")
|
@GetMapping("/export-excel")
|
||||||
@Operation(summary = "导出标液,标准溶液,包含配置信息 Excel")
|
@Operation(summary = "导出标液,标准溶液,包含配置信息 Excel")
|
||||||
@PreAuthorize("@ss.hasPermission('qms:material-standard-solution:export')")
|
@PreAuthorize("@ss.hasPermission('qms:material-standard-solution:export')")
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
package com.zt.plat.module.qms.resource.material.controller.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 设备-设备信息 Response VO")
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class DeviceInfomationRespVOBySol {
|
||||||
|
|
||||||
|
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32125")
|
||||||
|
@ExcelProperty("主键")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Schema(description = "设备大类id", example = "32101")
|
||||||
|
@ExcelProperty("设备大类id")
|
||||||
|
private Long productId;
|
||||||
|
|
||||||
|
@Schema(description = "设备名称", example = "张三")
|
||||||
|
@ExcelProperty("设备名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@Schema(description = "设备状态", example = "2")
|
||||||
|
@ExcelProperty("设备状态")
|
||||||
|
private String deviceStatus;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "数量")
|
||||||
|
@ExcelProperty("数量")
|
||||||
|
private String deviceNumber;
|
||||||
|
|
||||||
|
@Schema(description = "管理编号")
|
||||||
|
@ExcelProperty("管理编号")
|
||||||
|
private String deviceCode;
|
||||||
|
|
||||||
|
@Schema(description = "资产编号")
|
||||||
|
@ExcelProperty("资产编号")
|
||||||
|
private String assetCode;
|
||||||
|
|
||||||
|
@Schema(description = "出厂编号")
|
||||||
|
@ExcelProperty("出厂编号")
|
||||||
|
private String factoryCode;
|
||||||
|
|
||||||
|
@Schema(description = "存放位置")
|
||||||
|
@ExcelProperty("存放位置")
|
||||||
|
private String position;
|
||||||
|
|
||||||
|
@Schema(description = "备注")
|
||||||
|
@ExcelProperty("备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@Schema(description = "创建时间")
|
||||||
|
@ExcelProperty("创建时间")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package com.zt.plat.module.qms.resource.material.controller.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.zt.plat.module.qms.resource.device.controller.vo.DeviceInfomationRespVO;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 设备-设备大类 Response VO")
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class DeviceProductWithInfomationsRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2648")
|
||||||
|
@ExcelProperty("主键")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Schema(description = "父ID", example = "5458")
|
||||||
|
@ExcelProperty("父ID")
|
||||||
|
private Long parentId;
|
||||||
|
|
||||||
|
@Schema(description = "id路径")
|
||||||
|
@ExcelProperty("id路径")
|
||||||
|
private String idPath;
|
||||||
|
|
||||||
|
@Schema(description = "节点类型,分类|大类", example = "1")
|
||||||
|
@ExcelProperty("节点类型,分类|大类")
|
||||||
|
private String nodeType;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "名称", example = "王五")
|
||||||
|
@ExcelProperty("名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@Schema(description = "型号")
|
||||||
|
@ExcelProperty("型号")
|
||||||
|
private String modelNo;
|
||||||
|
|
||||||
|
@Schema(description = "规格")
|
||||||
|
@ExcelProperty("规格")
|
||||||
|
private String specification;
|
||||||
|
|
||||||
|
@Schema(description = "技术指标")
|
||||||
|
@ExcelProperty("技术指标")
|
||||||
|
private String parameter;
|
||||||
|
|
||||||
|
@Schema(description = "设备实例列表")
|
||||||
|
private List<DeviceInfomationRespVOBySol> children;
|
||||||
|
}
|
||||||
@@ -132,10 +132,6 @@ public class MaterialInfomationRespVO {
|
|||||||
@ExcelProperty("配置日期")
|
@ExcelProperty("配置日期")
|
||||||
private LocalDateTime makeDate;
|
private LocalDateTime makeDate;
|
||||||
|
|
||||||
@Schema(description = "到期日期")
|
|
||||||
@ExcelProperty("到期日期")
|
|
||||||
private LocalDateTime dueDate;
|
|
||||||
|
|
||||||
@Schema(description = "浓度")
|
@Schema(description = "浓度")
|
||||||
@ExcelProperty("浓度")
|
@ExcelProperty("浓度")
|
||||||
private String concentration;
|
private String concentration;
|
||||||
@@ -160,6 +156,10 @@ public class MaterialInfomationRespVO {
|
|||||||
@ExcelProperty("开封日期")
|
@ExcelProperty("开封日期")
|
||||||
private LocalDateTime openDate;
|
private LocalDateTime openDate;
|
||||||
|
|
||||||
|
@Schema(description = "生产日期")
|
||||||
|
@ExcelProperty("生产日期")
|
||||||
|
private LocalDate manufacturerDate;
|
||||||
|
|
||||||
@Schema(description = "到期日期")
|
@Schema(description = "到期日期")
|
||||||
@ExcelProperty("到期日期")
|
@ExcelProperty("到期日期")
|
||||||
private LocalDate expirationDate;
|
private LocalDate expirationDate;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user