diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java index a829ada..4f3598c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java @@ -246,4 +246,10 @@ Page responsePage = equipmentInfoService.selectResumeListPage(page, idDTO); return ReturnUtil.success(super.packForBT(responsePage)); } + + @ApiOperation("判断设备基本信息是否有变更(true有变更 false无变更)") + @PostMapping("/hasChanged") + public ReturnDTO hasChanged(@RequestBody @Valid EquipmentAddRequest request){ + return equipmentInfoService.hasChanged(request); + } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java index a829ada..4f3598c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java @@ -246,4 +246,10 @@ Page responsePage = equipmentInfoService.selectResumeListPage(page, idDTO); return ReturnUtil.success(super.packForBT(responsePage)); } + + @ApiOperation("判断设备基本信息是否有变更(true有变更 false无变更)") + @PostMapping("/hasChanged") + public ReturnDTO hasChanged(@RequestBody @Valid EquipmentAddRequest request){ + return equipmentInfoService.hasChanged(request); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java new file mode 100644 index 0000000..8c122ef --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.equipment; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author: TuT + * @createTime: 2024-05-10 15:19 + * @description: StandardCarryOutItemRequest + */ +@Data +@ApiModel +public class StandardCarryOutItemRequest { + @ApiModelProperty(value = "人员id", dataType = "Long") + private Long staffId; + @ApiModelProperty(value = "人员名称", dataType = "String") + private String staffName; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java index a829ada..4f3598c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java @@ -246,4 +246,10 @@ Page responsePage = equipmentInfoService.selectResumeListPage(page, idDTO); return ReturnUtil.success(super.packForBT(responsePage)); } + + @ApiOperation("判断设备基本信息是否有变更(true有变更 false无变更)") + @PostMapping("/hasChanged") + public ReturnDTO hasChanged(@RequestBody @Valid EquipmentAddRequest request){ + return equipmentInfoService.hasChanged(request); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java new file mode 100644 index 0000000..8c122ef --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.equipment; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author: TuT + * @createTime: 2024-05-10 15:19 + * @description: StandardCarryOutItemRequest + */ +@Data +@ApiModel +public class StandardCarryOutItemRequest { + @ApiModelProperty(value = "人员id", dataType = "Long") + private Long staffId; + @ApiModelProperty(value = "人员名称", dataType = "String") + private String staffName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java index e043b23..a10668b 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java @@ -3,11 +3,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.dto.equipment.StandardCarryOutItemRequest; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; /** *

@@ -60,8 +62,11 @@ * 持有该参数的人员 */ @ApiModelProperty(value = "持有该参数的人员",dataType = "String") + @TableField(exist = false) + private List personList; + + @ApiModelProperty(hidden = true) @TableField("param_person") private String paramPerson; - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java index a829ada..4f3598c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java @@ -246,4 +246,10 @@ Page responsePage = equipmentInfoService.selectResumeListPage(page, idDTO); return ReturnUtil.success(super.packForBT(responsePage)); } + + @ApiOperation("判断设备基本信息是否有变更(true有变更 false无变更)") + @PostMapping("/hasChanged") + public ReturnDTO hasChanged(@RequestBody @Valid EquipmentAddRequest request){ + return equipmentInfoService.hasChanged(request); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java new file mode 100644 index 0000000..8c122ef --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.equipment; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author: TuT + * @createTime: 2024-05-10 15:19 + * @description: StandardCarryOutItemRequest + */ +@Data +@ApiModel +public class StandardCarryOutItemRequest { + @ApiModelProperty(value = "人员id", dataType = "Long") + private Long staffId; + @ApiModelProperty(value = "人员名称", dataType = "String") + private String staffName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java index e043b23..a10668b 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java @@ -3,11 +3,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.dto.equipment.StandardCarryOutItemRequest; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; /** *

@@ -60,8 +62,11 @@ * 持有该参数的人员 */ @ApiModelProperty(value = "持有该参数的人员",dataType = "String") + @TableField(exist = false) + private List personList; + + @ApiModelProperty(hidden = true) @TableField("param_person") private String paramPerson; - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 94a4b69..c371269 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -422,10 +422,30 @@ Map> measureDataMap = measureItemInfo.getMeasureDataCalibratorList().stream().collect( Collectors.groupingBy(BizBusinessDeviceMeasureDataCalibrator::getParams) ); - titleIndex = checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, "交流电流"); - titleIndex = checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "交流电压"); - titleIndex = checkRemoveItem(measureDataMap, "DCI", map, "thirdSeq", titleIndex, dataItems, startIndex + 2, "直流电流"); - checkRemoveItem(measureDataMap, "DCV", map, "fourthSeq", titleIndex, dataItems, startIndex + 3, "直流电压"); + if (measureDataMap.get("ACI").isEmpty()) { + addDataRemoveItem(dataItems, startIndex, ""); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("ACV").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 1, ""); + } else { + map.put("secondSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("DCI").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 2, ""); + } else { + map.put("thirdSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("DCV").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 3, ""); + } else { + map.put("fourthSeq", (titleIndex++) + "."); + } +// titleIndex = checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, ""); +// titleIndex = checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, ""); +// titleIndex = checkRemoveItem(measureDataMap, "DCI", map, "thirdSeq", titleIndex, dataItems, startIndex + 2, ""); +// checkRemoveItem(measureDataMap, "DCV", map, "fourthSeq", titleIndex, dataItems, startIndex + 3, ""); } else {//其他检查项 if (CollectionUtils.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { addDataRemoveItem(dataItems, startIndex, measureItemInfo.getItemCategoryName().contains("交流电压") ? "基本误差" : "示值误差"); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java index a829ada..4f3598c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java @@ -246,4 +246,10 @@ Page responsePage = equipmentInfoService.selectResumeListPage(page, idDTO); return ReturnUtil.success(super.packForBT(responsePage)); } + + @ApiOperation("判断设备基本信息是否有变更(true有变更 false无变更)") + @PostMapping("/hasChanged") + public ReturnDTO hasChanged(@RequestBody @Valid EquipmentAddRequest request){ + return equipmentInfoService.hasChanged(request); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java new file mode 100644 index 0000000..8c122ef --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.equipment; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author: TuT + * @createTime: 2024-05-10 15:19 + * @description: StandardCarryOutItemRequest + */ +@Data +@ApiModel +public class StandardCarryOutItemRequest { + @ApiModelProperty(value = "人员id", dataType = "Long") + private Long staffId; + @ApiModelProperty(value = "人员名称", dataType = "String") + private String staffName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java index e043b23..a10668b 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java @@ -3,11 +3,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.dto.equipment.StandardCarryOutItemRequest; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; /** *

@@ -60,8 +62,11 @@ * 持有该参数的人员 */ @ApiModelProperty(value = "持有该参数的人员",dataType = "String") + @TableField(exist = false) + private List personList; + + @ApiModelProperty(hidden = true) @TableField("param_person") private String paramPerson; - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 94a4b69..c371269 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -422,10 +422,30 @@ Map> measureDataMap = measureItemInfo.getMeasureDataCalibratorList().stream().collect( Collectors.groupingBy(BizBusinessDeviceMeasureDataCalibrator::getParams) ); - titleIndex = checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, "交流电流"); - titleIndex = checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "交流电压"); - titleIndex = checkRemoveItem(measureDataMap, "DCI", map, "thirdSeq", titleIndex, dataItems, startIndex + 2, "直流电流"); - checkRemoveItem(measureDataMap, "DCV", map, "fourthSeq", titleIndex, dataItems, startIndex + 3, "直流电压"); + if (measureDataMap.get("ACI").isEmpty()) { + addDataRemoveItem(dataItems, startIndex, ""); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("ACV").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 1, ""); + } else { + map.put("secondSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("DCI").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 2, ""); + } else { + map.put("thirdSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("DCV").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 3, ""); + } else { + map.put("fourthSeq", (titleIndex++) + "."); + } +// titleIndex = checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, ""); +// titleIndex = checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, ""); +// titleIndex = checkRemoveItem(measureDataMap, "DCI", map, "thirdSeq", titleIndex, dataItems, startIndex + 2, ""); +// checkRemoveItem(measureDataMap, "DCV", map, "fourthSeq", titleIndex, dataItems, startIndex + 3, ""); } else {//其他检查项 if (CollectionUtils.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { addDataRemoveItem(dataItems, startIndex, measureItemInfo.getItemCategoryName().contains("交流电压") ? "基本误差" : "示值误差"); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java index 845acbe..1e18a3f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java @@ -866,6 +866,234 @@ return null; } + @Override + public ReturnDTO hasChanged(EquipmentAddRequest request) { + //前台传入变更后数据 + BizEquipmentInfoApproval equipmentInfoApproval = request.getEquipmentInfoApproval(); + //变更前数据 + BizEquipmentInfo bizEquipmentInfo = equipmentInfoMapper.selectByNo(equipmentInfoApproval.getEquipmentNo()); + String equipmentName = equipmentInfoApproval.getEquipmentName(); + String infoEquipmentName = bizEquipmentInfo.getEquipmentName(); + if ((equipmentName == null || equipmentName.isEmpty()) ^ (infoEquipmentName == null || infoEquipmentName.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(equipmentName) && StringUtils.isNotBlank(infoEquipmentName) && !Objects.equals(equipmentName, infoEquipmentName)) { + return ReturnUtil.success(true); + } + Long unpackRecordId = equipmentInfoApproval.getUnpackRecordId(); + Long infoUnpackRecordId = bizEquipmentInfo.getUnpackRecordId(); + if (unpackRecordId == null ^ infoUnpackRecordId == null) { + return ReturnUtil.success(true); + } + if (unpackRecordId != null && unpackRecordId.compareTo(infoUnpackRecordId) != 0) { + return ReturnUtil.success(true); + } + String purchaseDate = equipmentInfoApproval.getPurchaseDate(); + String infoPurchaseDate = bizEquipmentInfo.getPurchaseDate(); + if ((purchaseDate == null || purchaseDate.isEmpty()) ^ (infoPurchaseDate == null || infoPurchaseDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(purchaseDate) && StringUtils.isNotBlank(infoPurchaseDate) && !Objects.equals(purchaseDate, infoPurchaseDate)) { + return ReturnUtil.success(true); + } + String productCountry = equipmentInfoApproval.getProductCountry(); + String infoProductCountry = bizEquipmentInfo.getProductCountry(); + if ((productCountry == null || productCountry.isEmpty()) ^ (infoProductCountry == null || infoProductCountry.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(productCountry) && StringUtils.isNotBlank(infoProductCountry) && !Objects.equals(productCountry, infoProductCountry)) { + return ReturnUtil.success(true); + } + String manufacturer = equipmentInfoApproval.getManufacturer(); + String infoManufacturer = bizEquipmentInfo.getManufacturer(); + if ((manufacturer == null || manufacturer.isEmpty()) ^ (infoManufacturer == null || infoManufacturer.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(manufacturer) && StringUtils.isNotBlank(infoManufacturer) && !Objects.equals(manufacturer, infoManufacturer)) { + return ReturnUtil.success(true); + } + String manufactureNo = equipmentInfoApproval.getManufactureNo(); + String infoManufactureNo = bizEquipmentInfo.getManufactureNo(); + if ((manufactureNo == null || manufactureNo.isEmpty()) ^ (infoManufactureNo == null || infoManufactureNo.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(manufactureNo) && StringUtils.isNotBlank(infoManufactureNo) && !Objects.equals(manufactureNo, infoManufactureNo)) { + return ReturnUtil.success(true); + } + String produceDate = equipmentInfoApproval.getProduceDate(); + String infoProduceDate = bizEquipmentInfo.getProduceDate(); + if ((produceDate == null || produceDate.isEmpty()) ^ (infoProduceDate == null || infoProduceDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(produceDate) && StringUtils.isNotBlank(infoProduceDate) && !Objects.equals(produceDate, infoProduceDate)) { + return ReturnUtil.success(true); + } + BigDecimal unitPrice = equipmentInfoApproval.getUnitPrice(); + BigDecimal infoUnitPrice = bizEquipmentInfo.getUnitPrice(); + if (unitPrice == null ^ infoUnitPrice == null) { + return ReturnUtil.success(true); + } + if (unitPrice != null && unitPrice.compareTo(infoUnitPrice) != 0) { + return ReturnUtil.success(true); + } + String usedYears = equipmentInfoApproval.getUsedYears(); + String infoUsedYears = bizEquipmentInfo.getUsedYears(); + if ((usedYears == null || usedYears.isEmpty()) ^ (infoUsedYears == null || infoUsedYears.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(usedYears) && StringUtils.isNotBlank(infoUsedYears) && !Objects.equals(usedYears, infoUsedYears)) { + return ReturnUtil.success(true); + } + String model = equipmentInfoApproval.getModel(); + String infoModel = bizEquipmentInfo.getModel(); + if ((model == null || model.isEmpty()) ^ (infoModel == null || infoModel.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(model) && StringUtils.isNotBlank(infoModel) && !Objects.equals(model, infoModel)) { + return ReturnUtil.success(true); + } + String qualityStatus = equipmentInfoApproval.getQualityStatus(); + String infoQualityStatus = bizEquipmentInfo.getQualityStatus(); + if ((qualityStatus == null || qualityStatus.isEmpty()) ^ (infoQualityStatus == null || infoQualityStatus.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(qualityStatus) && StringUtils.isNotBlank(infoQualityStatus) && !Objects.equals(qualityStatus, infoQualityStatus)) { + return ReturnUtil.success(true); + } + String usageStatus = equipmentInfoApproval.getUsageStatus(); + String infoUsageStatus = bizEquipmentInfo.getUsageStatus(); + if ((usageStatus == null || usageStatus.isEmpty()) ^ (infoUsageStatus == null || infoUsageStatus.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(usageStatus) && StringUtils.isNotBlank(infoUsageStatus) && !Objects.equals(usageStatus, infoUsageStatus)) { + return ReturnUtil.success(true); + } + String level = equipmentInfoApproval.getLevel(); + String infoLevel = bizEquipmentInfo.getLevel(); + if ((level == null || level.isEmpty()) ^ (infoLevel == null || infoLevel.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(level) && StringUtils.isNotBlank(infoLevel) && !Objects.equals(level, infoLevel)) { + return ReturnUtil.success(true); + } + + String type = equipmentInfoApproval.getType(); + String infoType = bizEquipmentInfo.getType(); + if ((type == null || type.isEmpty()) ^ (infoType == null || infoType.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(infoType) && !Objects.equals(type, infoType)) { + return ReturnUtil.success(true); + } + + String standardType = equipmentInfoApproval.getStandardType(); + String infoStandardType = bizEquipmentInfo.getStandardType(); + if ((standardType == null || standardType.isEmpty()) ^ (infoStandardType == null || infoStandardType.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(standardType) && StringUtils.isNotBlank(infoStandardType) && !Objects.equals(standardType, infoStandardType)) { + return ReturnUtil.success(true); + } + String labCode = equipmentInfoApproval.getLabCode(); + String infoLabCode = bizEquipmentInfo.getLabCode(); + if ((labCode == null || labCode.isEmpty()) ^ (infoLabCode == null || infoLabCode.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(labCode) && StringUtils.isNotBlank(infoLabCode) && !Objects.equals(labCode, infoLabCode)) { + return ReturnUtil.success(true); + } + String groupCode = equipmentInfoApproval.getGroupCode(); + String infoGroupCode = bizEquipmentInfo.getGroupCode(); + if ((groupCode == null || groupCode.isEmpty()) ^ (infoGroupCode == null || infoGroupCode.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(groupCode) && StringUtils.isNotBlank(infoGroupCode) && !Objects.equals(groupCode, infoGroupCode)) { + return ReturnUtil.success(true); + } + Long directorId = equipmentInfoApproval.getDirectorId(); + Long infoDirectorId = bizEquipmentInfo.getDirectorId(); + if (directorId == null ^ infoDirectorId == null) { + return ReturnUtil.success(true); + } + if (directorId != null && directorId.compareTo(infoDirectorId) != 0) { + return ReturnUtil.success(true); + } + String measureCycle = equipmentInfoApproval.getMeasureCycle(); + String infoMeasureCycle = bizEquipmentInfo.getMeasureCycle(); + if ((measureCycle == null || measureCycle.isEmpty()) ^ (infoMeasureCycle == null || infoMeasureCycle.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(measureCycle) && StringUtils.isNotBlank(infoMeasureCycle) && !Objects.equals(measureCycle, infoMeasureCycle)) { + return ReturnUtil.success(true); + } + Long supplierId = equipmentInfoApproval.getSupplierId(); + Long infoSupplierId = bizEquipmentInfo.getSupplierId(); + if (supplierId == null ^ infoSupplierId == null) { + return ReturnUtil.success(true); + } + if (supplierId != null && supplierId.compareTo(infoSupplierId) != 0) { + return ReturnUtil.success(true); + } + String location = equipmentInfoApproval.getLocation(); + String infoLocation = bizEquipmentInfo.getLocation(); + if ((location == null || location.isEmpty()) ^ (infoLocation == null || infoLocation.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(location) && StringUtils.isNotBlank(infoLocation) && !Objects.equals(location, infoLocation)) { + return ReturnUtil.success(true); + } + String remark = equipmentInfoApproval.getRemark(); + String infoRemark = bizEquipmentInfo.getRemark(); + if ((remark == null || remark.isEmpty()) ^ (infoRemark == null || infoRemark.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(remark) && StringUtils.isNotBlank(infoRemark) && !Objects.equals(remark, infoRemark)) { + return ReturnUtil.success(true); + } + String instructionsFile = equipmentInfoApproval.getInstructionsFile(); + String infoInstructionsFile = bizEquipmentInfo.getInstructionsFile(); + if ((instructionsFile == null || instructionsFile.isEmpty()) ^ (infoInstructionsFile == null || infoInstructionsFile.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(instructionsFile) && StringUtils.isNotBlank(infoInstructionsFile) && !Objects.equals(instructionsFile, infoInstructionsFile)) { + return ReturnUtil.success(true); + } + String traceCompany = equipmentInfoApproval.getTraceCompany(); + String infoTraceCompany = bizEquipmentInfo.getTraceCompany(); + if ((traceCompany == null || traceCompany.isEmpty()) ^ (infoTraceCompany == null || infoTraceCompany.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(traceCompany) && StringUtils.isNotBlank(infoTraceCompany) && !Objects.equals(traceCompany, infoTraceCompany)) { + return ReturnUtil.success(true); + } + String traceDate = equipmentInfoApproval.getTraceDate(); + String infoTraceDate = bizEquipmentInfo.getTraceDate(); + if ((traceDate == null || traceDate.isEmpty()) ^ (infoTraceDate == null || infoTraceDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(traceDate) && StringUtils.isNotBlank(infoTraceDate) && !Objects.equals(traceDate, infoTraceDate)) { + return ReturnUtil.success(true); + } + String measureValidDate = equipmentInfoApproval.getMeasureValidDate(); + String infoMeasureValidDate = bizEquipmentInfo.getMeasureValidDate(); + if ((measureValidDate == null || measureValidDate.isEmpty()) ^ (infoMeasureValidDate == null || infoMeasureValidDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(measureValidDate) && StringUtils.isNotBlank(infoMeasureValidDate) && !Objects.equals(measureValidDate, infoMeasureValidDate)) { + return ReturnUtil.success(true); + } + + String meterIdentify = equipmentInfoApproval.getMeterIdentify(); + String infoMeterIdentify = bizEquipmentInfo.getMeterIdentify(); + if ((meterIdentify == null || meterIdentify.isEmpty()) ^ (infoMeterIdentify == null || infoMeterIdentify.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(meterIdentify) && StringUtils.isNotBlank(infoMeterIdentify) && !Objects.equals(meterIdentify, infoMeterIdentify)) { + return ReturnUtil.success(true); + } + return ReturnUtil.success(false); + } + private void selectUpsRecordList(EquipmentEnvironmentRequest request, List responseList) { //ups电源 LambdaQueryWrapper upsRecordWrapper = new LambdaQueryWrapper<>(); @@ -955,7 +1183,7 @@ equipmentInfo.setMeterStandardName(standardName); //设置行颜色标识 DateTime today = DateUtil.parse(DateUtil.today()); - if (StringUtils.isNotBlank(equipmentInfo.getMeasureValidDate())){ + if (StringUtils.isNotBlank(equipmentInfo.getMeasureValidDate())) { DateTime validDate = DateUtil.parse(equipmentInfo.getMeasureValidDate()); boolean after = today.isAfter(validDate); if (after) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java index a829ada..4f3598c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java @@ -246,4 +246,10 @@ Page responsePage = equipmentInfoService.selectResumeListPage(page, idDTO); return ReturnUtil.success(super.packForBT(responsePage)); } + + @ApiOperation("判断设备基本信息是否有变更(true有变更 false无变更)") + @PostMapping("/hasChanged") + public ReturnDTO hasChanged(@RequestBody @Valid EquipmentAddRequest request){ + return equipmentInfoService.hasChanged(request); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java new file mode 100644 index 0000000..8c122ef --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.equipment; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author: TuT + * @createTime: 2024-05-10 15:19 + * @description: StandardCarryOutItemRequest + */ +@Data +@ApiModel +public class StandardCarryOutItemRequest { + @ApiModelProperty(value = "人员id", dataType = "Long") + private Long staffId; + @ApiModelProperty(value = "人员名称", dataType = "String") + private String staffName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java index e043b23..a10668b 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java @@ -3,11 +3,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.dto.equipment.StandardCarryOutItemRequest; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; /** *

