From f5bb426c370767fa33bd9d0d96053ab020e9d4a2 Mon Sep 17 00:00:00 2001 From: mashuai Date: Sat, 12 Oct 2024 15:22:35 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/base/mapper/TbProDepartMapper.java | 2 + .../bonus/base/mapper/TbProjectMapper.java | 2 + .../service/impl/TbBdRecordServiceImpl.java | 49 +++++++++++-------- .../service/impl/TbProDepartServiceImpl.java | 2 + .../service/impl/TbProjectServiceImpl.java | 2 + .../resources/mapper/base/TbDeviceMapper.xml | 1 + .../mapper/base/TbProDepartMapper.xml | 6 +++ .../resources/mapper/base/TbProjectMapper.xml | 6 +++ 8 files changed, 50 insertions(+), 20 deletions(-) diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProDepartMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProDepartMapper.java index bea6896..2c8fc0f 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProDepartMapper.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProDepartMapper.java @@ -82,5 +82,7 @@ public interface TbProDepartMapper { * @return */ int getProPowerListByProId(Long id); + + int updateBdRecord(TbProDepart tbProDepart); } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProjectMapper.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProjectMapper.java index 6a59986..bb2248a 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProjectMapper.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/mapper/TbProjectMapper.java @@ -101,5 +101,7 @@ public interface TbProjectMapper { * @return */ int getList(Long id); + + int updateBdRecord(TbProject tbProject); } 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 a59897f..4d8a867 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 @@ -56,21 +56,36 @@ public class TbBdRecordServiceImpl implements TbBdRecordService{ @Override @Transactional(rollbackFor = Exception.class) public AjaxResult insertSelective(TbBdRecord record) { - //根据项目部和工程判断,同项目部和工程只可接入一次申请 - TbBdRecord tbBdRecord = tbBdRecordMapper.selectByName(record); - if (tbBdRecord != null){ - return AjaxResult.error(1113,"该项目部和工程已申请,请勿重复申请"); + if (record == null || CollectionUtils.isEmpty(record.getRecordList())) { + return AjaxResult.error(1112, "申请边带数量不能为空"); } int result = 0; - //返回主键id - //插入前对手机号进行sm4加密 - record.setRelPhone(Sm4Utils.encode(record.getRelPhone())); - //初始状态赋值待审核 - record.setAuditStatus(0); - record.setCreateUser(SecurityUtils.getUserId()); - result += tbBdRecordMapper.insertSelective(record); //插入设备记录 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(1114,"提交的数据中设备名称存在重复,请勿重复添加"); + } + // 检查设备编码是否重复 + long distinctCodes = record.getRecordList().stream().map(TbBdDeviceRecord::getDevCode).distinct().count(); + if (distinctCodes < record.getRecordList().size()) { + return AjaxResult.error(1114,"提交的数据中设备编码存在重复,请勿重复添加"); + } + for (TbBdDeviceRecord bdDeviceRecord : record.getRecordList()) { + //根据设备名称或编码唯一校验 + List tbBdDeviceRecord = tbBdDeviceRecordMapper.selectByName(bdDeviceRecord); + if (CollectionUtils.isNotEmpty(tbBdDeviceRecord)) { + return AjaxResult.error(1113,"设备名称或编码与库中重复,请勿重复添加"); + } + } + //返回主键id + //插入前对手机号进行sm4加密 + record.setRelPhone(Sm4Utils.encode(record.getRelPhone())); + //初始状态赋值待审核 + record.setAuditStatus(0); + record.setCreateUser(SecurityUtils.getUserId()); + result += tbBdRecordMapper.insertSelective(record); for (TbBdDeviceRecord deviceRecord : record.getRecordList()) { deviceRecord.setRecordId(record.getId()); deviceRecord.setProId(record.getProId()); @@ -80,11 +95,6 @@ public class TbBdRecordServiceImpl implements TbBdRecordService{ } deviceRecord.setDevUserPhone(Sm4Utils.encode(deviceRecord.getDevUserPhone())); } - //根据设备名称或编码唯一校验 - List tbBdDeviceRecord = tbBdDeviceRecordMapper.selectByName(deviceRecord); - if (CollectionUtils.isNotEmpty(tbBdDeviceRecord)) { - return AjaxResult.error(1113,"设备名称或编码与库中重复,请勿重复添加"); - } result += tbBdDeviceRecordMapper.insertSelective(deviceRecord); } } @@ -107,10 +117,8 @@ public class TbBdRecordServiceImpl implements TbBdRecordService{ @Override @Transactional(rollbackFor = Exception.class) public AjaxResult updateByPrimaryKeySelective(TbBdRecord record) { - //根据项目部和工程判断,同项目部和工程只可接入一次申请 - TbBdRecord tbBdRecord = tbBdRecordMapper.selectByName(record); - if(tbBdRecord != null && !tbBdRecord.getId().equals(record.getId())){ - return AjaxResult.error(1113,"该项目部和工程已申请,请勿重复申请"); + if (record == null || CollectionUtils.isEmpty(record.getRecordList())) { + return AjaxResult.error(1112, "申请边带数量不能为空"); } //校验内层设备名称或编码重复性 if (record.getRecordList() != null && record.getRecordList().size() > 0) { @@ -187,6 +195,7 @@ public class TbBdRecordServiceImpl implements TbBdRecordService{ public AjaxResult approve(TbBdRecord tbBdRecord) { tbBdRecord.setAuditUser(SecurityUtils.getUserId()); tbBdRecord.setAuditTime(new Date()); + tbBdRecord.setRelPhone(Sm4Utils.encode(tbBdRecord.getRelPhone())); int result = tbBdRecordMapper.updateByPrimaryKeySelective(tbBdRecord); if (result > 0) { return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result); 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 afdfbbe..adfc1f1 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 @@ -145,6 +145,8 @@ public class TbProDepartServiceImpl implements TbProDepartService { tbProDepart.setHeadUserPhone(Sm4Utils.encode(tbProDepart.getHeadUserPhone())); } int result = tbProDepartDao.update(tbProDepart); + //根据项目部id修改接入申请信息 + result += tbProDepartDao.updateBdRecord(tbProDepart); if (result > 0) { return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result); } else { 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 17d4d81..c1894f2 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 @@ -109,6 +109,8 @@ public class TbProjectServiceImpl implements TbProjectService { int result = tbProjectDao.update(tbProject); //根据工程id改变班组表中的项目信息 result += tbProjectDao.updateProjectPower(tbProject); + //根据工程id修改接入申请记录 + result += tbProjectDao.updateBdRecord(tbProject); if (result > 0) { return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result); } else { 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 7e83970..c7aa7c0 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 @@ -294,6 +294,7 @@ and td.dev_status = #{devStatus} + ORDER BY td.id DESC select count(1) as projectTotal, count(case when tb.pro_type = #{powerCode} then 1 end) as projectPowerTotal,