diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java new file mode 100644 index 0000000..ea14482 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class MeterEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * ABC + */ + @ExcelProperty("ABC") + @ApiModelProperty(value = "ABC", dataType = "String", required = false) + private String abc; + + /** + * 检定方式名称 + */ + @ExcelProperty("检定方式") + @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false) + private String mesureTypeName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java new file mode 100644 index 0000000..ea14482 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class MeterEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * ABC + */ + @ExcelProperty("ABC") + @ApiModelProperty(value = "ABC", dataType = "String", required = false) + private String abc; + + /** + * 检定方式名称 + */ + @ExcelProperty("检定方式") + @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false) + private String mesureTypeName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java new file mode 100644 index 0000000..51956ff --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java @@ -0,0 +1,91 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + *

+ * 固定资产-文件表 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Getter +@Setter +@TableName("meter_fixed_asset_file") +public class MeterFixedAssetFile implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) + private Long id; + + /** + * 固定资产id + */ + @TableField("asset_id") + @ApiModelProperty(value = "固定资产id", dataType = "Long", required = true) + private Long assetId; + + /** + * 文件名 + */ + @ApiModelProperty(value = "文件名", dataType = "String", required = true) + @TableField("file_name") + private String fileName; + + /** + * minio存储文件名 + */ + @TableField("minio_file_name") + @ApiModelProperty(value = "minio存储文件名", dataType = "String", required = true) + private String minioFileName; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "Long", required = false) + private Long createUser; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer", required = false) + private Integer isDel; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String", required = false) + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String", required = false) + private String updateTime; + + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java new file mode 100644 index 0000000..ea14482 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class MeterEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * ABC + */ + @ExcelProperty("ABC") + @ApiModelProperty(value = "ABC", dataType = "String", required = false) + private String abc; + + /** + * 检定方式名称 + */ + @ExcelProperty("检定方式") + @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false) + private String mesureTypeName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java new file mode 100644 index 0000000..51956ff --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java @@ -0,0 +1,91 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + *

+ * 固定资产-文件表 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Getter +@Setter +@TableName("meter_fixed_asset_file") +public class MeterFixedAssetFile implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) + private Long id; + + /** + * 固定资产id + */ + @TableField("asset_id") + @ApiModelProperty(value = "固定资产id", dataType = "Long", required = true) + private Long assetId; + + /** + * 文件名 + */ + @ApiModelProperty(value = "文件名", dataType = "String", required = true) + @TableField("file_name") + private String fileName; + + /** + * minio存储文件名 + */ + @TableField("minio_file_name") + @ApiModelProperty(value = "minio存储文件名", dataType = "String", required = true) + private String minioFileName; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "Long", required = false) + private Long createUser; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer", required = false) + private Integer isDel; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String", required = false) + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String", required = false) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java index 5c0fb5e..0259f65 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java @@ -1,6 +1,7 @@ package com.casic.missiles.model; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -19,6 +20,7 @@ import javax.validation.constraints.NotNull; import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; /** *

@@ -50,6 +52,7 @@ /** * 资产编号 */ + @ExcelProperty("固定资产编号") @TableField("asset_no") @ApiModelProperty(value = "资产编号", dataType = "String", required = true) private String assetNo; @@ -73,6 +76,7 @@ /** * 设备名称 */ + @ExcelProperty("设备名称") @NotBlank(message = "设备名称不能为空") @TableField("equipment_name") @ApiModelProperty(value = "设备名称", dataType = "String", required = true) @@ -86,6 +90,15 @@ private String equipmentNo; /** + * 型号 + */ + @ExcelProperty("型号") + @NotBlank(message = "型号不能为空") + @TableField("model_no") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** * 是否加入固定资产台账 */ @TableField("is_fixed_assets") @@ -122,13 +135,6 @@ @ApiModelProperty(value = "出厂年月", dataType = "String", required = false) private String manufacturingDate; - /** - * 型号 - */ - @NotBlank(message = "型号不能为空") - @TableField("model_no") - @ApiModelProperty(value = "型号", dataType = "String", required = true) - private String modelNo; /** * 管理状态-字典code @@ -214,13 +220,6 @@ private String uncertainty; /** - * 使用部门 - */ - @TableField("use_dept") - @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) - private Long useDept; - - /** * 使用人 */ @TableField("use_person") @@ -228,6 +227,13 @@ private Long usePerson; /** + * 使用人名称 + */ + @TableField("use_person") + @ApiModelProperty(value = "使用人", dataType = "Long", required = false) + private String usePersonName; + + /** * 专业分类-字典code */ @TableField("major_category") @@ -306,6 +312,7 @@ /** * 设备规格 */ + @ExcelProperty("设备规格") @TableField("equipment_specifications") @ApiModelProperty(value = "设备规格", dataType = "String", required = false) private String equipmentSpecifications; @@ -320,6 +327,7 @@ /** * 设备类别名称 */ + @ExcelProperty("设备类别") @TableField(exist = false) @ApiModelProperty(value = "设备类别名称", dataType = "String", required = false) private String equipmentCategoryName; @@ -334,6 +342,7 @@ /** * 设备类型名称 */ + @ExcelProperty("设备类型") @TableField(exist = false) @ApiModelProperty(value = "设备类型名称", dataType = "String", required = false) private String equipmentTypeName; @@ -353,6 +362,14 @@ private String capitalSourceName; /** + * 用途 + */ + @ExcelProperty("用途") + @TableField("purpose") + @ApiModelProperty(value = "用途", dataType = "String", required = false) + private String purpose; + + /** * 管理级别-字典code */ @TableField("manager_level") @@ -362,16 +379,25 @@ /** * 管理级别名称 */ + @ExcelProperty("管理级别") @TableField(exist = false) @ApiModelProperty(value = "管理级别名称", dataType = "String", required = false) private String managerLevelName; /** - * 用途 + * 使用部门 */ - @TableField("purpose") - @ApiModelProperty(value = "用途", dataType = "String", required = false) - private String purpose; + @TableField("use_dept") + @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) + private Long useDept; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; /** * 技术水平 @@ -471,13 +497,6 @@ private Integer version; /** - * 备注 - */ - @TableField("remark") - @ApiModelProperty(value = "备注", dataType = "String", required = false) - private String remark; - - /** * 创建人 */ @TableField("create_user") @@ -494,15 +513,30 @@ /** * 创建时间 */ + @ExcelProperty("创建时间") @TableField("create_time") @ApiModelProperty(value = "创建时间", dataType = "String", required = false) private String createTime; /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** * 更新时间 */ @TableField("update_time") @ApiModelProperty(value = "更新时间", dataType = "String", required = false) private String updateTime; + /** + * 文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "文件集合", dataType = "List", required = false) + private List fileList; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java new file mode 100644 index 0000000..ea14482 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class MeterEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * ABC + */ + @ExcelProperty("ABC") + @ApiModelProperty(value = "ABC", dataType = "String", required = false) + private String abc; + + /** + * 检定方式名称 + */ + @ExcelProperty("检定方式") + @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false) + private String mesureTypeName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java new file mode 100644 index 0000000..51956ff --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java @@ -0,0 +1,91 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + *

+ * 固定资产-文件表 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Getter +@Setter +@TableName("meter_fixed_asset_file") +public class MeterFixedAssetFile implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) + private Long id; + + /** + * 固定资产id + */ + @TableField("asset_id") + @ApiModelProperty(value = "固定资产id", dataType = "Long", required = true) + private Long assetId; + + /** + * 文件名 + */ + @ApiModelProperty(value = "文件名", dataType = "String", required = true) + @TableField("file_name") + private String fileName; + + /** + * minio存储文件名 + */ + @TableField("minio_file_name") + @ApiModelProperty(value = "minio存储文件名", dataType = "String", required = true) + private String minioFileName; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "Long", required = false) + private Long createUser; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer", required = false) + private Integer isDel; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String", required = false) + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String", required = false) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java index 5c0fb5e..0259f65 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java @@ -1,6 +1,7 @@ package com.casic.missiles.model; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -19,6 +20,7 @@ import javax.validation.constraints.NotNull; import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; /** *