@@ -60,8 +62,11 @@ * 持有该参数的人员 */ @ApiModelProperty(value = "持有该参数的人员",dataType = "String") + @TableField(exist = false) + private List personList; + + @ApiModelProperty(hidden = true) @TableField("param_person") private String paramPerson; - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 94a4b69..c371269 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -422,10 +422,30 @@ Map> measureDataMap = measureItemInfo.getMeasureDataCalibratorList().stream().collect( Collectors.groupingBy(BizBusinessDeviceMeasureDataCalibrator::getParams) ); - titleIndex = checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, "交流电流"); - titleIndex = checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "交流电压"); - titleIndex = checkRemoveItem(measureDataMap, "DCI", map, "thirdSeq", titleIndex, dataItems, startIndex + 2, "直流电流"); - checkRemoveItem(measureDataMap, "DCV", map, "fourthSeq", titleIndex, dataItems, startIndex + 3, "直流电压"); + if (measureDataMap.get("ACI").isEmpty()) { + addDataRemoveItem(dataItems, startIndex, ""); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("ACV").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 1, ""); + } else { + map.put("secondSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("DCI").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 2, ""); + } else { + map.put("thirdSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("DCV").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 3, ""); + } else { + map.put("fourthSeq", (titleIndex++) + "."); + } +// titleIndex = checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, ""); +// titleIndex = checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, ""); +// titleIndex = checkRemoveItem(measureDataMap, "DCI", map, "thirdSeq", titleIndex, dataItems, startIndex + 2, ""); +// checkRemoveItem(measureDataMap, "DCV", map, "fourthSeq", titleIndex, dataItems, startIndex + 3, ""); } else {//其他检查项 if (CollectionUtils.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { addDataRemoveItem(dataItems, startIndex, measureItemInfo.getItemCategoryName().contains("交流电压") ? "基本误差" : "示值误差"); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java index 845acbe..1e18a3f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java @@ -866,6 +866,234 @@ return null; } + @Override + public ReturnDTO hasChanged(EquipmentAddRequest request) { + //前台传入变更后数据 + BizEquipmentInfoApproval equipmentInfoApproval = request.getEquipmentInfoApproval(); + //变更前数据 + BizEquipmentInfo bizEquipmentInfo = equipmentInfoMapper.selectByNo(equipmentInfoApproval.getEquipmentNo()); + String equipmentName = equipmentInfoApproval.getEquipmentName(); + String infoEquipmentName = bizEquipmentInfo.getEquipmentName(); + if ((equipmentName == null || equipmentName.isEmpty()) ^ (infoEquipmentName == null || infoEquipmentName.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(equipmentName) && StringUtils.isNotBlank(infoEquipmentName) && !Objects.equals(equipmentName, infoEquipmentName)) { + return ReturnUtil.success(true); + } + Long unpackRecordId = equipmentInfoApproval.getUnpackRecordId(); + Long infoUnpackRecordId = bizEquipmentInfo.getUnpackRecordId(); + if (unpackRecordId == null ^ infoUnpackRecordId == null) { + return ReturnUtil.success(true); + } + if (unpackRecordId != null && unpackRecordId.compareTo(infoUnpackRecordId) != 0) { + return ReturnUtil.success(true); + } + String purchaseDate = equipmentInfoApproval.getPurchaseDate(); + String infoPurchaseDate = bizEquipmentInfo.getPurchaseDate(); + if ((purchaseDate == null || purchaseDate.isEmpty()) ^ (infoPurchaseDate == null || infoPurchaseDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(purchaseDate) && StringUtils.isNotBlank(infoPurchaseDate) && !Objects.equals(purchaseDate, infoPurchaseDate)) { + return ReturnUtil.success(true); + } + String productCountry = equipmentInfoApproval.getProductCountry(); + String infoProductCountry = bizEquipmentInfo.getProductCountry(); + if ((productCountry == null || productCountry.isEmpty()) ^ (infoProductCountry == null || infoProductCountry.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(productCountry) && StringUtils.isNotBlank(infoProductCountry) && !Objects.equals(productCountry, infoProductCountry)) { + return ReturnUtil.success(true); + } + String manufacturer = equipmentInfoApproval.getManufacturer(); + String infoManufacturer = bizEquipmentInfo.getManufacturer(); + if ((manufacturer == null || manufacturer.isEmpty()) ^ (infoManufacturer == null || infoManufacturer.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(manufacturer) && StringUtils.isNotBlank(infoManufacturer) && !Objects.equals(manufacturer, infoManufacturer)) { + return ReturnUtil.success(true); + } + String manufactureNo = equipmentInfoApproval.getManufactureNo(); + String infoManufactureNo = bizEquipmentInfo.getManufactureNo(); + if ((manufactureNo == null || manufactureNo.isEmpty()) ^ (infoManufactureNo == null || infoManufactureNo.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(manufactureNo) && StringUtils.isNotBlank(infoManufactureNo) && !Objects.equals(manufactureNo, infoManufactureNo)) { + return ReturnUtil.success(true); + } + String produceDate = equipmentInfoApproval.getProduceDate(); + String infoProduceDate = bizEquipmentInfo.getProduceDate(); + if ((produceDate == null || produceDate.isEmpty()) ^ (infoProduceDate == null || infoProduceDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(produceDate) && StringUtils.isNotBlank(infoProduceDate) && !Objects.equals(produceDate, infoProduceDate)) { + return ReturnUtil.success(true); + } + BigDecimal unitPrice = equipmentInfoApproval.getUnitPrice(); + BigDecimal infoUnitPrice = bizEquipmentInfo.getUnitPrice(); + if (unitPrice == null ^ infoUnitPrice == null) { + return ReturnUtil.success(true); + } + if (unitPrice != null && unitPrice.compareTo(infoUnitPrice) != 0) { + return ReturnUtil.success(true); + } + String usedYears = equipmentInfoApproval.getUsedYears(); + String infoUsedYears = bizEquipmentInfo.getUsedYears(); + if ((usedYears == null || usedYears.isEmpty()) ^ (infoUsedYears == null || infoUsedYears.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(usedYears) && StringUtils.isNotBlank(infoUsedYears) && !Objects.equals(usedYears, infoUsedYears)) { + return ReturnUtil.success(true); + } + String model = equipmentInfoApproval.getModel(); + String infoModel = bizEquipmentInfo.getModel(); + if ((model == null || model.isEmpty()) ^ (infoModel == null || infoModel.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(model) && StringUtils.isNotBlank(infoModel) && !Objects.equals(model, infoModel)) { + return ReturnUtil.success(true); + } + String qualityStatus = equipmentInfoApproval.getQualityStatus(); + String infoQualityStatus = bizEquipmentInfo.getQualityStatus(); + if ((qualityStatus == null || qualityStatus.isEmpty()) ^ (infoQualityStatus == null || infoQualityStatus.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(qualityStatus) && StringUtils.isNotBlank(infoQualityStatus) && !Objects.equals(qualityStatus, infoQualityStatus)) { + return ReturnUtil.success(true); + } + String usageStatus = equipmentInfoApproval.getUsageStatus(); + String infoUsageStatus = bizEquipmentInfo.getUsageStatus(); + if ((usageStatus == null || usageStatus.isEmpty()) ^ (infoUsageStatus == null || infoUsageStatus.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(usageStatus) && StringUtils.isNotBlank(infoUsageStatus) && !Objects.equals(usageStatus, infoUsageStatus)) { + return ReturnUtil.success(true); + } + String level = equipmentInfoApproval.getLevel(); + String infoLevel = bizEquipmentInfo.getLevel(); + if ((level == null || level.isEmpty()) ^ (infoLevel == null || infoLevel.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(level) && StringUtils.isNotBlank(infoLevel) && !Objects.equals(level, infoLevel)) { + return ReturnUtil.success(true); + } + + String type = equipmentInfoApproval.getType(); + String infoType = bizEquipmentInfo.getType(); + if ((type == null || type.isEmpty()) ^ (infoType == null || infoType.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(infoType) && !Objects.equals(type, infoType)) { + return ReturnUtil.success(true); + } + + String standardType = equipmentInfoApproval.getStandardType(); + String infoStandardType = bizEquipmentInfo.getStandardType(); + if ((standardType == null || standardType.isEmpty()) ^ (infoStandardType == null || infoStandardType.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(standardType) && StringUtils.isNotBlank(infoStandardType) && !Objects.equals(standardType, infoStandardType)) { + return ReturnUtil.success(true); + } + String labCode = equipmentInfoApproval.getLabCode(); + String infoLabCode = bizEquipmentInfo.getLabCode(); + if ((labCode == null || labCode.isEmpty()) ^ (infoLabCode == null || infoLabCode.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(labCode) && StringUtils.isNotBlank(infoLabCode) && !Objects.equals(labCode, infoLabCode)) { + return ReturnUtil.success(true); + } + String groupCode = equipmentInfoApproval.getGroupCode(); + String infoGroupCode = bizEquipmentInfo.getGroupCode(); + if ((groupCode == null || groupCode.isEmpty()) ^ (infoGroupCode == null || infoGroupCode.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(groupCode) && StringUtils.isNotBlank(infoGroupCode) && !Objects.equals(groupCode, infoGroupCode)) { + return ReturnUtil.success(true); + } + Long directorId = equipmentInfoApproval.getDirectorId(); + Long infoDirectorId = bizEquipmentInfo.getDirectorId(); + if (directorId == null ^ infoDirectorId == null) { + return ReturnUtil.success(true); + } + if (directorId != null && directorId.compareTo(infoDirectorId) != 0) { + return ReturnUtil.success(true); + } + String measureCycle = equipmentInfoApproval.getMeasureCycle(); + String infoMeasureCycle = bizEquipmentInfo.getMeasureCycle(); + if ((measureCycle == null || measureCycle.isEmpty()) ^ (infoMeasureCycle == null || infoMeasureCycle.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(measureCycle) && StringUtils.isNotBlank(infoMeasureCycle) && !Objects.equals(measureCycle, infoMeasureCycle)) { + return ReturnUtil.success(true); + } + Long supplierId = equipmentInfoApproval.getSupplierId(); + Long infoSupplierId = bizEquipmentInfo.getSupplierId(); + if (supplierId == null ^ infoSupplierId == null) { + return ReturnUtil.success(true); + } + if (supplierId != null && supplierId.compareTo(infoSupplierId) != 0) { + return ReturnUtil.success(true); + } + String location = equipmentInfoApproval.getLocation(); + String infoLocation = bizEquipmentInfo.getLocation(); + if ((location == null || location.isEmpty()) ^ (infoLocation == null || infoLocation.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(location) && StringUtils.isNotBlank(infoLocation) && !Objects.equals(location, infoLocation)) { + return ReturnUtil.success(true); + } + String remark = equipmentInfoApproval.getRemark(); + String infoRemark = bizEquipmentInfo.getRemark(); + if ((remark == null || remark.isEmpty()) ^ (infoRemark == null || infoRemark.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(remark) && StringUtils.isNotBlank(infoRemark) && !Objects.equals(remark, infoRemark)) { + return ReturnUtil.success(true); + } + String instructionsFile = equipmentInfoApproval.getInstructionsFile(); + String infoInstructionsFile = bizEquipmentInfo.getInstructionsFile(); + if ((instructionsFile == null || instructionsFile.isEmpty()) ^ (infoInstructionsFile == null || infoInstructionsFile.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(instructionsFile) && StringUtils.isNotBlank(infoInstructionsFile) && !Objects.equals(instructionsFile, infoInstructionsFile)) { + return ReturnUtil.success(true); + } + String traceCompany = equipmentInfoApproval.getTraceCompany(); + String infoTraceCompany = bizEquipmentInfo.getTraceCompany(); + if ((traceCompany == null || traceCompany.isEmpty()) ^ (infoTraceCompany == null || infoTraceCompany.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(traceCompany) && StringUtils.isNotBlank(infoTraceCompany) && !Objects.equals(traceCompany, infoTraceCompany)) { + return ReturnUtil.success(true); + } + String traceDate = equipmentInfoApproval.getTraceDate(); + String infoTraceDate = bizEquipmentInfo.getTraceDate(); + if ((traceDate == null || traceDate.isEmpty()) ^ (infoTraceDate == null || infoTraceDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(traceDate) && StringUtils.isNotBlank(infoTraceDate) && !Objects.equals(traceDate, infoTraceDate)) { + return ReturnUtil.success(true); + } + String measureValidDate = equipmentInfoApproval.getMeasureValidDate(); + String infoMeasureValidDate = bizEquipmentInfo.getMeasureValidDate(); + if ((measureValidDate == null || measureValidDate.isEmpty()) ^ (infoMeasureValidDate == null || infoMeasureValidDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(measureValidDate) && StringUtils.isNotBlank(infoMeasureValidDate) && !Objects.equals(measureValidDate, infoMeasureValidDate)) { + return ReturnUtil.success(true); + } + + String meterIdentify = equipmentInfoApproval.getMeterIdentify(); + String infoMeterIdentify = bizEquipmentInfo.getMeterIdentify(); + if ((meterIdentify == null || meterIdentify.isEmpty()) ^ (infoMeterIdentify == null || infoMeterIdentify.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(meterIdentify) && StringUtils.isNotBlank(infoMeterIdentify) && !Objects.equals(meterIdentify, infoMeterIdentify)) { + return ReturnUtil.success(true); + } + return ReturnUtil.success(false); + } + private void selectUpsRecordList(EquipmentEnvironmentRequest request, List responseList) { //ups电源 LambdaQueryWrapper upsRecordWrapper = new LambdaQueryWrapper<>(); @@ -955,7 +1183,7 @@ equipmentInfo.setMeterStandardName(standardName); //设置行颜色标识 DateTime today = DateUtil.parse(DateUtil.today()); - if (StringUtils.isNotBlank(equipmentInfo.getMeasureValidDate())){ + if (StringUtils.isNotBlank(equipmentInfo.getMeasureValidDate())) { DateTime validDate = DateUtil.parse(equipmentInfo.getMeasureValidDate()); boolean after = today.isAfter(validDate); if (after) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCarryoutItemServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCarryoutItemServiceImpl.java index 11ea70d..6e65738 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCarryoutItemServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCarryoutItemServiceImpl.java @@ -1,5 +1,7 @@ package com.casic.missiles.service.Impl.equipment; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -7,11 +9,15 @@ import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.equipment.StandardCarryOutItemRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.BizEquipmentStandardCarryoutItemMapper; import com.casic.missiles.model.equipment.BizEquipmentStandardCarryoutItem; import com.casic.missiles.service.equipment.IBizEquipmentStandardCarryoutItemService; +import com.google.common.reflect.TypeToken; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import org.springframework.stereotype.Service; import java.util.List; @@ -31,12 +37,23 @@ public Page listPage(Page page, IdDTO idDTO) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("standard_id", idDTO.getId()); - return this.baseMapper.selectPage(page, wrapper); + Page itemPage = this.baseMapper.selectPage(page, wrapper); + List records = itemPage.getRecords(); + records.forEach(r -> { + List itemRequests = JSONObject.parseArray(r.getParamPerson(), StandardCarryOutItemRequest.class); + r.setPersonList(itemRequests); + }); + return itemPage; } @Override public ReturnDTO addCarryoutItem(List carryoutItemList) { - if(this.saveBatch(carryoutItemList)){ + for (BizEquipmentStandardCarryoutItem carryoutItem : carryoutItemList) { + List list = carryoutItem.getPersonList(); + String s = JSON.toJSONString(list); + carryoutItem.setParamPerson(s); + } + if (this.saveBatch(carryoutItemList)) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -44,7 +61,10 @@ @Override public ReturnDTO updateCarryoutItem(BizEquipmentStandardCarryoutItem carryoutItem) { - if(this.baseMapper.updateById(carryoutItem) > 0){ + List list = carryoutItem.getPersonList(); + String s = JSON.toJSONString(list); + carryoutItem.setParamPerson(s); + if (this.baseMapper.updateById(carryoutItem) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -52,7 +72,7 @@ @Override public ReturnDTO deleteCarryoutItem(IdsDTO idsDTO) { - if(this.baseMapper.deleteBatchIds(idsDTO.getIds()) > 0){ + if (this.baseMapper.deleteBatchIds(idsDTO.getIds()) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java index a829ada..4f3598c 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentInfoController.java @@ -246,4 +246,10 @@ Page responsePage = equipmentInfoService.selectResumeListPage(page, idDTO); return ReturnUtil.success(super.packForBT(responsePage)); } + + @ApiOperation("判断设备基本信息是否有变更(true有变更 false无变更)") + @PostMapping("/hasChanged") + public ReturnDTO hasChanged(@RequestBody @Valid EquipmentAddRequest request){ + return equipmentInfoService.hasChanged(request); + } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java new file mode 100644 index 0000000..8c122ef --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/equipment/StandardCarryOutItemRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.dto.equipment; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author: TuT + * @createTime: 2024-05-10 15:19 + * @description: StandardCarryOutItemRequest + */ +@Data +@ApiModel +public class StandardCarryOutItemRequest { + @ApiModelProperty(value = "人员id", dataType = "Long") + private Long staffId; + @ApiModelProperty(value = "人员名称", dataType = "String") + private String staffName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java index e043b23..a10668b 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCarryoutItem.java @@ -3,11 +3,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.casic.missiles.dto.equipment.StandardCarryOutItemRequest; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; /** *

