diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java index bdc1438..6e88177 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java @@ -1,7 +1,19 @@ package com.casic.missiles.controller.meter; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -12,7 +24,42 @@ * @since 2022-12-15 */ @RestController -@RequestMapping("/meter-standard-support-equipment") -public class MeterStandardSupportEquipmentController { +@RequestMapping("/meter/standard/equipment") +public class MeterStandardSupportEquipmentController extends ExportController { + /** + * 标准配套装置service + */ + @Autowired + private IMeterStandardSupportEquipmentService meterStandardSupportEquipmentService; + /** + * 标准装置-配套设备列表(分页) + */ + @ApiOperation("标准装置-配套设备列表(分页)") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO> listPage(@RequestBody @Valid IdDTO request) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterStandardSupportEquipmentService.listPage(page, request))); + } + + /** + * 添加标准配套设备 + */ + @ApiOperation("添加标准配套设备") + @PostMapping("/add") + @ResponseBody + public ReturnDTO add(@RequestBody @Valid MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + return meterStandardSupportEquipmentService.add(meterStandardSupportEquipment); + } + + /** + * 删除标准配套设备 + */ + @ApiOperation("删除标准配套设备") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + return meterStandardSupportEquipmentService.deleteById(idDTO.getId()); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java index bdc1438..6e88177 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java @@ -1,7 +1,19 @@ package com.casic.missiles.controller.meter; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -12,7 +24,42 @@ * @since 2022-12-15 */ @RestController -@RequestMapping("/meter-standard-support-equipment") -public class MeterStandardSupportEquipmentController { +@RequestMapping("/meter/standard/equipment") +public class MeterStandardSupportEquipmentController extends ExportController { + /** + * 标准配套装置service + */ + @Autowired + private IMeterStandardSupportEquipmentService meterStandardSupportEquipmentService; + /** + * 标准装置-配套设备列表(分页) + */ + @ApiOperation("标准装置-配套设备列表(分页)") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO> listPage(@RequestBody @Valid IdDTO request) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterStandardSupportEquipmentService.listPage(page, request))); + } + + /** + * 添加标准配套设备 + */ + @ApiOperation("添加标准配套设备") + @PostMapping("/add") + @ResponseBody + public ReturnDTO add(@RequestBody @Valid MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + return meterStandardSupportEquipmentService.add(meterStandardSupportEquipment); + } + + /** + * 删除标准配套设备 + */ + @ApiOperation("删除标准配套设备") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + return meterStandardSupportEquipmentService.deleteById(idDTO.getId()); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 9f5cfc8..855c959 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -38,7 +38,8 @@ PARAM_INVALID(2500, "参数不合法"), LOGIN_USER_ACQUIRE_FAILED(2402, "无法获取登录者用户信息,请尝试重新登录再进行操作"), STANDARD_EQUIPMENT_ID_EXIST(2402, "标准装置不存在"), - STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"); + STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"), + STANDARD_SUPPORT_EQUIPMENT_ID_EXIST(2402, "标准装置-标准配套装置不存在"); private Integer code; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java index bdc1438..6e88177 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java @@ -1,7 +1,19 @@ package com.casic.missiles.controller.meter; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -12,7 +24,42 @@ * @since 2022-12-15 */ @RestController -@RequestMapping("/meter-standard-support-equipment") -public class MeterStandardSupportEquipmentController { +@RequestMapping("/meter/standard/equipment") +public class MeterStandardSupportEquipmentController extends ExportController { + /** + * 标准配套装置service + */ + @Autowired + private IMeterStandardSupportEquipmentService meterStandardSupportEquipmentService; + /** + * 标准装置-配套设备列表(分页) + */ + @ApiOperation("标准装置-配套设备列表(分页)") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO> listPage(@RequestBody @Valid IdDTO request) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterStandardSupportEquipmentService.listPage(page, request))); + } + + /** + * 添加标准配套设备 + */ + @ApiOperation("添加标准配套设备") + @PostMapping("/add") + @ResponseBody + public ReturnDTO add(@RequestBody @Valid MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + return meterStandardSupportEquipmentService.add(meterStandardSupportEquipment); + } + + /** + * 删除标准配套设备 + */ + @ApiOperation("删除标准配套设备") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + return meterStandardSupportEquipmentService.deleteById(idDTO.getId()); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 9f5cfc8..855c959 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -38,7 +38,8 @@ PARAM_INVALID(2500, "参数不合法"), LOGIN_USER_ACQUIRE_FAILED(2402, "无法获取登录者用户信息,请尝试重新登录再进行操作"), STANDARD_EQUIPMENT_ID_EXIST(2402, "标准装置不存在"), - STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"); + STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"), + STANDARD_SUPPORT_EQUIPMENT_ID_EXIST(2402, "标准装置-标准配套装置不存在"); private Integer code; diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml index 8ec8cb3..2a5be55 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -72,6 +72,12 @@ and mfa.is_fixed_assets = #{fixedAssetRequest.isFixedAssets} + + and mfa.id in + + #{id} + + ORDER BY mfa.create_time DESC diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java index bdc1438..6e88177 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java @@ -1,7 +1,19 @@ package com.casic.missiles.controller.meter; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -12,7 +24,42 @@ * @since 2022-12-15 */ @RestController -@RequestMapping("/meter-standard-support-equipment") -public class MeterStandardSupportEquipmentController { +@RequestMapping("/meter/standard/equipment") +public class MeterStandardSupportEquipmentController extends ExportController { + /** + * 标准配套装置service + */ + @Autowired + private IMeterStandardSupportEquipmentService meterStandardSupportEquipmentService; + /** + * 标准装置-配套设备列表(分页) + */ + @ApiOperation("标准装置-配套设备列表(分页)") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO> listPage(@RequestBody @Valid IdDTO request) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterStandardSupportEquipmentService.listPage(page, request))); + } + + /** + * 添加标准配套设备 + */ + @ApiOperation("添加标准配套设备") + @PostMapping("/add") + @ResponseBody + public ReturnDTO add(@RequestBody @Valid MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + return meterStandardSupportEquipmentService.add(meterStandardSupportEquipment); + } + + /** + * 删除标准配套设备 + */ + @ApiOperation("删除标准配套设备") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + return meterStandardSupportEquipmentService.deleteById(idDTO.getId()); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 9f5cfc8..855c959 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -38,7 +38,8 @@ PARAM_INVALID(2500, "参数不合法"), LOGIN_USER_ACQUIRE_FAILED(2402, "无法获取登录者用户信息,请尝试重新登录再进行操作"), STANDARD_EQUIPMENT_ID_EXIST(2402, "标准装置不存在"), - STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"); + STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"), + STANDARD_SUPPORT_EQUIPMENT_ID_EXIST(2402, "标准装置-标准配套装置不存在"); private Integer code; diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml index 8ec8cb3..2a5be55 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -72,6 +72,12 @@ and mfa.is_fixed_assets = #{fixedAssetRequest.isFixedAssets} + + and mfa.id in + + #{id} + + ORDER BY mfa.create_time DESC 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 faf474d..552a6f6 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 @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * 固定资产请求 */ @@ -123,4 +125,9 @@ @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) private Integer isFixedAssets; + /** + * 主键集合,用于批量查询 + */ + private List ids; + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java index bdc1438..6e88177 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java @@ -1,7 +1,19 @@ package com.casic.missiles.controller.meter; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -12,7 +24,42 @@ * @since 2022-12-15 */ @RestController -@RequestMapping("/meter-standard-support-equipment") -public class MeterStandardSupportEquipmentController { +@RequestMapping("/meter/standard/equipment") +public class MeterStandardSupportEquipmentController extends ExportController { + /** + * 标准配套装置service + */ + @Autowired + private IMeterStandardSupportEquipmentService meterStandardSupportEquipmentService; + /** + * 标准装置-配套设备列表(分页) + */ + @ApiOperation("标准装置-配套设备列表(分页)") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO> listPage(@RequestBody @Valid IdDTO request) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterStandardSupportEquipmentService.listPage(page, request))); + } + + /** + * 添加标准配套设备 + */ + @ApiOperation("添加标准配套设备") + @PostMapping("/add") + @ResponseBody + public ReturnDTO add(@RequestBody @Valid MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + return meterStandardSupportEquipmentService.add(meterStandardSupportEquipment); + } + + /** + * 删除标准配套设备 + */ + @ApiOperation("删除标准配套设备") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + return meterStandardSupportEquipmentService.deleteById(idDTO.getId()); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 9f5cfc8..855c959 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -38,7 +38,8 @@ PARAM_INVALID(2500, "参数不合法"), LOGIN_USER_ACQUIRE_FAILED(2402, "无法获取登录者用户信息,请尝试重新登录再进行操作"), STANDARD_EQUIPMENT_ID_EXIST(2402, "标准装置不存在"), - STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"); + STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"), + STANDARD_SUPPORT_EQUIPMENT_ID_EXIST(2402, "标准装置-标准配套装置不存在"); private Integer code; diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml index 8ec8cb3..2a5be55 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -72,6 +72,12 @@ and mfa.is_fixed_assets = #{fixedAssetRequest.isFixedAssets} + + and mfa.id in + + #{id} + + ORDER BY mfa.create_time DESC 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 faf474d..552a6f6 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 @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * 固定资产请求 */ @@ -123,4 +125,9 @@ @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) private Integer isFixedAssets; + /** + * 主键集合,用于批量查询 + */ + private List ids; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java index 6b56ad2..143f9d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java @@ -3,11 +3,15 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import java.io.Serializable; +import java.time.LocalDateTime; + /** *