@@ -50,6 +52,7 @@ /** * 资产编号 */ + @ExcelProperty("固定资产编号") @TableField("asset_no") @ApiModelProperty(value = "资产编号", dataType = "String", required = true) private String assetNo; @@ -73,6 +76,7 @@ /** * 设备名称 */ + @ExcelProperty("设备名称") @NotBlank(message = "设备名称不能为空") @TableField("equipment_name") @ApiModelProperty(value = "设备名称", dataType = "String", required = true) @@ -86,6 +90,15 @@ private String equipmentNo; /** + * 型号 + */ + @ExcelProperty("型号") + @NotBlank(message = "型号不能为空") + @TableField("model_no") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** * 是否加入固定资产台账 */ @TableField("is_fixed_assets") @@ -122,13 +135,6 @@ @ApiModelProperty(value = "出厂年月", dataType = "String", required = false) private String manufacturingDate; - /** - * 型号 - */ - @NotBlank(message = "型号不能为空") - @TableField("model_no") - @ApiModelProperty(value = "型号", dataType = "String", required = true) - private String modelNo; /** * 管理状态-字典code @@ -214,13 +220,6 @@ private String uncertainty; /** - * 使用部门 - */ - @TableField("use_dept") - @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) - private Long useDept; - - /** * 使用人 */ @TableField("use_person") @@ -228,6 +227,13 @@ private Long usePerson; /** + * 使用人名称 + */ + @TableField("use_person") + @ApiModelProperty(value = "使用人", dataType = "Long", required = false) + private String usePersonName; + + /** * 专业分类-字典code */ @TableField("major_category") @@ -306,6 +312,7 @@ /** * 设备规格 */ + @ExcelProperty("设备规格") @TableField("equipment_specifications") @ApiModelProperty(value = "设备规格", dataType = "String", required = false) private String equipmentSpecifications; @@ -320,6 +327,7 @@ /** * 设备类别名称 */ + @ExcelProperty("设备类别") @TableField(exist = false) @ApiModelProperty(value = "设备类别名称", dataType = "String", required = false) private String equipmentCategoryName; @@ -334,6 +342,7 @@ /** * 设备类型名称 */ + @ExcelProperty("设备类型") @TableField(exist = false) @ApiModelProperty(value = "设备类型名称", dataType = "String", required = false) private String equipmentTypeName; @@ -353,6 +362,14 @@ private String capitalSourceName; /** + * 用途 + */ + @ExcelProperty("用途") + @TableField("purpose") + @ApiModelProperty(value = "用途", dataType = "String", required = false) + private String purpose; + + /** * 管理级别-字典code */ @TableField("manager_level") @@ -362,16 +379,25 @@ /** * 管理级别名称 */ + @ExcelProperty("管理级别") @TableField(exist = false) @ApiModelProperty(value = "管理级别名称", dataType = "String", required = false) private String managerLevelName; /** - * 用途 + * 使用部门 */ - @TableField("purpose") - @ApiModelProperty(value = "用途", dataType = "String", required = false) - private String purpose; + @TableField("use_dept") + @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) + private Long useDept; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; /** * 技术水平 @@ -471,13 +497,6 @@ private Integer version; /** - * 备注 - */ - @TableField("remark") - @ApiModelProperty(value = "备注", dataType = "String", required = false) - private String remark; - - /** * 创建人 */ @TableField("create_user") @@ -494,15 +513,30 @@ /** * 创建时间 */ + @ExcelProperty("创建时间") @TableField("create_time") @ApiModelProperty(value = "创建时间", dataType = "String", required = false) private String createTime; /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** * 更新时间 */ @TableField("update_time") @ApiModelProperty(value = "更新时间", dataType = "String", required = false) private String updateTime; + /** + * 文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "文件集合", dataType = "List", required = false) + private List fileList; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java new file mode 100644 index 0000000..6a90f87 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class StandardSupportEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * 所属标准装置编号 + */ + @ExcelProperty("所属标准装置编号") + @ApiModelProperty(value = "所属标准装置编号", dataType = "String", required = false) + private String standardEquipmentNo; + + /** + * 所属标准装置名称 + */ + @ExcelProperty("所属标准装置名称") + @ApiModelProperty(value = "所属标准装置名称", dataType = "String", required = false) + private String standardEquipmentName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用部门") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java new file mode 100644 index 0000000..ea14482 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class MeterEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * ABC + */ + @ExcelProperty("ABC") + @ApiModelProperty(value = "ABC", dataType = "String", required = false) + private String abc; + + /** + * 检定方式名称 + */ + @ExcelProperty("检定方式") + @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false) + private String mesureTypeName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java new file mode 100644 index 0000000..51956ff --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java @@ -0,0 +1,91 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + *

+ * 固定资产-文件表 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Getter +@Setter +@TableName("meter_fixed_asset_file") +public class MeterFixedAssetFile implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) + private Long id; + + /** + * 固定资产id + */ + @TableField("asset_id") + @ApiModelProperty(value = "固定资产id", dataType = "Long", required = true) + private Long assetId; + + /** + * 文件名 + */ + @ApiModelProperty(value = "文件名", dataType = "String", required = true) + @TableField("file_name") + private String fileName; + + /** + * minio存储文件名 + */ + @TableField("minio_file_name") + @ApiModelProperty(value = "minio存储文件名", dataType = "String", required = true) + private String minioFileName; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "Long", required = false) + private Long createUser; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer", required = false) + private Integer isDel; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String", required = false) + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String", required = false) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java index 5c0fb5e..0259f65 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java @@ -1,6 +1,7 @@ package com.casic.missiles.model; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -19,6 +20,7 @@ import javax.validation.constraints.NotNull; import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; /** *