@@ -60,8 +62,11 @@ * 持有该参数的人员 */ @ApiModelProperty(value = "持有该参数的人员",dataType = "String") + @TableField(exist = false) + private List personList; + + @ApiModelProperty(hidden = true) @TableField("param_person") private String paramPerson; - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 94a4b69..c371269 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -422,10 +422,30 @@ Map> measureDataMap = measureItemInfo.getMeasureDataCalibratorList().stream().collect( Collectors.groupingBy(BizBusinessDeviceMeasureDataCalibrator::getParams) ); - titleIndex = checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, "交流电流"); - titleIndex = checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "交流电压"); - titleIndex = checkRemoveItem(measureDataMap, "DCI", map, "thirdSeq", titleIndex, dataItems, startIndex + 2, "直流电流"); - checkRemoveItem(measureDataMap, "DCV", map, "fourthSeq", titleIndex, dataItems, startIndex + 3, "直流电压"); + if (measureDataMap.get("ACI").isEmpty()) { + addDataRemoveItem(dataItems, startIndex, ""); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("ACV").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 1, ""); + } else { + map.put("secondSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("DCI").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 2, ""); + } else { + map.put("thirdSeq", (titleIndex++) + "."); + } + if (measureDataMap.get("DCV").isEmpty()) { + addDataRemoveItem(dataItems, startIndex + 3, ""); + } else { + map.put("fourthSeq", (titleIndex++) + "."); + } +// titleIndex = checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, ""); +// titleIndex = checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, ""); +// titleIndex = checkRemoveItem(measureDataMap, "DCI", map, "thirdSeq", titleIndex, dataItems, startIndex + 2, ""); +// checkRemoveItem(measureDataMap, "DCV", map, "fourthSeq", titleIndex, dataItems, startIndex + 3, ""); } else {//其他检查项 if (CollectionUtils.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { addDataRemoveItem(dataItems, startIndex, measureItemInfo.getItemCategoryName().contains("交流电压") ? "基本误差" : "示值误差"); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java index 845acbe..1e18a3f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentInfoServiceImpl.java @@ -866,6 +866,234 @@ return null; } + @Override + public ReturnDTO hasChanged(EquipmentAddRequest request) { + //前台传入变更后数据 + BizEquipmentInfoApproval equipmentInfoApproval = request.getEquipmentInfoApproval(); + //变更前数据 + BizEquipmentInfo bizEquipmentInfo = equipmentInfoMapper.selectByNo(equipmentInfoApproval.getEquipmentNo()); + String equipmentName = equipmentInfoApproval.getEquipmentName(); + String infoEquipmentName = bizEquipmentInfo.getEquipmentName(); + if ((equipmentName == null || equipmentName.isEmpty()) ^ (infoEquipmentName == null || infoEquipmentName.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(equipmentName) && StringUtils.isNotBlank(infoEquipmentName) && !Objects.equals(equipmentName, infoEquipmentName)) { + return ReturnUtil.success(true); + } + Long unpackRecordId = equipmentInfoApproval.getUnpackRecordId(); + Long infoUnpackRecordId = bizEquipmentInfo.getUnpackRecordId(); + if (unpackRecordId == null ^ infoUnpackRecordId == null) { + return ReturnUtil.success(true); + } + if (unpackRecordId != null && unpackRecordId.compareTo(infoUnpackRecordId) != 0) { + return ReturnUtil.success(true); + } + String purchaseDate = equipmentInfoApproval.getPurchaseDate(); + String infoPurchaseDate = bizEquipmentInfo.getPurchaseDate(); + if ((purchaseDate == null || purchaseDate.isEmpty()) ^ (infoPurchaseDate == null || infoPurchaseDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(purchaseDate) && StringUtils.isNotBlank(infoPurchaseDate) && !Objects.equals(purchaseDate, infoPurchaseDate)) { + return ReturnUtil.success(true); + } + String productCountry = equipmentInfoApproval.getProductCountry(); + String infoProductCountry = bizEquipmentInfo.getProductCountry(); + if ((productCountry == null || productCountry.isEmpty()) ^ (infoProductCountry == null || infoProductCountry.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(productCountry) && StringUtils.isNotBlank(infoProductCountry) && !Objects.equals(productCountry, infoProductCountry)) { + return ReturnUtil.success(true); + } + String manufacturer = equipmentInfoApproval.getManufacturer(); + String infoManufacturer = bizEquipmentInfo.getManufacturer(); + if ((manufacturer == null || manufacturer.isEmpty()) ^ (infoManufacturer == null || infoManufacturer.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(manufacturer) && StringUtils.isNotBlank(infoManufacturer) && !Objects.equals(manufacturer, infoManufacturer)) { + return ReturnUtil.success(true); + } + String manufactureNo = equipmentInfoApproval.getManufactureNo(); + String infoManufactureNo = bizEquipmentInfo.getManufactureNo(); + if ((manufactureNo == null || manufactureNo.isEmpty()) ^ (infoManufactureNo == null || infoManufactureNo.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(manufactureNo) && StringUtils.isNotBlank(infoManufactureNo) && !Objects.equals(manufactureNo, infoManufactureNo)) { + return ReturnUtil.success(true); + } + String produceDate = equipmentInfoApproval.getProduceDate(); + String infoProduceDate = bizEquipmentInfo.getProduceDate(); + if ((produceDate == null || produceDate.isEmpty()) ^ (infoProduceDate == null || infoProduceDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(produceDate) && StringUtils.isNotBlank(infoProduceDate) && !Objects.equals(produceDate, infoProduceDate)) { + return ReturnUtil.success(true); + } + BigDecimal unitPrice = equipmentInfoApproval.getUnitPrice(); + BigDecimal infoUnitPrice = bizEquipmentInfo.getUnitPrice(); + if (unitPrice == null ^ infoUnitPrice == null) { + return ReturnUtil.success(true); + } + if (unitPrice != null && unitPrice.compareTo(infoUnitPrice) != 0) { + return ReturnUtil.success(true); + } + String usedYears = equipmentInfoApproval.getUsedYears(); + String infoUsedYears = bizEquipmentInfo.getUsedYears(); + if ((usedYears == null || usedYears.isEmpty()) ^ (infoUsedYears == null || infoUsedYears.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(usedYears) && StringUtils.isNotBlank(infoUsedYears) && !Objects.equals(usedYears, infoUsedYears)) { + return ReturnUtil.success(true); + } + String model = equipmentInfoApproval.getModel(); + String infoModel = bizEquipmentInfo.getModel(); + if ((model == null || model.isEmpty()) ^ (infoModel == null || infoModel.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(model) && StringUtils.isNotBlank(infoModel) && !Objects.equals(model, infoModel)) { + return ReturnUtil.success(true); + } + String qualityStatus = equipmentInfoApproval.getQualityStatus(); + String infoQualityStatus = bizEquipmentInfo.getQualityStatus(); + if ((qualityStatus == null || qualityStatus.isEmpty()) ^ (infoQualityStatus == null || infoQualityStatus.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(qualityStatus) && StringUtils.isNotBlank(infoQualityStatus) && !Objects.equals(qualityStatus, infoQualityStatus)) { + return ReturnUtil.success(true); + } + String usageStatus = equipmentInfoApproval.getUsageStatus(); + String infoUsageStatus = bizEquipmentInfo.getUsageStatus(); + if ((usageStatus == null || usageStatus.isEmpty()) ^ (infoUsageStatus == null || infoUsageStatus.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(usageStatus) && StringUtils.isNotBlank(infoUsageStatus) && !Objects.equals(usageStatus, infoUsageStatus)) { + return ReturnUtil.success(true); + } + String level = equipmentInfoApproval.getLevel(); + String infoLevel = bizEquipmentInfo.getLevel(); + if ((level == null || level.isEmpty()) ^ (infoLevel == null || infoLevel.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(level) && StringUtils.isNotBlank(infoLevel) && !Objects.equals(level, infoLevel)) { + return ReturnUtil.success(true); + } + + String type = equipmentInfoApproval.getType(); + String infoType = bizEquipmentInfo.getType(); + if ((type == null || type.isEmpty()) ^ (infoType == null || infoType.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(infoType) && !Objects.equals(type, infoType)) { + return ReturnUtil.success(true); + } + + String standardType = equipmentInfoApproval.getStandardType(); + String infoStandardType = bizEquipmentInfo.getStandardType(); + if ((standardType == null || standardType.isEmpty()) ^ (infoStandardType == null || infoStandardType.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(standardType) && StringUtils.isNotBlank(infoStandardType) && !Objects.equals(standardType, infoStandardType)) { + return ReturnUtil.success(true); + } + String labCode = equipmentInfoApproval.getLabCode(); + String infoLabCode = bizEquipmentInfo.getLabCode(); + if ((labCode == null || labCode.isEmpty()) ^ (infoLabCode == null || infoLabCode.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(labCode) && StringUtils.isNotBlank(infoLabCode) && !Objects.equals(labCode, infoLabCode)) { + return ReturnUtil.success(true); + } + String groupCode = equipmentInfoApproval.getGroupCode(); + String infoGroupCode = bizEquipmentInfo.getGroupCode(); + if ((groupCode == null || groupCode.isEmpty()) ^ (infoGroupCode == null || infoGroupCode.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(groupCode) && StringUtils.isNotBlank(infoGroupCode) && !Objects.equals(groupCode, infoGroupCode)) { + return ReturnUtil.success(true); + } + Long directorId = equipmentInfoApproval.getDirectorId(); + Long infoDirectorId = bizEquipmentInfo.getDirectorId(); + if (directorId == null ^ infoDirectorId == null) { + return ReturnUtil.success(true); + } + if (directorId != null && directorId.compareTo(infoDirectorId) != 0) { + return ReturnUtil.success(true); + } + String measureCycle = equipmentInfoApproval.getMeasureCycle(); + String infoMeasureCycle = bizEquipmentInfo.getMeasureCycle(); + if ((measureCycle == null || measureCycle.isEmpty()) ^ (infoMeasureCycle == null || infoMeasureCycle.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(measureCycle) && StringUtils.isNotBlank(infoMeasureCycle) && !Objects.equals(measureCycle, infoMeasureCycle)) { + return ReturnUtil.success(true); + } + Long supplierId = equipmentInfoApproval.getSupplierId(); + Long infoSupplierId = bizEquipmentInfo.getSupplierId(); + if (supplierId == null ^ infoSupplierId == null) { + return ReturnUtil.success(true); + } + if (supplierId != null && supplierId.compareTo(infoSupplierId) != 0) { + return ReturnUtil.success(true); + } + String location = equipmentInfoApproval.getLocation(); + String infoLocation = bizEquipmentInfo.getLocation(); + if ((location == null || location.isEmpty()) ^ (infoLocation == null || infoLocation.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(location) && StringUtils.isNotBlank(infoLocation) && !Objects.equals(location, infoLocation)) { + return ReturnUtil.success(true); + } + String remark = equipmentInfoApproval.getRemark(); + String infoRemark = bizEquipmentInfo.getRemark(); + if ((remark == null || remark.isEmpty()) ^ (infoRemark == null || infoRemark.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(remark) && StringUtils.isNotBlank(infoRemark) && !Objects.equals(remark, infoRemark)) { + return ReturnUtil.success(true); + } + String instructionsFile = equipmentInfoApproval.getInstructionsFile(); + String infoInstructionsFile = bizEquipmentInfo.getInstructionsFile(); + if ((instructionsFile == null || instructionsFile.isEmpty()) ^ (infoInstructionsFile == null || infoInstructionsFile.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(instructionsFile) && StringUtils.isNotBlank(infoInstructionsFile) && !Objects.equals(instructionsFile, infoInstructionsFile)) { + return ReturnUtil.success(true); + } + String traceCompany = equipmentInfoApproval.getTraceCompany(); + String infoTraceCompany = bizEquipmentInfo.getTraceCompany(); + if ((traceCompany == null || traceCompany.isEmpty()) ^ (infoTraceCompany == null || infoTraceCompany.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(traceCompany) && StringUtils.isNotBlank(infoTraceCompany) && !Objects.equals(traceCompany, infoTraceCompany)) { + return ReturnUtil.success(true); + } + String traceDate = equipmentInfoApproval.getTraceDate(); + String infoTraceDate = bizEquipmentInfo.getTraceDate(); + if ((traceDate == null || traceDate.isEmpty()) ^ (infoTraceDate == null || infoTraceDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(traceDate) && StringUtils.isNotBlank(infoTraceDate) && !Objects.equals(traceDate, infoTraceDate)) { + return ReturnUtil.success(true); + } + String measureValidDate = equipmentInfoApproval.getMeasureValidDate(); + String infoMeasureValidDate = bizEquipmentInfo.getMeasureValidDate(); + if ((measureValidDate == null || measureValidDate.isEmpty()) ^ (infoMeasureValidDate == null || infoMeasureValidDate.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(measureValidDate) && StringUtils.isNotBlank(infoMeasureValidDate) && !Objects.equals(measureValidDate, infoMeasureValidDate)) { + return ReturnUtil.success(true); + } + + String meterIdentify = equipmentInfoApproval.getMeterIdentify(); + String infoMeterIdentify = bizEquipmentInfo.getMeterIdentify(); + if ((meterIdentify == null || meterIdentify.isEmpty()) ^ (infoMeterIdentify == null || infoMeterIdentify.isEmpty())) { + return ReturnUtil.success(true); + } + if (StringUtils.isNotBlank(meterIdentify) && StringUtils.isNotBlank(infoMeterIdentify) && !Objects.equals(meterIdentify, infoMeterIdentify)) { + return ReturnUtil.success(true); + } + return ReturnUtil.success(false); + } + private void selectUpsRecordList(EquipmentEnvironmentRequest request, List responseList) { //ups电源 LambdaQueryWrapper upsRecordWrapper = new LambdaQueryWrapper<>(); @@ -955,7 +1183,7 @@ equipmentInfo.setMeterStandardName(standardName); //设置行颜色标识 DateTime today = DateUtil.parse(DateUtil.today()); - if (StringUtils.isNotBlank(equipmentInfo.getMeasureValidDate())){ + if (StringUtils.isNotBlank(equipmentInfo.getMeasureValidDate())) { DateTime validDate = DateUtil.parse(equipmentInfo.getMeasureValidDate()); boolean after = today.isAfter(validDate); if (after) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCarryoutItemServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCarryoutItemServiceImpl.java index 11ea70d..6e65738 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCarryoutItemServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCarryoutItemServiceImpl.java @@ -1,5 +1,7 @@ package com.casic.missiles.service.Impl.equipment; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -7,11 +9,15 @@ import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.equipment.StandardCarryOutItemRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.BizEquipmentStandardCarryoutItemMapper; import com.casic.missiles.model.equipment.BizEquipmentStandardCarryoutItem; import com.casic.missiles.service.equipment.IBizEquipmentStandardCarryoutItemService; +import com.google.common.reflect.TypeToken; +import com.google.gson.Gson; +import com.google.gson.JsonArray; import org.springframework.stereotype.Service; import java.util.List; @@ -31,12 +37,23 @@ public Page listPage(Page page, IdDTO idDTO) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("standard_id", idDTO.getId()); - return this.baseMapper.selectPage(page, wrapper); + Page itemPage = this.baseMapper.selectPage(page, wrapper); + List records = itemPage.getRecords(); + records.forEach(r -> { + List itemRequests = JSONObject.parseArray(r.getParamPerson(), StandardCarryOutItemRequest.class); + r.setPersonList(itemRequests); + }); + return itemPage; } @Override public ReturnDTO addCarryoutItem(List carryoutItemList) { - if(this.saveBatch(carryoutItemList)){ + for (BizEquipmentStandardCarryoutItem carryoutItem : carryoutItemList) { + List list = carryoutItem.getPersonList(); + String s = JSON.toJSONString(list); + carryoutItem.setParamPerson(s); + } + if (this.saveBatch(carryoutItemList)) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -44,7 +61,10 @@ @Override public ReturnDTO updateCarryoutItem(BizEquipmentStandardCarryoutItem carryoutItem) { - if(this.baseMapper.updateById(carryoutItem) > 0){ + List list = carryoutItem.getPersonList(); + String s = JSON.toJSONString(list); + carryoutItem.setParamPerson(s); + if (this.baseMapper.updateById(carryoutItem) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -52,7 +72,7 @@ @Override public ReturnDTO deleteCarryoutItem(IdsDTO idsDTO) { - if(this.baseMapper.deleteBatchIds(idsDTO.getIds()) > 0){ + if (this.baseMapper.deleteBatchIds(idsDTO.getIds()) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IBizEquipmentInfoService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IBizEquipmentInfoService.java index d0ec37e..855534d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IBizEquipmentInfoService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IBizEquipmentInfoService.java @@ -71,4 +71,6 @@ ReturnDTO getMaintainByLogNo(String longNo); ReturnDTO getEnvironmentByRecordNo(String recordNo, String type); + + ReturnDTO hasChanged(EquipmentAddRequest request); }