* 标准装置-标准配套设备表 @@ -26,22 +30,88 @@ /** * 标准配套设施 */ - @TableId("id") + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) private Long id; /** * 标准设备ID */ @TableField("standard_equipment_id") + @ApiModelProperty(value = "标准设备ID", dataType = "Long", required = true) private Long standardEquipmentId; /** * 配套设备ID */ @TableField("equipment_id") + @ApiModelProperty(value = "配套设备ID", dataType = "Long", required = true) private Long equipmentId; /** + * 设备编号 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @TableField(exist = false) + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * 测量范围 + */ + @TableField(exist = false) + @ApiModelProperty(value = "测量范围", dataType = "String", required = false) + private String mesureRange; + + /** + * 使用部门名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 检定日期 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检定日期", dataType = "String", required = false) + private String mesureDate; + + /** + * 有效日期 + */ + @TableField(exist = false) + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 检定结果-字典code + */ + @TableField(exist = false) + @DictCodeField(message = "检定结果不合法", cacheName = MeterDictCode.MESURE_RESULT) + @ApiModelProperty(value = "有效日期", dataType = "Integer", required = false) + private Integer mesureResult; + + /** + * 检定结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String mesureResultName; + /** * 备注 */ @TableField("remark") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java index bdc1438..6e88177 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java @@ -1,7 +1,19 @@ package com.casic.missiles.controller.meter; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -12,7 +24,42 @@ * @since 2022-12-15 */ @RestController -@RequestMapping("/meter-standard-support-equipment") -public class MeterStandardSupportEquipmentController { +@RequestMapping("/meter/standard/equipment") +public class MeterStandardSupportEquipmentController extends ExportController { + /** + * 标准配套装置service + */ + @Autowired + private IMeterStandardSupportEquipmentService meterStandardSupportEquipmentService; + /** + * 标准装置-配套设备列表(分页) + */ + @ApiOperation("标准装置-配套设备列表(分页)") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO> listPage(@RequestBody @Valid IdDTO request) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterStandardSupportEquipmentService.listPage(page, request))); + } + + /** + * 添加标准配套设备 + */ + @ApiOperation("添加标准配套设备") + @PostMapping("/add") + @ResponseBody + public ReturnDTO add(@RequestBody @Valid MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + return meterStandardSupportEquipmentService.add(meterStandardSupportEquipment); + } + + /** + * 删除标准配套设备 + */ + @ApiOperation("删除标准配套设备") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + return meterStandardSupportEquipmentService.deleteById(idDTO.getId()); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 9f5cfc8..855c959 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -38,7 +38,8 @@ PARAM_INVALID(2500, "参数不合法"), LOGIN_USER_ACQUIRE_FAILED(2402, "无法获取登录者用户信息,请尝试重新登录再进行操作"), STANDARD_EQUIPMENT_ID_EXIST(2402, "标准装置不存在"), - STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"); + STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"), + STANDARD_SUPPORT_EQUIPMENT_ID_EXIST(2402, "标准装置-标准配套装置不存在"); private Integer code; diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml index 8ec8cb3..2a5be55 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -72,6 +72,12 @@ and mfa.is_fixed_assets = #{fixedAssetRequest.isFixedAssets} + + and mfa.id in + + #{id} + + ORDER BY mfa.create_time DESC 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 faf474d..552a6f6 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 @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * 固定资产请求 */ @@ -123,4 +125,9 @@ @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) private Integer isFixedAssets; + /** + * 主键集合,用于批量查询 + */ + private List ids; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java index 6b56ad2..143f9d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java @@ -3,11 +3,15 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import java.io.Serializable; +import java.time.LocalDateTime; + /** *