@@ -50,6 +52,7 @@ /** * 资产编号 */ + @ExcelProperty("固定资产编号") @TableField("asset_no") @ApiModelProperty(value = "资产编号", dataType = "String", required = true) private String assetNo; @@ -73,6 +76,7 @@ /** * 设备名称 */ + @ExcelProperty("设备名称") @NotBlank(message = "设备名称不能为空") @TableField("equipment_name") @ApiModelProperty(value = "设备名称", dataType = "String", required = true) @@ -86,6 +90,15 @@ private String equipmentNo; /** + * 型号 + */ + @ExcelProperty("型号") + @NotBlank(message = "型号不能为空") + @TableField("model_no") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** * 是否加入固定资产台账 */ @TableField("is_fixed_assets") @@ -122,13 +135,6 @@ @ApiModelProperty(value = "出厂年月", dataType = "String", required = false) private String manufacturingDate; - /** - * 型号 - */ - @NotBlank(message = "型号不能为空") - @TableField("model_no") - @ApiModelProperty(value = "型号", dataType = "String", required = true) - private String modelNo; /** * 管理状态-字典code @@ -214,13 +220,6 @@ private String uncertainty; /** - * 使用部门 - */ - @TableField("use_dept") - @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) - private Long useDept; - - /** * 使用人 */ @TableField("use_person") @@ -228,6 +227,13 @@ private Long usePerson; /** + * 使用人名称 + */ + @TableField("use_person") + @ApiModelProperty(value = "使用人", dataType = "Long", required = false) + private String usePersonName; + + /** * 专业分类-字典code */ @TableField("major_category") @@ -306,6 +312,7 @@ /** * 设备规格 */ + @ExcelProperty("设备规格") @TableField("equipment_specifications") @ApiModelProperty(value = "设备规格", dataType = "String", required = false) private String equipmentSpecifications; @@ -320,6 +327,7 @@ /** * 设备类别名称 */ + @ExcelProperty("设备类别") @TableField(exist = false) @ApiModelProperty(value = "设备类别名称", dataType = "String", required = false) private String equipmentCategoryName; @@ -334,6 +342,7 @@ /** * 设备类型名称 */ + @ExcelProperty("设备类型") @TableField(exist = false) @ApiModelProperty(value = "设备类型名称", dataType = "String", required = false) private String equipmentTypeName; @@ -353,6 +362,14 @@ private String capitalSourceName; /** + * 用途 + */ + @ExcelProperty("用途") + @TableField("purpose") + @ApiModelProperty(value = "用途", dataType = "String", required = false) + private String purpose; + + /** * 管理级别-字典code */ @TableField("manager_level") @@ -362,16 +379,25 @@ /** * 管理级别名称 */ + @ExcelProperty("管理级别") @TableField(exist = false) @ApiModelProperty(value = "管理级别名称", dataType = "String", required = false) private String managerLevelName; /** - * 用途 + * 使用部门 */ - @TableField("purpose") - @ApiModelProperty(value = "用途", dataType = "String", required = false) - private String purpose; + @TableField("use_dept") + @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) + private Long useDept; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; /** * 技术水平 @@ -471,13 +497,6 @@ private Integer version; /** - * 备注 - */ - @TableField("remark") - @ApiModelProperty(value = "备注", dataType = "String", required = false) - private String remark; - - /** * 创建人 */ @TableField("create_user") @@ -494,15 +513,30 @@ /** * 创建时间 */ + @ExcelProperty("创建时间") @TableField("create_time") @ApiModelProperty(value = "创建时间", dataType = "String", required = false) private String createTime; /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** * 更新时间 */ @TableField("update_time") @ApiModelProperty(value = "更新时间", dataType = "String", required = false) private String updateTime; + /** + * 文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "文件集合", dataType = "List", required = false) + private List fileList; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java new file mode 100644 index 0000000..6a90f87 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class StandardSupportEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * 所属标准装置编号 + */ + @ExcelProperty("所属标准装置编号") + @ApiModelProperty(value = "所属标准装置编号", dataType = "String", required = false) + private String standardEquipmentNo; + + /** + * 所属标准装置名称 + */ + @ExcelProperty("所属标准装置名称") + @ApiModelProperty(value = "所属标准装置名称", dataType = "String", required = false) + private String standardEquipmentName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用部门") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java index f13d318..ce63e8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java @@ -6,6 +6,8 @@ import com.casic.missiles.dto.meter.FixedAssetRequest; import com.casic.missiles.model.MeterFixedAssets; +import java.util.List; + /** *

* 服务类 @@ -22,4 +24,9 @@ ReturnDTO deleteByFixedAssetId(Long id); ReturnDTO updateFixedAsset(MeterFixedAssets meterFixedAssets); + + List list(FixedAssetRequest request) throws Exception; + + ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception; + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java new file mode 100644 index 0000000..ea14482 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class MeterEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * ABC + */ + @ExcelProperty("ABC") + @ApiModelProperty(value = "ABC", dataType = "String", required = false) + private String abc; + + /** + * 检定方式名称 + */ + @ExcelProperty("检定方式") + @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false) + private String mesureTypeName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java new file mode 100644 index 0000000..51956ff --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java @@ -0,0 +1,91 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + *

+ * 固定资产-文件表 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Getter +@Setter +@TableName("meter_fixed_asset_file") +public class MeterFixedAssetFile implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) + private Long id; + + /** + * 固定资产id + */ + @TableField("asset_id") + @ApiModelProperty(value = "固定资产id", dataType = "Long", required = true) + private Long assetId; + + /** + * 文件名 + */ + @ApiModelProperty(value = "文件名", dataType = "String", required = true) + @TableField("file_name") + private String fileName; + + /** + * minio存储文件名 + */ + @TableField("minio_file_name") + @ApiModelProperty(value = "minio存储文件名", dataType = "String", required = true) + private String minioFileName; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "Long", required = false) + private Long createUser; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer", required = false) + private Integer isDel; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String", required = false) + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String", required = false) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java index 5c0fb5e..0259f65 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java @@ -1,6 +1,7 @@ package com.casic.missiles.model; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -19,6 +20,7 @@ import javax.validation.constraints.NotNull; import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; /** *

@@ -50,6 +52,7 @@ /** * 资产编号 */ + @ExcelProperty("固定资产编号") @TableField("asset_no") @ApiModelProperty(value = "资产编号", dataType = "String", required = true) private String assetNo; @@ -73,6 +76,7 @@ /** * 设备名称 */ + @ExcelProperty("设备名称") @NotBlank(message = "设备名称不能为空") @TableField("equipment_name") @ApiModelProperty(value = "设备名称", dataType = "String", required = true) @@ -86,6 +90,15 @@ private String equipmentNo; /** + * 型号 + */ + @ExcelProperty("型号") + @NotBlank(message = "型号不能为空") + @TableField("model_no") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** * 是否加入固定资产台账 */ @TableField("is_fixed_assets") @@ -122,13 +135,6 @@ @ApiModelProperty(value = "出厂年月", dataType = "String", required = false) private String manufacturingDate; - /** - * 型号 - */ - @NotBlank(message = "型号不能为空") - @TableField("model_no") - @ApiModelProperty(value = "型号", dataType = "String", required = true) - private String modelNo; /** * 管理状态-字典code @@ -214,13 +220,6 @@ private String uncertainty; /** - * 使用部门 - */ - @TableField("use_dept") - @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) - private Long useDept; - - /** * 使用人 */ @TableField("use_person") @@ -228,6 +227,13 @@ private Long usePerson; /** + * 使用人名称 + */ + @TableField("use_person") + @ApiModelProperty(value = "使用人", dataType = "Long", required = false) + private String usePersonName; + + /** * 专业分类-字典code */ @TableField("major_category") @@ -306,6 +312,7 @@ /** * 设备规格 */ + @ExcelProperty("设备规格") @TableField("equipment_specifications") @ApiModelProperty(value = "设备规格", dataType = "String", required = false) private String equipmentSpecifications; @@ -320,6 +327,7 @@ /** * 设备类别名称 */ + @ExcelProperty("设备类别") @TableField(exist = false) @ApiModelProperty(value = "设备类别名称", dataType = "String", required = false) private String equipmentCategoryName; @@ -334,6 +342,7 @@ /** * 设备类型名称 */ + @ExcelProperty("设备类型") @TableField(exist = false) @ApiModelProperty(value = "设备类型名称", dataType = "String", required = false) private String equipmentTypeName; @@ -353,6 +362,14 @@ private String capitalSourceName; /** + * 用途 + */ + @ExcelProperty("用途") + @TableField("purpose") + @ApiModelProperty(value = "用途", dataType = "String", required = false) + private String purpose; + + /** * 管理级别-字典code */ @TableField("manager_level") @@ -362,16 +379,25 @@ /** * 管理级别名称 */ + @ExcelProperty("管理级别") @TableField(exist = false) @ApiModelProperty(value = "管理级别名称", dataType = "String", required = false) private String managerLevelName; /** - * 用途 + * 使用部门 */ - @TableField("purpose") - @ApiModelProperty(value = "用途", dataType = "String", required = false) - private String purpose; + @TableField("use_dept") + @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) + private Long useDept; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; /** * 技术水平 @@ -471,13 +497,6 @@ private Integer version; /** - * 备注 - */ - @TableField("remark") - @ApiModelProperty(value = "备注", dataType = "String", required = false) - private String remark; - - /** * 创建人 */ @TableField("create_user") @@ -494,15 +513,30 @@ /** * 创建时间 */ + @ExcelProperty("创建时间") @TableField("create_time") @ApiModelProperty(value = "创建时间", dataType = "String", required = false) private String createTime; /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** * 更新时间 */ @TableField("update_time") @ApiModelProperty(value = "更新时间", dataType = "String", required = false) private String updateTime; + /** + * 文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "文件集合", dataType = "List", required = false) + private List fileList; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java new file mode 100644 index 0000000..6a90f87 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class StandardSupportEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * 所属标准装置编号 + */ + @ExcelProperty("所属标准装置编号") + @ApiModelProperty(value = "所属标准装置编号", dataType = "String", required = false) + private String standardEquipmentNo; + + /** + * 所属标准装置名称 + */ + @ExcelProperty("所属标准装置名称") + @ApiModelProperty(value = "所属标准装置名称", dataType = "String", required = false) + private String standardEquipmentName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用部门") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java index f13d318..ce63e8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java @@ -6,6 +6,8 @@ import com.casic.missiles.dto.meter.FixedAssetRequest; import com.casic.missiles.model.MeterFixedAssets; +import java.util.List; + /** *

