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 {
+
+}