diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbBdDeviceRecord.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbBdDeviceRecord.java index 59fa5f5..86d91ff 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbBdDeviceRecord.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbBdDeviceRecord.java @@ -71,5 +71,8 @@ public class TbBdDeviceRecord implements Serializable { @Size(max = 128,message = "负责人电话-sm4加密最大长度要小于 128") private String devUserPhone; + @ApiModelProperty(value="工程id") + private Long proId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbDevice.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbDevice.java index acd94f7..b3edd6a 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbDevice.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbDevice.java @@ -27,9 +27,15 @@ public class TbDevice implements Serializable { * 设备类型(码表) */ @ApiModelProperty(value="设备类型(码表)") - @Excel(name = "设备类型") private String devType; + /** + * 设备类型(码表) + */ + @ApiModelProperty(value="设备类型名称") + @Excel(name = "设备类型") + private String devTypeName; + /** * 设备编码(唯一) */ diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbBdDeviceRecordMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbBdDeviceRecordMapper.java index ea844ee..ffa5ba8 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbBdDeviceRecordMapper.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbBdDeviceRecordMapper.java @@ -35,7 +35,7 @@ public interface TbBdDeviceRecordMapper { int updateById(Long id); - TbBdDeviceRecord selectByName(TbBdDeviceRecord deviceRecord); + List selectByName(TbBdDeviceRecord deviceRecord); /** * 边带设备管理信息列表 diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbBdRecordMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbBdRecordMapper.java index 2cceced..1c1a897 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbBdRecordMapper.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbBdRecordMapper.java @@ -1,10 +1,7 @@ package com.bonus.base.mapper; -import com.bonus.base.domain.TbBdDeviceRecord; import com.bonus.base.domain.TbBdRecord; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.springframework.web.bind.annotation.PathVariable; import java.util.List; diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbDeviceMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbDeviceMapper.java index 388330b..df52b2d 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbDeviceMapper.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbDeviceMapper.java @@ -55,7 +55,7 @@ public interface TbDeviceMapper { * @param record * @return */ - TbDevice selectByDevCode(TbDevice record); + List selectByDevCode(TbDevice record); /** * 根据主键查询 diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbBdDeviceRecordServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbBdDeviceRecordServiceImpl.java index 7e8ba3e..1b1b557 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbBdDeviceRecordServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbBdDeviceRecordServiceImpl.java @@ -1,7 +1,8 @@ package com.bonus.base.service.impl; import com.bonus.base.vo.TbBdDeviceVo; -import com.bonus.base.vo.TbDeviceVo; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.utils.encryption.Sm4Utils; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; @@ -73,7 +74,15 @@ public class TbBdDeviceRecordServiceImpl implements TbBdDeviceRecordService{ */ @Override public List getDeviceList(TbBdDeviceVo tbBdDeviceVo) { - return tbBdDeviceRecordMapper.getDeviceList(tbBdDeviceVo); + List deviceList = tbBdDeviceRecordMapper.getDeviceList(tbBdDeviceVo); + if (deviceList != null && deviceList.size() > 0) { + for (TbBdDeviceVo bdDeviceVo : deviceList) { + if (StringUtils.isNotBlank(bdDeviceVo.getDevUserPhone())) { + bdDeviceVo.setDevUserPhone(Sm4Utils.decode(bdDeviceVo.getDevUserPhone())); + } + } + } + return deviceList; } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbBdRecordServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbBdRecordServiceImpl.java index da751cd..967eed9 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbBdRecordServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbBdRecordServiceImpl.java @@ -16,6 +16,7 @@ import com.bonus.base.domain.TbBdRecord; import java.util.Date; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; import com.bonus.base.mapper.TbBdRecordMapper; @@ -72,15 +73,16 @@ public class TbBdRecordServiceImpl implements TbBdRecordService{ if (record.getRecordList() != null && record.getRecordList().size() > 0) { for (TbBdDeviceRecord deviceRecord : record.getRecordList()) { deviceRecord.setRecordId(record.getId()); + deviceRecord.setProId(record.getProId()); if (StringUtils.isNotBlank(deviceRecord.getDevUserPhone())) { deviceRecord.setDevUserPhone(Sm4Utils.encode(deviceRecord.getDevUserPhone())); } //根据设备名称或编码唯一校验 - TbBdDeviceRecord tbBdDeviceRecord = tbBdDeviceRecordMapper.selectByName(deviceRecord); - if (tbBdDeviceRecord != null) { - return AjaxResult.error(tbBdDeviceRecord.getDevName() + "设备名称或编码重复,请勿重复添加"); + List tbBdDeviceRecord = tbBdDeviceRecordMapper.selectByName(deviceRecord); + if (CollectionUtils.isNotEmpty(tbBdDeviceRecord)) { + return AjaxResult.error("设备名称或编码与库中重复,请勿重复添加"); } - result += tbBdDeviceRecordMapper.insert(deviceRecord); + result += tbBdDeviceRecordMapper.insertSelective(deviceRecord); } } if (result > 0) { @@ -120,10 +122,22 @@ public class TbBdRecordServiceImpl implements TbBdRecordService{ } //校验内层设备名称或编码重复性 if (record.getRecordList() != null && record.getRecordList().size() > 0) { + // 检查设备名称是否重复 + long distinctNames = record.getRecordList().stream().map(TbBdDeviceRecord::getDevName).distinct().count(); + if (distinctNames < record.getRecordList().size()) { + return AjaxResult.error("提交的数据中设备名称存在重复,请勿重复添加"); + } + // 检查设备编码是否重复 + long distinctCodes = record.getRecordList().stream().map(TbBdDeviceRecord::getDevCode).distinct().count(); + if (distinctCodes < record.getRecordList().size()) { + return AjaxResult.error("提交的数据中设备编码存在重复,请勿重复添加"); + } for (TbBdDeviceRecord deviceRecord : record.getRecordList()) { - TbBdDeviceRecord tbBdDeviceRecord = tbBdDeviceRecordMapper.selectByName(deviceRecord); - if (tbBdDeviceRecord != null && !tbBdDeviceRecord.getRecordId().equals(deviceRecord.getId())) { - return AjaxResult.error(tbBdDeviceRecord.getDevName() + "设备名称或编码重复,请勿重复添加"); + List tbBdDeviceRecord = tbBdDeviceRecordMapper.selectByName(deviceRecord); + if (CollectionUtils.isNotEmpty(tbBdDeviceRecord)) { + if (tbBdDeviceRecord.size() > 1) { + return AjaxResult.error("设备名称或编码与库中重复,请勿重复添加"); + } } } } @@ -140,10 +154,11 @@ public class TbBdRecordServiceImpl implements TbBdRecordService{ if (record.getRecordList() != null && record.getRecordList().size() > 0) { for (TbBdDeviceRecord deviceRecord : record.getRecordList()) { deviceRecord.setRecordId(record.getId()); + deviceRecord.setProId(record.getProId()); if (StringUtils.isNotBlank(deviceRecord.getDevUserPhone())) { deviceRecord.setDevUserPhone(Sm4Utils.encode(deviceRecord.getDevUserPhone())); } - result += tbBdDeviceRecordMapper.insert(deviceRecord); + result += tbBdDeviceRecordMapper.insertSelective(deviceRecord); } } if (result > 0) { diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbDeviceServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbDeviceServiceImpl.java index ab07b39..06813bd 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbDeviceServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbDeviceServiceImpl.java @@ -1,5 +1,6 @@ package com.bonus.base.service.impl; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.base.config.ExceptionEnum; import com.bonus.common.core.web.domain.AjaxResult; import org.springframework.stereotype.Service; @@ -7,6 +8,8 @@ import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; +import java.util.Objects; + import com.bonus.base.mapper.TbDeviceMapper; import com.bonus.base.domain.TbDevice; import com.bonus.base.service.TbDeviceService; @@ -32,10 +35,10 @@ public class TbDeviceServiceImpl implements TbDeviceService{ @Override public AjaxResult insertSelective(TbDevice record) { - //根据传入的devCode判重,确保唯一性 - TbDevice tbDevice = tbDeviceMapper.selectByDevCode(record); - if (tbDevice != null) { - return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), "设备编码与库中重复"); + //根据传入的名称和编码判重,确保唯一性,同类型下名称或编码均不得重复 + List tbDevice = tbDeviceMapper.selectByDevCode(record); + if (CollectionUtils.isNotEmpty(tbDevice)) { + return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), "设备名称或编码与库中重复"); } int result = tbDeviceMapper.insertSelective(record); if (result > 0) { @@ -51,10 +54,12 @@ public class TbDeviceServiceImpl implements TbDeviceService{ @Override public AjaxResult updateByPrimaryKeySelective(TbDevice record) { - //根据传入的devCode判重,确保唯一性 - TbDevice tbDevice = tbDeviceMapper.selectByDevCode(record); - if (tbDevice != null && !tbDevice.getId().equals(record.getId())) { - return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), "设备编码与库中重复"); + //根据传入的名称和编码判重,确保唯一性,同类型下名称或编码均不得重复 + List tbDevice = tbDeviceMapper.selectByDevCode(record); + if (tbDevice != null) { + if (tbDevice.size() > 1) { + return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), "设备名称或编码与库中重复"); + } } int result = tbDeviceMapper.updateByPrimaryKeySelective(record); if (result > 0) { diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbPeopleServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbPeopleServiceImpl.java index 1898163..d5bf71f 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbPeopleServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbPeopleServiceImpl.java @@ -29,6 +29,7 @@ import java.io.OutputStream; import java.sql.*; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.regex.Pattern; /** @@ -154,8 +155,10 @@ public class TbPeopleServiceImpl implements TbPeopleService { } //同名同身份证号判重 TbPeople people = tbPeopleDao.queryByName(tbPeople); - if (people != null && !people.getId().equals(tbPeople.getId())) { - return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + if (people != null) { + if (!Objects.equals(people.getId(), tbPeople.getId())) { + return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + } } tbPeople.setUpdateUser(SecurityUtils.getUserId()); tbPeople.setRelPhone(Sm4Utils.encode(tbPeople.getRelPhone())); diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProDepartServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProDepartServiceImpl.java index b7993e2..a139198 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProDepartServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProDepartServiceImpl.java @@ -21,6 +21,7 @@ import javax.annotation.Resource; import java.sql.*; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 项目部(TbProDepart)表服务实现类 @@ -131,8 +132,10 @@ public class TbProDepartServiceImpl implements TbProDepartService { } //名称重复性校验,一个地区内不能重复 TbProDepart depart = tbProDepartDao.selectByName(tbProDepart); - if (depart != null && !depart.getId().equals(tbProDepart.getId())) { - return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + if (depart != null) { + if (!Objects.equals(depart.getId(), tbProDepart.getId())) { + return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + } } if (getObjectResultBean(tbProDepart)) { return AjaxResult.error(ExceptionEnum.INVALID_PHONE_NUMBER_FORMAT.getCode(), ExceptionEnum.INVALID_PHONE_NUMBER_FORMAT.getMsg()); diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProPowerServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProPowerServiceImpl.java index 3802030..20b568b 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProPowerServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProPowerServiceImpl.java @@ -24,6 +24,7 @@ import java.io.OutputStream; import java.sql.*; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 工程杆塔表(TbProPower)表服务实现类 @@ -105,8 +106,10 @@ public class TbProPowerServiceImpl implements TbProPowerService { } //根据名称判重 TbProPower power = tbProPowerDao.selectByName(tbProPower); - if (power != null && !power.getId().equals(tbProPower.getId())) { - return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + if (power != null) { + if (!Objects.equals(power.getId(), tbProPower.getId())) { + return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + } } int result = tbProPowerDao.update(tbProPower); if (result > 0) { diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProjectServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProjectServiceImpl.java index 7bf1e1c..b7068ab 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProjectServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbProjectServiceImpl.java @@ -17,6 +17,7 @@ import javax.annotation.Resource; import java.sql.*; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -100,8 +101,10 @@ public class TbProjectServiceImpl implements TbProjectService { } //工程名称判重 TbProjectVo project = tbProjectDao.selectByName(tbProject); - if (project != null && !project.getId().equals(tbProject.getId())) { - return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + if (project != null) { + if (!Objects.equals(project.getId(), tbProject.getId())) { + return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + } } tbProject.setUpdateUser(SecurityUtils.getUserId()); int result = tbProjectDao.update(tbProject); diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbWarnConfigServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbWarnConfigServiceImpl.java index 93e856f..b625a03 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbWarnConfigServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbWarnConfigServiceImpl.java @@ -9,6 +9,8 @@ import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; +import java.util.Objects; + import com.bonus.base.mapper.TbWarnConfigMapper; import com.bonus.base.service.TbWarnConfigService; /** @@ -73,8 +75,10 @@ public class TbWarnConfigServiceImpl implements TbWarnConfigService{ } //根据同类型,同名称规则判重 TbWarnConfig tbWarnConfig = tbWarnConfigMapper.selectByName(record); - if (tbWarnConfig != null && !tbWarnConfig.getId().equals(record.getId())) { - return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + if (tbWarnConfig != null) { + if (!Objects.equals(tbWarnConfig.getId(), record.getId())) { + return AjaxResult.error(ExceptionEnum.NAME_DUPLICATE.getCode(), ExceptionEnum.NAME_DUPLICATE.getMsg()); + } } record.setUpdateUser(SecurityUtils.getUserId().intValue()); int result = tbWarnConfigMapper.updateByPrimaryKeySelective(record); diff --git a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbBdDeviceRecordMapper.xml b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbBdDeviceRecordMapper.xml index 1d5f775..c084b08 100644 --- a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbBdDeviceRecordMapper.xml +++ b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbBdDeviceRecordMapper.xml @@ -35,18 +35,15 @@ insert into tb_bd_device_record (record_id, dev_name, dev_code, unit_name, area_name, - dev_user, dev_user_phone) + dev_user, dev_user_phone, pro_id) values (#{recordId,jdbcType=BIGINT}, #{devName,jdbcType=VARCHAR}, #{devCode,jdbcType=VARCHAR}, #{unitName,jdbcType=VARCHAR}, #{areaName,jdbcType=VARCHAR}, - #{devUser,jdbcType=VARCHAR}, #{devUserPhone,jdbcType=VARCHAR}) + #{devUser,jdbcType=VARCHAR}, #{devUserPhone,jdbcType=VARCHAR}, #{proId}) insert into tb_bd_device_record - - id, - record_id, @@ -68,34 +65,38 @@ dev_user_phone, + + pro_id, + - - #{id,jdbcType=BIGINT}, - - #{recordId,jdbcType=BIGINT}, + #{recordId}, - #{devName,jdbcType=VARCHAR}, + #{devName}, - #{devCode,jdbcType=VARCHAR}, + #{devCode}, - #{unitName,jdbcType=VARCHAR}, + #{unitName}, - #{areaName,jdbcType=VARCHAR}, + #{areaName}, - #{devUser,jdbcType=VARCHAR}, + #{devUser}, - #{devUserPhone,jdbcType=VARCHAR}, + #{devUserPhone}, + + + #{proId}, + update tb_bd_device_record @@ -213,10 +214,17 @@ from tb_bd_device_record where 1=1 - and dev_name = #{devName} + + and (dev_name = #{devName} or dev_code = #{devCode}) + + + and dev_name = #{devName} + - - and dev_code = #{devCode} + + + and dev_code = #{devCode} + diff --git a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbBdRecordMapper.xml b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbBdRecordMapper.xml index 093817f..fae735b 100644 --- a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbBdRecordMapper.xml +++ b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbBdRecordMapper.xml @@ -55,21 +55,21 @@ and tbr.audit_status = #{auditStatus} + GROUP BY tbr.id diff --git a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbDeviceMapper.xml b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbDeviceMapper.xml index a8d0267..000b37b 100644 --- a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbDeviceMapper.xml +++ b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbDeviceMapper.xml @@ -15,11 +15,13 @@ + id, dev_type, dev_code, dev_name, bd_id, config_id, dev_status, dev_warn, del_flag, logo_url + + update tb_device set del_flag = 1 where id = #{id,jdbcType=BIGINT} + insert into tb_device (id, dev_type, dev_code, @@ -106,6 +110,7 @@ + update tb_device @@ -140,6 +145,7 @@ where id = #{id,jdbcType=BIGINT} + update tb_device @@ -154,16 +160,7 @@ logo_url = #{logoUrl,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} - - + update tb_device @@ -245,4 +242,71 @@ from tb_device where del_flag = 0 + + + + \ No newline at end of file