* 服务类 @@ -22,4 +24,9 @@ ReturnDTO deleteByFixedAssetId(Long id); ReturnDTO updateFixedAsset(MeterFixedAssets meterFixedAssets); + + List list(FixedAssetRequest request) throws Exception; + + ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java index c9c5600..14126cb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java @@ -9,8 +9,11 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.meter.MeterFixedAssetFileMapper; +import com.casic.missiles.model.MeterFixedAssetFile; import com.casic.missiles.model.MeterFixedAssets; import com.casic.missiles.service.IMeterFixedAssetsService; +import com.casic.missiles.service.meter.IMeterFixedAssetFileService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.extern.slf4j.Slf4j; @@ -18,6 +21,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import java.io.Serializable; +import java.util.List; +import java.util.Set; /** *

@@ -34,6 +44,12 @@ @Autowired(required = false) private MeterFixedAssetsMapper meterFixedAssetsMapper; + @Autowired(required = false) + private MeterFixedAssetFileMapper meterFixedAssetFileMapper; + + @Autowired + private IMeterFixedAssetFileService meterFixedAssetFileService; + /** * 分页查询 * @param page @@ -52,6 +68,22 @@ return meterFixedAssetsPage; } + /** + * 固定资产列表 + * @param request + * @return + * @throws Exception + */ + @Override + public List list( FixedAssetRequest request) throws Exception { + QueryWrapper wrapper = getWrapper(request); + List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); + for (MeterFixedAssets meterFixedAssets:meterFixedAssetsList) { + DictCodeUtils.convertDictCodeToName(meterFixedAssets); + // 转换数据 部门id, 人员id + } + return meterFixedAssetsList; + } /** * 添加固定资产 @@ -75,23 +107,76 @@ meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); + // 插入文件列表 + batchSaveFile(meterFixedAssets); return ReturnUtil.success(); } /** + * 批量添加固定资产 + * @return + */ + @Override + @Transactional + public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { + //用于存储验证后的错误信息 + Long maxNo = meterFixedAssetsMapper.selectMaxNo(); + for (MeterFixedAssets item:meterFixedAssetsList) { + Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); + if (!CollectionUtils.isEmpty(validate)) { + return ReturnUtil.failed(validate.iterator().next().getMessage()); + } + DictCodeUtils.validDictCode(item); + //需要根据出厂编号判重 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(item.getManufacturingNo()), "manufacturing_no", item.getModelNo()); + MeterFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); + if (result != null) { + log.error("出厂编号:{},重复",result.getManufacturingNo()); + throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); + } + //生成资产编号 + String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + item.setAssetNo(asset_no); + item.setEquipmentNo(asset_no); + maxNo++; + } + super.saveBatch(meterFixedAssetsList); + return ReturnUtil.success(); + } + + + /** * 更新固定资产 * @param meterFixedAssets * @return */ + @Transactional @Override public ReturnDTO updateFixedAsset(MeterFixedAssets meterFixedAssets) { int updateFlag = meterFixedAssetsMapper.updateById(meterFixedAssets); + batchSaveFile(meterFixedAssets); if (updateFlag > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("更新失败"); } + + /** + * 获取资产详情 + * @param id + * @return + */ + @Override + public MeterFixedAssets getById(Serializable id) { + MeterFixedAssets meterFixedAssets = super.getById(id); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_id", id); + meterFixedAssets.setFileList(meterFixedAssetFileMapper.selectList(wrapper)); + return meterFixedAssets; + } + /** * 删除资产 * @param id @@ -106,6 +191,30 @@ return ReturnUtil.failed("删除失败"); } +// /** +// * 导出数据 +// */ +// public void exportExcel(FixedAssetRequest request, HttpServletResponse) { +// +// } + + /** + * + * @param meterFixedAssets + */ + public void batchSaveFile(MeterFixedAssets meterFixedAssets) { + if (!CollectionUtils.isEmpty(meterFixedAssets.getFileList())) { + // 删除老的文件,更新新的文件 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_id", meterFixedAssets.getId()); + meterFixedAssetFileMapper.delete(wrapper); + meterFixedAssets.getFileList().stream().forEach(item -> { + item.setAssetId(meterFixedAssets.getId()); + }); + meterFixedAssetFileService.saveBatch(meterFixedAssets.getFileList()); + } + } + /** * 转换字典code * @param request @@ -129,6 +238,10 @@ wrapper.eq(StringUtils.isNotEmpty(request.getManufacturingNo()), "manufacturing_no", request.getModelNo()); wrapper.eq("is_del", 0); wrapper.orderByDesc("create_time"); + wrapper.eq(request.getIsMeasureAccount() != null, "is_measure_account", request.getIsMeasureAccount()); + wrapper.eq(request.getIsStandardSupportEquipment() != null, "is_standard_support_equipment", request.getIsStandardSupportEquipment()); + wrapper.eq(request.getIsCalibrationTestEquipment() != null, "is_calibration_test_equipment", request.getIsCalibrationTestEquipment()); + wrapper.eq(request.getIsFixedAssets() != null, "is_fixed_assets", request.getIsFixedAssets()); return wrapper; } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java new file mode 100644 index 0000000..ea14482 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class MeterEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * ABC + */ + @ExcelProperty("ABC") + @ApiModelProperty(value = "ABC", dataType = "String", required = false) + private String abc; + + /** + * 检定方式名称 + */ + @ExcelProperty("检定方式") + @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false) + private String mesureTypeName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java new file mode 100644 index 0000000..51956ff --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java @@ -0,0 +1,91 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + *

+ * 固定资产-文件表 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Getter +@Setter +@TableName("meter_fixed_asset_file") +public class MeterFixedAssetFile implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) + private Long id; + + /** + * 固定资产id + */ + @TableField("asset_id") + @ApiModelProperty(value = "固定资产id", dataType = "Long", required = true) + private Long assetId; + + /** + * 文件名 + */ + @ApiModelProperty(value = "文件名", dataType = "String", required = true) + @TableField("file_name") + private String fileName; + + /** + * minio存储文件名 + */ + @TableField("minio_file_name") + @ApiModelProperty(value = "minio存储文件名", dataType = "String", required = true) + private String minioFileName; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "Long", required = false) + private Long createUser; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer", required = false) + private Integer isDel; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String", required = false) + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String", required = false) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java index 5c0fb5e..0259f65 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java @@ -1,6 +1,7 @@ package com.casic.missiles.model; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -19,6 +20,7 @@ import javax.validation.constraints.NotNull; import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; /** *