* 标准装置-标准配套设备表 @@ -26,22 +30,88 @@ /** * 标准配套设施 */ - @TableId("id") + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) private Long id; /** * 标准设备ID */ @TableField("standard_equipment_id") + @ApiModelProperty(value = "标准设备ID", dataType = "Long", required = true) private Long standardEquipmentId; /** * 配套设备ID */ @TableField("equipment_id") + @ApiModelProperty(value = "配套设备ID", dataType = "Long", required = true) private Long equipmentId; /** + * 设备编号 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @TableField(exist = false) + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * 测量范围 + */ + @TableField(exist = false) + @ApiModelProperty(value = "测量范围", dataType = "String", required = false) + private String mesureRange; + + /** + * 使用部门名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 检定日期 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检定日期", dataType = "String", required = false) + private String mesureDate; + + /** + * 有效日期 + */ + @TableField(exist = false) + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 检定结果-字典code + */ + @TableField(exist = false) + @DictCodeField(message = "检定结果不合法", cacheName = MeterDictCode.MESURE_RESULT) + @ApiModelProperty(value = "有效日期", dataType = "Integer", required = false) + private Integer mesureResult; + + /** + * 检定结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String mesureResultName; + /** * 备注 */ @TableField("remark") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardSupportEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardSupportEquipmentServiceImpl.java index ef8cb52..5e5e0a6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardSupportEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardSupportEquipmentServiceImpl.java @@ -1,10 +1,32 @@ package com.casic.missiles.service.Impl.meter; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.meter.MeterStandardSupportEquipmentMapper; +import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.MeterStandardEquipment; import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.model.page.PageQuery; +import com.casic.missiles.service.meter.IMeterStandardEquipmentService; import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -17,4 +39,84 @@ @Service public class MeterStandardSupportEquipmentServiceImpl extends ServiceImpl implements IMeterStandardSupportEquipmentService { + @Autowired(required = false) + private MeterStandardSupportEquipmentMapper meterStandardSupportEquipmentMapper; + + @Autowired + private IMeterStandardEquipmentService meterStandardEquipmentService; + + @Autowired(required = false) + private MeterFixedAssetsMapper meterFixedAssetsMapper; + + @Override + public Page listPage(Page page, IdDTO request) throws Exception { + // 获取列表 + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("standard_equipment_id", request.getId()); + Page meterStandardSupportEquipmentPage = meterStandardSupportEquipmentMapper.selectPage(page, wrapper); + if (!CollectionUtils.isEmpty(meterStandardSupportEquipmentPage.getRecords())) { + List ids = meterStandardSupportEquipmentPage.getRecords().stream() + .map(MeterStandardSupportEquipment::getEquipmentId).collect(Collectors.toList()); + FixedAssetRequest fixedAssetRequest = new FixedAssetRequest(); + fixedAssetRequest.setIds(ids); + PageQuery pageQuery = new PageQuery(); + pageQuery.setPageNo(0); + pageQuery.setPageSize(ids.size()); + Page page1 = PageFactory.createPage(pageQuery); + Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page1, fixedAssetRequest); + Map existMap = CollectionUtils.newHashMap(ids.size()); + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())){ + existMap = meterFixedAssetsPage.getRecords().stream().collect(Collectors.toMap(MeterFixedAssets::getId, item -> item)); + } + for (MeterStandardSupportEquipment record : meterStandardSupportEquipmentPage.getRecords()) { + MeterFixedAssets meterFixedAssets = existMap.get(record.getEquipmentId()); + if (meterFixedAssets != null) { + BeanUtils.copyProperties(meterFixedAssets, record); + DictCodeUtils.convertDictCodeToName(record); + } + } + } + return meterStandardSupportEquipmentPage; + } + + @Override + public ReturnDTO add(MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + // 配套信息校验 + validInfo(meterStandardSupportEquipment); + // 首先判断是否存在,不存在再插入 + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("standard_equipment_id", meterStandardSupportEquipment.getStandardEquipmentId()); + wrapper.eq("equipment_id", meterStandardSupportEquipment.getEquipmentId()); + + MeterStandardSupportEquipment existUser = meterStandardSupportEquipmentMapper.selectOne(wrapper); + if (existUser == null) { + meterStandardSupportEquipmentMapper.insert(meterStandardSupportEquipment); + } + return ReturnUtil.success(); + } + + @Override + public ReturnDTO deleteById(Long id) { + super.removeById(id); + return ReturnUtil.success(); + } + + /** + * 信息校验 + * @param meterStandardSupportEquipment + * @return + */ + private boolean validInfo (MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + // 判断标准装置是否存在 + MeterStandardEquipment meterStandardEquipment = meterStandardEquipmentService.getById(meterStandardSupportEquipment.getStandardEquipmentId()); + if (meterStandardEquipment == null) { + throw new BusinessException(BusinessExceptionEnum.STANDARD_EQUIPMENT_ID_EXIST); + } + // 判断标准配套设备是否存在 + MeterFixedAssets meterFixedAssets = meterFixedAssetsMapper.selectById(meterStandardSupportEquipment.getEquipmentId()); + if (meterFixedAssets == null) { + throw new BusinessException(BusinessExceptionEnum.STANDARD_SUPPORT_EQUIPMENT_ID_EXIST); + } + return true; + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java index bdc1438..6e88177 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterStandardSupportEquipmentController.java @@ -1,7 +1,19 @@ package com.casic.missiles.controller.meter; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.core.page.PageInfoBT; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; /** *

@@ -12,7 +24,42 @@ * @since 2022-12-15 */ @RestController -@RequestMapping("/meter-standard-support-equipment") -public class MeterStandardSupportEquipmentController { +@RequestMapping("/meter/standard/equipment") +public class MeterStandardSupportEquipmentController extends ExportController { + /** + * 标准配套装置service + */ + @Autowired + private IMeterStandardSupportEquipmentService meterStandardSupportEquipmentService; + /** + * 标准装置-配套设备列表(分页) + */ + @ApiOperation("标准装置-配套设备列表(分页)") + @PostMapping("/listPage") + @ResponseBody + public ReturnDTO> listPage(@RequestBody @Valid IdDTO request) throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(meterStandardSupportEquipmentService.listPage(page, request))); + } + + /** + * 添加标准配套设备 + */ + @ApiOperation("添加标准配套设备") + @PostMapping("/add") + @ResponseBody + public ReturnDTO add(@RequestBody @Valid MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + return meterStandardSupportEquipmentService.add(meterStandardSupportEquipment); + } + + /** + * 删除标准配套设备 + */ + @ApiOperation("删除标准配套设备") + @PostMapping("/delete") + @ResponseBody + public ReturnDTO delete(@RequestBody @Valid IdDTO idDTO) { + return meterStandardSupportEquipmentService.deleteById(idDTO.getId()); + } } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 9f5cfc8..855c959 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -38,7 +38,8 @@ PARAM_INVALID(2500, "参数不合法"), LOGIN_USER_ACQUIRE_FAILED(2402, "无法获取登录者用户信息,请尝试重新登录再进行操作"), STANDARD_EQUIPMENT_ID_EXIST(2402, "标准装置不存在"), - STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"); + STANDARD_EQUIPMENT_USER_ID_EXIST(2402, "标准装置-计量人员不存在"), + STANDARD_SUPPORT_EQUIPMENT_ID_EXIST(2402, "标准装置-标准配套装置不存在"); private Integer code; diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml index 8ec8cb3..2a5be55 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterFixedAssetsMapper.xml @@ -72,6 +72,12 @@ and mfa.is_fixed_assets = #{fixedAssetRequest.isFixedAssets} + + and mfa.id in + + #{id} + + ORDER BY mfa.create_time DESC 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 faf474d..552a6f6 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 @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * 固定资产请求 */ @@ -123,4 +125,9 @@ @ApiModelProperty(value = "是否加入固定资产台账", dataType = "Integer", required = true) private Integer isFixedAssets; + /** + * 主键集合,用于批量查询 + */ + private List ids; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java index 6b56ad2..143f9d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/MeterStandardSupportEquipment.java @@ -3,11 +3,15 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import java.io.Serializable; +import java.time.LocalDateTime; + /** *

* 标准装置-标准配套设备表 @@ -26,22 +30,88 @@ /** * 标准配套设施 */ - @TableId("id") + @TableId("id") + @ApiModelProperty(value = "主键", dataType = "Long", required = true) private Long id; /** * 标准设备ID */ @TableField("standard_equipment_id") + @ApiModelProperty(value = "标准设备ID", dataType = "Long", required = true) private Long standardEquipmentId; /** * 配套设备ID */ @TableField("equipment_id") + @ApiModelProperty(value = "配套设备ID", dataType = "Long", required = true) private Long equipmentId; /** + * 设备编号 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备编号", dataType = "String", required = true) + private String equipmentNo; + + /** + * 设备名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "设备名称", dataType = "String", required = true) + private String equipmentName; + + /** + * 型号 + */ + @TableField(exist = false) + @ApiModelProperty(value = "型号", dataType = "String", required = true) + private String modelNo; + + /** + * 测量范围 + */ + @TableField(exist = false) + @ApiModelProperty(value = "测量范围", dataType = "String", required = false) + private String mesureRange; + + /** + * 使用部门名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "使用部门名称", dataType = "String", required = false) + private String useDeptName; + + /** + * 检定日期 + */ + @TableField(exist = false) + @ApiModelProperty(value = "检定日期", dataType = "String", required = false) + private String mesureDate; + + /** + * 有效日期 + */ + @TableField(exist = false) + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String validDate; + + /** + * 检定结果-字典code + */ + @TableField(exist = false) + @DictCodeField(message = "检定结果不合法", cacheName = MeterDictCode.MESURE_RESULT) + @ApiModelProperty(value = "有效日期", dataType = "Integer", required = false) + private Integer mesureResult; + + /** + * 检定结果名称 + */ + @TableField(exist = false) + @ApiModelProperty(value = "有效日期", dataType = "String", required = false) + private String mesureResultName; + /** * 备注 */ @TableField("remark") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardSupportEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardSupportEquipmentServiceImpl.java index ef8cb52..5e5e0a6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardSupportEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStandardSupportEquipmentServiceImpl.java @@ -1,10 +1,32 @@ package com.casic.missiles.service.Impl.meter; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.meter.FixedAssetRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.meter.MeterStandardSupportEquipmentMapper; +import com.casic.missiles.model.MeterFixedAssets; +import com.casic.missiles.model.MeterStandardEquipment; import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.casic.missiles.model.page.PageQuery; +import com.casic.missiles.service.meter.IMeterStandardEquipmentService; import com.casic.missiles.service.meter.IMeterStandardSupportEquipmentService; +import com.casic.missiles.utils.DictCodeUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -17,4 +39,84 @@ @Service public class MeterStandardSupportEquipmentServiceImpl extends ServiceImpl implements IMeterStandardSupportEquipmentService { + @Autowired(required = false) + private MeterStandardSupportEquipmentMapper meterStandardSupportEquipmentMapper; + + @Autowired + private IMeterStandardEquipmentService meterStandardEquipmentService; + + @Autowired(required = false) + private MeterFixedAssetsMapper meterFixedAssetsMapper; + + @Override + public Page listPage(Page page, IdDTO request) throws Exception { + // 获取列表 + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("standard_equipment_id", request.getId()); + Page meterStandardSupportEquipmentPage = meterStandardSupportEquipmentMapper.selectPage(page, wrapper); + if (!CollectionUtils.isEmpty(meterStandardSupportEquipmentPage.getRecords())) { + List ids = meterStandardSupportEquipmentPage.getRecords().stream() + .map(MeterStandardSupportEquipment::getEquipmentId).collect(Collectors.toList()); + FixedAssetRequest fixedAssetRequest = new FixedAssetRequest(); + fixedAssetRequest.setIds(ids); + PageQuery pageQuery = new PageQuery(); + pageQuery.setPageNo(0); + pageQuery.setPageSize(ids.size()); + Page page1 = PageFactory.createPage(pageQuery); + Page meterFixedAssetsPage = meterFixedAssetsMapper.listPage(page1, fixedAssetRequest); + Map existMap = CollectionUtils.newHashMap(ids.size()); + if (!CollectionUtils.isEmpty(meterFixedAssetsPage.getRecords())){ + existMap = meterFixedAssetsPage.getRecords().stream().collect(Collectors.toMap(MeterFixedAssets::getId, item -> item)); + } + for (MeterStandardSupportEquipment record : meterStandardSupportEquipmentPage.getRecords()) { + MeterFixedAssets meterFixedAssets = existMap.get(record.getEquipmentId()); + if (meterFixedAssets != null) { + BeanUtils.copyProperties(meterFixedAssets, record); + DictCodeUtils.convertDictCodeToName(record); + } + } + } + return meterStandardSupportEquipmentPage; + } + + @Override + public ReturnDTO add(MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + // 配套信息校验 + validInfo(meterStandardSupportEquipment); + // 首先判断是否存在,不存在再插入 + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("standard_equipment_id", meterStandardSupportEquipment.getStandardEquipmentId()); + wrapper.eq("equipment_id", meterStandardSupportEquipment.getEquipmentId()); + + MeterStandardSupportEquipment existUser = meterStandardSupportEquipmentMapper.selectOne(wrapper); + if (existUser == null) { + meterStandardSupportEquipmentMapper.insert(meterStandardSupportEquipment); + } + return ReturnUtil.success(); + } + + @Override + public ReturnDTO deleteById(Long id) { + super.removeById(id); + return ReturnUtil.success(); + } + + /** + * 信息校验 + * @param meterStandardSupportEquipment + * @return + */ + private boolean validInfo (MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception { + // 判断标准装置是否存在 + MeterStandardEquipment meterStandardEquipment = meterStandardEquipmentService.getById(meterStandardSupportEquipment.getStandardEquipmentId()); + if (meterStandardEquipment == null) { + throw new BusinessException(BusinessExceptionEnum.STANDARD_EQUIPMENT_ID_EXIST); + } + // 判断标准配套设备是否存在 + MeterFixedAssets meterFixedAssets = meterFixedAssetsMapper.selectById(meterStandardSupportEquipment.getEquipmentId()); + if (meterFixedAssets == null) { + throw new BusinessException(BusinessExceptionEnum.STANDARD_SUPPORT_EQUIPMENT_ID_EXIST); + } + return true; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterStandardSupportEquipmentService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterStandardSupportEquipmentService.java index 8d23b5a..439509f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterStandardSupportEquipmentService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/meter/IMeterStandardSupportEquipmentService.java @@ -1,7 +1,10 @@ package com.casic.missiles.service.meter; -import com.casic.missiles.model.MeterStandardSupportEquipment; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.IdDTO; +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.model.MeterStandardSupportEquipment; /** *

@@ -13,4 +16,10 @@ */ public interface IMeterStandardSupportEquipmentService extends IService { + Page listPage(Page page, IdDTO request) throws Exception; + + ReturnDTO add(MeterStandardSupportEquipment meterStandardSupportEquipment) throws Exception; + + ReturnDTO deleteById(Long id); + }