@@ -50,6 +52,7 @@ /** * 资产编号 */ + @ExcelProperty("固定资产编号") @TableField("asset_no") @ApiModelProperty(value = "资产编号", dataType = "String", required = true) private String assetNo; @@ -73,6 +76,7 @@ /** * 设备名称 */ + @ExcelProperty("设备名称") @NotBlank(message = "设备名称不能为空") @TableField("equipment_name") @ApiModelProperty(value = "设备名称", dataType = "String", required = true) @@ -86,6 +90,15 @@ private String equipmentNo; /** + * 型号 + */ + @ExcelProperty("型号") + @NotBlank(message = "型号不能为空") + @TableField("model_no") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** * 是否加入固定资产台账 */ @TableField("is_fixed_assets") @@ -122,13 +135,6 @@ @ApiModelProperty(value = "出厂年月", dataType = "String", required = false) private String manufacturingDate; - /** - * 型号 - */ - @NotBlank(message = "型号不能为空") - @TableField("model_no") - @ApiModelProperty(value = "型号", dataType = "String", required = true) - private String modelNo; /** * 管理状态-字典code @@ -214,13 +220,6 @@ private String uncertainty; /** - * 使用部门 - */ - @TableField("use_dept") - @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) - private Long useDept; - - /** * 使用人 */ @TableField("use_person") @@ -228,6 +227,13 @@ private Long usePerson; /** + * 使用人名称 + */ + @TableField("use_person") + @ApiModelProperty(value = "使用人", dataType = "Long", required = false) + private String usePersonName; + + /** * 专业分类-字典code */ @TableField("major_category") @@ -306,6 +312,7 @@ /** * 设备规格 */ + @ExcelProperty("设备规格") @TableField("equipment_specifications") @ApiModelProperty(value = "设备规格", dataType = "String", required = false) private String equipmentSpecifications; @@ -320,6 +327,7 @@ /** * 设备类别名称 */ + @ExcelProperty("设备类别") @TableField(exist = false) @ApiModelProperty(value = "设备类别名称", dataType = "String", required = false) private String equipmentCategoryName; @@ -334,6 +342,7 @@ /** * 设备类型名称 */ + @ExcelProperty("设备类型") @TableField(exist = false) @ApiModelProperty(value = "设备类型名称", dataType = "String", required = false) private String equipmentTypeName; @@ -353,6 +362,14 @@ private String capitalSourceName; /** + * 用途 + */ + @ExcelProperty("用途") + @TableField("purpose") + @ApiModelProperty(value = "用途", dataType = "String", required = false) + private String purpose; + + /** * 管理级别-字典code */ @TableField("manager_level") @@ -362,16 +379,25 @@ /** * 管理级别名称 */ + @ExcelProperty("管理级别") @TableField(exist = false) @ApiModelProperty(value = "管理级别名称", dataType = "String", required = false) private String managerLevelName; /** - * 用途 + * 使用部门 */ - @TableField("purpose") - @ApiModelProperty(value = "用途", dataType = "String", required = false) - private String purpose; + @TableField("use_dept") + @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) + private Long useDept; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; /** * 技术水平 @@ -471,13 +497,6 @@ private Integer version; /** - * 备注 - */ - @TableField("remark") - @ApiModelProperty(value = "备注", dataType = "String", required = false) - private String remark; - - /** * 创建人 */ @TableField("create_user") @@ -494,15 +513,30 @@ /** * 创建时间 */ + @ExcelProperty("创建时间") @TableField("create_time") @ApiModelProperty(value = "创建时间", dataType = "String", required = false) private String createTime; /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** * 更新时间 */ @TableField("update_time") @ApiModelProperty(value = "更新时间", dataType = "String", required = false) private String updateTime; + /** + * 文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "文件集合", dataType = "List", required = false) + private List fileList; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java new file mode 100644 index 0000000..6a90f87 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class StandardSupportEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * 所属标准装置编号 + */ + @ExcelProperty("所属标准装置编号") + @ApiModelProperty(value = "所属标准装置编号", dataType = "String", required = false) + private String standardEquipmentNo; + + /** + * 所属标准装置名称 + */ + @ExcelProperty("所属标准装置名称") + @ApiModelProperty(value = "所属标准装置名称", dataType = "String", required = false) + private String standardEquipmentName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用部门") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java index f13d318..ce63e8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java @@ -6,6 +6,8 @@ import com.casic.missiles.dto.meter.FixedAssetRequest; import com.casic.missiles.model.MeterFixedAssets; +import java.util.List; + /** *

* 服务类 @@ -22,4 +24,9 @@ ReturnDTO deleteByFixedAssetId(Long id); ReturnDTO updateFixedAsset(MeterFixedAssets meterFixedAssets); + + List list(FixedAssetRequest request) throws Exception; + + ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java index c9c5600..14126cb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java @@ -9,8 +9,11 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.meter.MeterFixedAssetFileMapper; +import com.casic.missiles.model.MeterFixedAssetFile; import com.casic.missiles.model.MeterFixedAssets; import com.casic.missiles.service.IMeterFixedAssetsService; +import com.casic.missiles.service.meter.IMeterFixedAssetFileService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.extern.slf4j.Slf4j; @@ -18,6 +21,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import java.io.Serializable; +import java.util.List; +import java.util.Set; /** *

@@ -34,6 +44,12 @@ @Autowired(required = false) private MeterFixedAssetsMapper meterFixedAssetsMapper; + @Autowired(required = false) + private MeterFixedAssetFileMapper meterFixedAssetFileMapper; + + @Autowired + private IMeterFixedAssetFileService meterFixedAssetFileService; + /** * 分页查询 * @param page @@ -52,6 +68,22 @@ return meterFixedAssetsPage; } + /** + * 固定资产列表 + * @param request + * @return + * @throws Exception + */ + @Override + public List list( FixedAssetRequest request) throws Exception { + QueryWrapper wrapper = getWrapper(request); + List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); + for (MeterFixedAssets meterFixedAssets:meterFixedAssetsList) { + DictCodeUtils.convertDictCodeToName(meterFixedAssets); + // 转换数据 部门id, 人员id + } + return meterFixedAssetsList; + } /** * 添加固定资产 @@ -75,23 +107,76 @@ meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); + // 插入文件列表 + batchSaveFile(meterFixedAssets); return ReturnUtil.success(); } /** + * 批量添加固定资产 + * @return + */ + @Override + @Transactional + public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { + //用于存储验证后的错误信息 + Long maxNo = meterFixedAssetsMapper.selectMaxNo(); + for (MeterFixedAssets item:meterFixedAssetsList) { + Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); + if (!CollectionUtils.isEmpty(validate)) { + return ReturnUtil.failed(validate.iterator().next().getMessage()); + } + DictCodeUtils.validDictCode(item); + //需要根据出厂编号判重 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(item.getManufacturingNo()), "manufacturing_no", item.getModelNo()); + MeterFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); + if (result != null) { + log.error("出厂编号:{},重复",result.getManufacturingNo()); + throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); + } + //生成资产编号 + String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + item.setAssetNo(asset_no); + item.setEquipmentNo(asset_no); + maxNo++; + } + super.saveBatch(meterFixedAssetsList); + return ReturnUtil.success(); + } + + + /** * 更新固定资产 * @param meterFixedAssets * @return */ + @Transactional @Override public ReturnDTO updateFixedAsset(MeterFixedAssets meterFixedAssets) { int updateFlag = meterFixedAssetsMapper.updateById(meterFixedAssets); + batchSaveFile(meterFixedAssets); if (updateFlag > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("更新失败"); } + + /** + * 获取资产详情 + * @param id + * @return + */ + @Override + public MeterFixedAssets getById(Serializable id) { + MeterFixedAssets meterFixedAssets = super.getById(id); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_id", id); + meterFixedAssets.setFileList(meterFixedAssetFileMapper.selectList(wrapper)); + return meterFixedAssets; + } + /** * 删除资产 * @param id @@ -106,6 +191,30 @@ return ReturnUtil.failed("删除失败"); } +// /** +// * 导出数据 +// */ +// public void exportExcel(FixedAssetRequest request, HttpServletResponse) { +// +// } + + /** + * + * @param meterFixedAssets + */ + public void batchSaveFile(MeterFixedAssets meterFixedAssets) { + if (!CollectionUtils.isEmpty(meterFixedAssets.getFileList())) { + // 删除老的文件,更新新的文件 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_id", meterFixedAssets.getId()); + meterFixedAssetFileMapper.delete(wrapper); + meterFixedAssets.getFileList().stream().forEach(item -> { + item.setAssetId(meterFixedAssets.getId()); + }); + meterFixedAssetFileService.saveBatch(meterFixedAssets.getFileList()); + } + } + /** * 转换字典code * @param request @@ -129,6 +238,10 @@ wrapper.eq(StringUtils.isNotEmpty(request.getManufacturingNo()), "manufacturing_no", request.getModelNo()); wrapper.eq("is_del", 0); wrapper.orderByDesc("create_time"); + wrapper.eq(request.getIsMeasureAccount() != null, "is_measure_account", request.getIsMeasureAccount()); + wrapper.eq(request.getIsStandardSupportEquipment() != null, "is_standard_support_equipment", request.getIsStandardSupportEquipment()); + wrapper.eq(request.getIsCalibrationTestEquipment() != null, "is_calibration_test_equipment", request.getIsCalibrationTestEquipment()); + wrapper.eq(request.getIsFixedAssets() != null, "is_fixed_assets", request.getIsFixedAssets()); return wrapper; } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFixedAssetFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFixedAssetFileServiceImpl.java new file mode 100644 index 0000000..9a7c16d --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFixedAssetFileServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterFixedAssetFileMapper; +import com.casic.missiles.model.MeterFixedAssetFile; +import com.casic.missiles.service.meter.IMeterFixedAssetFileService; +import org.springframework.stereotype.Service; + +/** + *

+ * 固定资产-文件表 服务实现类 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Service +public class MeterFixedAssetFileServiceImpl extends ServiceImpl implements IMeterFixedAssetFileService { + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java new file mode 100644 index 0000000..e7a3ec0 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetFileController.java @@ -0,0 +1,19 @@ +package com.casic.missiles.controller.meter; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 固定资产-文件表 前端控制器 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@RestController +@RequestMapping("/meter-fixed-asset-file") +public class MeterFixedAssetFileController { + +} + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java index e0f5f7f..03f0a8b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFixedAssetsController.java @@ -8,15 +8,23 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.model.MeterEquipmentExcelData; import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.StandardSupportEquipmentExcelData; import com.casic.missiles.service.IMeterFixedAssetsService; import com.casic.missiles.utils.DictCodeUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; +import java.util.ArrayList; +import java.util.List; /** *

@@ -53,7 +61,8 @@ @ApiOperation("固定资产更新") @PostMapping("/update") @ResponseBody - public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) { + public ReturnDTO update(@RequestBody @Valid MeterFixedAssets meterFixedAssets) throws Exception { + DictCodeUtils.validDictCode(meterFixedAssets); return iMeterFixedAssetsService.updateFixedAsset(meterFixedAssets); } /** @@ -77,4 +86,86 @@ } + /** + * 导出固定资产 + */ + @ApiOperation("导出excel") + @PostMapping("/exportExcel") + @ResponseBody + public void exportExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { + DictCodeUtils.validDictCode(request); + List list = iMeterFixedAssetsService.list(request); + if (CollectionUtils.isEmpty(list)) { + return; + } + if (request.getIsStandardSupportEquipment() == 1) { + super.exportExcel(StandardSupportEquipmentExcelData.class, getResulList(StandardSupportEquipmentExcelData.class, list), ExportEnum.STANDARD_SUPPORT_EQUIPMENT.getDescription()); + } else if (request.getIsFixedAssets() == 1) { + super.exportExcel(MeterFixedAssets.class, getResulList(MeterFixedAssets.class, list), ExportEnum.FIXED_ASSETS.getDescription()); + } else if (request.getIsCalibrationTestEquipment() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else if (request.getIsMeasureAccount() == 1) { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } else { + super.exportExcel(MeterEquipmentExcelData.class, getResulList(MeterEquipmentExcelData.class, list), ExportEnum.METER_EQUIPMENT.getDescription()); + } + } + + /** + * + * @param cls + * @param list + * @return + * @throws Exception + */ + private List getResulList(Class cls, List list) throws Exception{ + List resultList = new ArrayList(); + for (MeterFixedAssets item : list) { + Object obj = cls.newInstance(); + BeanUtils.copyProperties(item, obj); + resultList.add(obj); + } + return resultList; + } + + +// /** +// * 导出测量设备/标准-检定设备/标准配套装置/测量工装 +// */ +// @ApiOperation("导出测量设备/标准-检定设备/标准配套装置/测量工装") +// @PostMapping("/exportMeterEquipmentExcel") +// public void exportMeterEquipmentExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } +// +// +// +// /** +// * 导出标准配套装置 +// */ +// @ApiOperation("导出标准配套装置") +// @PostMapping("/exportStandardExcel") +// @ResponseBody +// public void exportStandardExcel(@RequestBody @Valid FixedAssetRequest request) throws Exception { +// DictCodeUtils.validDictCode(request); +// super.exportExcel(MeterFixedAssets.class, iMeterFixedAssetsService.list(request), ExportEnum.FIXED_ASSETS.getSheetName()); +// } + + + /** + * 批量导入测量设备信息 + */ + @ApiOperation("批量导入测量设备信息") + @PostMapping(value = "/importMeterEquipment", headers = "content-type=multipart/form-data") + @ResponseBody + public ReturnDTO importMeterEquipment(@RequestParam MultipartFile[] multipartFile) throws Exception { + List resultList = new ArrayList(); + for (MultipartFile file : multipartFile) { + List list = super.importExcel(MeterFixedAssets.class, file, null, null); + resultList.addAll(list); + } + return iMeterFixedAssetsService.addFixedAssetList(resultList); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java index 20a5b24..1d18619 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java @@ -12,7 +12,12 @@ METER_ORGANIZE_EXPORT("meterOrganizeData", "meterOrganizeData", "计量组织"), TRACE_SUPPLIER_EXPORT("traceSupplierData", "traceSupplierData", "溯源供方"), SIGN_EXPORT("signData", "signData", "签名/签章"), - TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"); + TEMPLATE_EXPORT("templateData", "templateData", "原始记录模板/证书报告模板"), + FIXED_ASSETS("meterFixedAssets", "meterFixedAssets", "固定资产"), + METER_EQUIPMENT("meterEquipment", "meterEquipment", "测量设备"), + CALIBRATION_TEST_EQUIPMENT("calibrationTestEquipment", "calibrationTestEquipment", "校准检定设备"), + MEASURE_ACCOUNT("measureAccount", "measureAccount", "测量工装"), + STANDARD_SUPPORT_EQUIPMENT("standardSupportEquipment", "standardSupportEquipment", "标准配套设备"); ExportEnum(String fileName, String sheetName, String description) { this.fileName = fileName; diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java new file mode 100644 index 0000000..d4a8bf5 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/meter/MeterFixedAssetFileMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.mapper.meter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.model.MeterFixedAssetFile; + +/** + *

+ * 固定资产-文件表 Mapper 接口 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface MeterFixedAssetFileMapper extends BaseMapper { + +} diff --git a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml deleted file mode 100644 index 39f6510..0000000 --- a/casic-metering-dao/src/main/resources/mapper/MeterFixedAssetsMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml new file mode 100644 index 0000000..d599d12 --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetFileMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + id, asset_id, file_name, minio_file_name, remark, create_user, is_del, create_time, update_time + + + diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml new file mode 100644 index 0000000..c9c73bb --- /dev/null +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -0,0 +1,14 @@ + + + + + + + id, asset_no, asset_type, equipment_name, equipment_no, is_fixed_assets, manufacturer, manufacturer_country, manufacturing_no, manufacturing_date, model_no, manager_state, ABC, label_bind, card_establishment_date, enable_date, mesure_type, mesure_cycle, mesure_range, uncertainty, use_dept,user_dept_id,use_person, major_category, mesure_dept, mesure_date, valid_date, mesure_result, is_calibration_test_equipment, is_measure_account, is_standard_support_equipment, asset_source, equipment_specifications, equipment_category, equipment_type, capital_source, manager_level, purpose, technical_level, intact_state, overall_dimension, weight, single_price, install_incidental_expenses, install_place, origin_value, present_origin_value, depreciation_period, depreciation_method, attribute, version, remark, create_user, is_del, create_time, update_time + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index b4501b1..c3d5249 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -49,5 +49,5 @@ //管理级别 String MANAGER_LEVEL = "managerLevel"; //折旧方法 - String dePRECIATION_METHOD = "depreciationMethod"; + String DEPRECIATION_METHOD = "depreciationMethod"; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java index 9ac72e1..0e6208c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/meter/FixedAssetRequest.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.meter; +import com.baomidou.mybatisplus.annotation.TableField; import com.casic.missiles.annotation.DictCodeField; import com.casic.missiles.constants.MeterDictCode; import io.swagger.annotations.ApiModel; @@ -87,4 +88,35 @@ @ApiModelProperty(value = "出厂编号", dataType = "String") private String manufacturingNo; +// /** +// * dataType 测量设备数据类型 +// */ +// @DictCodeField(message = "测量设备数据类型不合法", cacheName = MeterDictCode.METER_DATA_TYPE) +// @ApiModelProperty(value = "数据类型:1.测量设备 2.标准/检定设备 3.标准配套设备 4.测量工装 5.固定资产", dataType = "Integer") +// private Integer dataType; + + /** + * 是否是技术指标需要校准检定的设备 + */ + @ApiModelProperty(value = "是否是技术指标需要校准检定的设备", dataType = "Integer", required = false) + private Integer isCalibrationTestEquipment; + + /** + * 是否是测量工装台账 + */ + @ApiModelProperty(value = "是否是测量工装台账", dataType = "Integer", required = false) + private Integer isMeasureAccount; + + /** + * 是否标准配套设备 + */ + @ApiModelProperty(value = "是否标准配套设备", dataType = "Integer", required = false) + private Integer isStandardSupportEquipment; + + /** + * 是否加入固定资产台账 + */ + @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) + private Integer isFixedAssets; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java new file mode 100644 index 0000000..ea14482 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class MeterEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * ABC + */ + @ExcelProperty("ABC") + @ApiModelProperty(value = "ABC", dataType = "String", required = false) + private String abc; + + /** + * 检定方式名称 + */ + @ExcelProperty("检定方式") + @ApiModelProperty(value = "检定方式名称", dataType = "String", required = false) + private String mesureTypeName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java new file mode 100644 index 0000000..51956ff --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssetFile.java @@ -0,0 +1,91 @@ +package com.casic.missiles.model; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + *

+ * 固定资产-文件表 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Getter +@Setter +@TableName("meter_fixed_asset_file") +public class MeterFixedAssetFile implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) + private Long id; + + /** + * 固定资产id + */ + @TableField("asset_id") + @ApiModelProperty(value = "固定资产id", dataType = "Long", required = true) + private Long assetId; + + /** + * 文件名 + */ + @ApiModelProperty(value = "文件名", dataType = "String", required = true) + @TableField("file_name") + private String fileName; + + /** + * minio存储文件名 + */ + @TableField("minio_file_name") + @ApiModelProperty(value = "minio存储文件名", dataType = "String", required = true) + private String minioFileName; + + /** + * 备注 + */ + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** + * 创建人 + */ + @TableField("create_user") + @ApiModelProperty(value = "创建人", dataType = "Long", required = false) + private Long createUser; + + /** + * 删除标记 + */ + @TableField("is_del") + @ApiModelProperty(value = "删除标记", dataType = "Integer", required = false) + private Integer isDel; + + /** + * 创建时间 + */ + @TableField("create_time") + @ApiModelProperty(value = "创建时间", dataType = "String", required = false) + private String createTime; + + /** + * 更新时间 + */ + @TableField("update_time") + @ApiModelProperty(value = "更新时间", dataType = "String", required = false) + private String updateTime; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java index 5c0fb5e..0259f65 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterFixedAssets.java @@ -1,6 +1,7 @@ package com.casic.missiles.model; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -19,6 +20,7 @@ import javax.validation.constraints.NotNull; import java.io.Serializable; import java.math.BigDecimal; +import java.util.List; /** *

@@ -50,6 +52,7 @@ /** * 资产编号 */ + @ExcelProperty("固定资产编号") @TableField("asset_no") @ApiModelProperty(value = "资产编号", dataType = "String", required = true) private String assetNo; @@ -73,6 +76,7 @@ /** * 设备名称 */ + @ExcelProperty("设备名称") @NotBlank(message = "设备名称不能为空") @TableField("equipment_name") @ApiModelProperty(value = "设备名称", dataType = "String", required = true) @@ -86,6 +90,15 @@ private String equipmentNo; /** + * 型号 + */ + @ExcelProperty("型号") + @NotBlank(message = "型号不能为空") + @TableField("model_no") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** * 是否加入固定资产台账 */ @TableField("is_fixed_assets") @@ -122,13 +135,6 @@ @ApiModelProperty(value = "出厂年月", dataType = "String", required = false) private String manufacturingDate; - /** - * 型号 - */ - @NotBlank(message = "型号不能为空") - @TableField("model_no") - @ApiModelProperty(value = "型号", dataType = "String", required = true) - private String modelNo; /** * 管理状态-字典code @@ -214,13 +220,6 @@ private String uncertainty; /** - * 使用部门 - */ - @TableField("use_dept") - @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) - private Long useDept; - - /** * 使用人 */ @TableField("use_person") @@ -228,6 +227,13 @@ private Long usePerson; /** + * 使用人名称 + */ + @TableField("use_person") + @ApiModelProperty(value = "使用人", dataType = "Long", required = false) + private String usePersonName; + + /** * 专业分类-字典code */ @TableField("major_category") @@ -306,6 +312,7 @@ /** * 设备规格 */ + @ExcelProperty("设备规格") @TableField("equipment_specifications") @ApiModelProperty(value = "设备规格", dataType = "String", required = false) private String equipmentSpecifications; @@ -320,6 +327,7 @@ /** * 设备类别名称 */ + @ExcelProperty("设备类别") @TableField(exist = false) @ApiModelProperty(value = "设备类别名称", dataType = "String", required = false) private String equipmentCategoryName; @@ -334,6 +342,7 @@ /** * 设备类型名称 */ + @ExcelProperty("设备类型") @TableField(exist = false) @ApiModelProperty(value = "设备类型名称", dataType = "String", required = false) private String equipmentTypeName; @@ -353,6 +362,14 @@ private String capitalSourceName; /** + * 用途 + */ + @ExcelProperty("用途") + @TableField("purpose") + @ApiModelProperty(value = "用途", dataType = "String", required = false) + private String purpose; + + /** * 管理级别-字典code */ @TableField("manager_level") @@ -362,16 +379,25 @@ /** * 管理级别名称 */ + @ExcelProperty("管理级别") @TableField(exist = false) @ApiModelProperty(value = "管理级别名称", dataType = "String", required = false) private String managerLevelName; /** - * 用途 + * 使用部门 */ - @TableField("purpose") - @ApiModelProperty(value = "用途", dataType = "String", required = false) - private String purpose; + @TableField("use_dept") + @ApiModelProperty(value = "使用部门", dataType = "Long", required = false) + private Long useDept; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用单位") + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; /** * 技术水平 @@ -471,13 +497,6 @@ private Integer version; /** - * 备注 - */ - @TableField("remark") - @ApiModelProperty(value = "备注", dataType = "String", required = false) - private String remark; - - /** * 创建人 */ @TableField("create_user") @@ -494,15 +513,30 @@ /** * 创建时间 */ + @ExcelProperty("创建时间") @TableField("create_time") @ApiModelProperty(value = "创建时间", dataType = "String", required = false) private String createTime; /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; + + /** * 更新时间 */ @TableField("update_time") @ApiModelProperty(value = "更新时间", dataType = "String", required = false) private String updateTime; + /** + * 文件 + */ + @TableField(exist = false) + @ApiModelProperty(value = "文件集合", dataType = "List", required = false) + private List fileList; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java new file mode 100644 index 0000000..6a90f87 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/StandardSupportEquipmentExcelData.java @@ -0,0 +1,106 @@ +package com.casic.missiles.model; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author cuicheng + * @since 2022-12-07 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@ApiModel +@Data +public class StandardSupportEquipmentExcelData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @ExcelProperty("设备编号") + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @ExcelProperty("名称") + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @ExcelProperty("型号") + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * 所属标准装置编号 + */ + @ExcelProperty("所属标准装置编号") + @ApiModelProperty(value = "所属标准装置编号", dataType = "String", required = false) + private String standardEquipmentNo; + + /** + * 所属标准装置名称 + */ + @ExcelProperty("所属标准装置名称") + @ApiModelProperty(value = "所属标准装置名称", dataType = "String", required = false) + private String standardEquipmentName; + + /** + * 管理状态名称 + */ + @ExcelProperty("管理状态") + @ApiModelProperty(value = "管理状态名称", dataType = "String", required = false) + private String managerStateName; + + /** + * 使用部门名称 + */ + @ExcelProperty("使用部门") + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 使用人 + */ + @ExcelProperty("使用人") + @ApiModelProperty(value = "使用人", dataType = "String", required = false) + private String usePersonName; + + /** + * 有效日期 + */ + @ExcelProperty("有效日期") + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 备注 + */ + @ExcelProperty("备注") + @TableField("remark") + @ApiModelProperty(value = "备注", dataType = "String", required = false) + private String remark; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java index f13d318..ce63e8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/IMeterFixedAssetsService.java @@ -6,6 +6,8 @@ import com.casic.missiles.dto.meter.FixedAssetRequest; import com.casic.missiles.model.MeterFixedAssets; +import java.util.List; + /** *

* 服务类 @@ -22,4 +24,9 @@ ReturnDTO deleteByFixedAssetId(Long id); ReturnDTO updateFixedAsset(MeterFixedAssets meterFixedAssets); + + List list(FixedAssetRequest request) throws Exception; + + ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java index c9c5600..14126cb 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/MeterFixedAssetsServiceImpl.java @@ -9,8 +9,11 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.meter.MeterFixedAssetFileMapper; +import com.casic.missiles.model.MeterFixedAssetFile; import com.casic.missiles.model.MeterFixedAssets; import com.casic.missiles.service.IMeterFixedAssetsService; +import com.casic.missiles.service.meter.IMeterFixedAssetFileService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.extern.slf4j.Slf4j; @@ -18,6 +21,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.validation.ConstraintViolation; +import javax.validation.Validation; +import java.io.Serializable; +import java.util.List; +import java.util.Set; /** *

@@ -34,6 +44,12 @@ @Autowired(required = false) private MeterFixedAssetsMapper meterFixedAssetsMapper; + @Autowired(required = false) + private MeterFixedAssetFileMapper meterFixedAssetFileMapper; + + @Autowired + private IMeterFixedAssetFileService meterFixedAssetFileService; + /** * 分页查询 * @param page @@ -52,6 +68,22 @@ return meterFixedAssetsPage; } + /** + * 固定资产列表 + * @param request + * @return + * @throws Exception + */ + @Override + public List list( FixedAssetRequest request) throws Exception { + QueryWrapper wrapper = getWrapper(request); + List meterFixedAssetsList = meterFixedAssetsMapper.selectList(wrapper); + for (MeterFixedAssets meterFixedAssets:meterFixedAssetsList) { + DictCodeUtils.convertDictCodeToName(meterFixedAssets); + // 转换数据 部门id, 人员id + } + return meterFixedAssetsList; + } /** * 添加固定资产 @@ -75,23 +107,76 @@ meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); + // 插入文件列表 + batchSaveFile(meterFixedAssets); return ReturnUtil.success(); } /** + * 批量添加固定资产 + * @return + */ + @Override + @Transactional + public ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception { + //用于存储验证后的错误信息 + Long maxNo = meterFixedAssetsMapper.selectMaxNo(); + for (MeterFixedAssets item:meterFixedAssetsList) { + Set> validate = Validation.buildDefaultValidatorFactory().getValidator().validate(item); + if (!CollectionUtils.isEmpty(validate)) { + return ReturnUtil.failed(validate.iterator().next().getMessage()); + } + DictCodeUtils.validDictCode(item); + //需要根据出厂编号判重 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotEmpty(item.getManufacturingNo()), "manufacturing_no", item.getModelNo()); + MeterFixedAssets result = meterFixedAssetsMapper.selectOne(wrapper); + if (result != null) { + log.error("出厂编号:{},重复",result.getManufacturingNo()); + throw new BusinessException(BusinessExceptionEnum.DUPLICATE_MANUFACTURE_NUMBER); + } + //生成资产编号 + String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + item.setAssetNo(asset_no); + item.setEquipmentNo(asset_no); + maxNo++; + } + super.saveBatch(meterFixedAssetsList); + return ReturnUtil.success(); + } + + + /** * 更新固定资产 * @param meterFixedAssets * @return */ + @Transactional @Override public ReturnDTO updateFixedAsset(MeterFixedAssets meterFixedAssets) { int updateFlag = meterFixedAssetsMapper.updateById(meterFixedAssets); + batchSaveFile(meterFixedAssets); if (updateFlag > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("更新失败"); } + + /** + * 获取资产详情 + * @param id + * @return + */ + @Override + public MeterFixedAssets getById(Serializable id) { + MeterFixedAssets meterFixedAssets = super.getById(id); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_id", id); + meterFixedAssets.setFileList(meterFixedAssetFileMapper.selectList(wrapper)); + return meterFixedAssets; + } + /** * 删除资产 * @param id @@ -106,6 +191,30 @@ return ReturnUtil.failed("删除失败"); } +// /** +// * 导出数据 +// */ +// public void exportExcel(FixedAssetRequest request, HttpServletResponse) { +// +// } + + /** + * + * @param meterFixedAssets + */ + public void batchSaveFile(MeterFixedAssets meterFixedAssets) { + if (!CollectionUtils.isEmpty(meterFixedAssets.getFileList())) { + // 删除老的文件,更新新的文件 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("asset_id", meterFixedAssets.getId()); + meterFixedAssetFileMapper.delete(wrapper); + meterFixedAssets.getFileList().stream().forEach(item -> { + item.setAssetId(meterFixedAssets.getId()); + }); + meterFixedAssetFileService.saveBatch(meterFixedAssets.getFileList()); + } + } + /** * 转换字典code * @param request @@ -129,6 +238,10 @@ wrapper.eq(StringUtils.isNotEmpty(request.getManufacturingNo()), "manufacturing_no", request.getModelNo()); wrapper.eq("is_del", 0); wrapper.orderByDesc("create_time"); + wrapper.eq(request.getIsMeasureAccount() != null, "is_measure_account", request.getIsMeasureAccount()); + wrapper.eq(request.getIsStandardSupportEquipment() != null, "is_standard_support_equipment", request.getIsStandardSupportEquipment()); + wrapper.eq(request.getIsCalibrationTestEquipment() != null, "is_calibration_test_equipment", request.getIsCalibrationTestEquipment()); + wrapper.eq(request.getIsFixedAssets() != null, "is_fixed_assets", request.getIsFixedAssets()); return wrapper; } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFixedAssetFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFixedAssetFileServiceImpl.java new file mode 100644 index 0000000..9a7c16d --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFixedAssetFileServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.service.Impl.meter; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.mapper.meter.MeterFixedAssetFileMapper; +import com.casic.missiles.model.MeterFixedAssetFile; +import com.casic.missiles.service.meter.IMeterFixedAssetFileService; +import org.springframework.stereotype.Service; + +/** + *

+ * 固定资产-文件表 服务实现类 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +@Service +public class MeterFixedAssetFileServiceImpl extends ServiceImpl implements IMeterFixedAssetFileService { + +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterFixedAssetFileService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterFixedAssetFileService.java new file mode 100644 index 0000000..8da0e1a --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterFixedAssetFileService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.service.meter; + +import com.casic.missiles.model.MeterFixedAssetFile; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 固定资产-文件表 服务类 + *

+ * + * @author cuicheng + * @since 2022-12-12 + */ +public interface IMeterFixedAssetFileService extends IService { + +}