diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/controller/SysPeopleController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/controller/SysPeopleController.java index 92bdf66..cfa1c6f 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/controller/SysPeopleController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/controller/SysPeopleController.java @@ -212,23 +212,13 @@ public class SysPeopleController extends BaseController SysPeople peopleById = sysPeopleService.selectSysPeopleById(sysPeople.getId()); - //姓名、身份证号、头像、卡号、手机号变更下发设备 - boolean isDown = false; - if (!StrUtil.equals(peopleById.getName(), sysPeople.getName()) || - !StrUtil.equals(peopleById.getIdcard(), sysPeople.getIdcard()) || - !StrUtil.equals(peopleById.getAvatar(), sysPeople.getAvatar()) || - !StrUtil.equals(peopleById.getDoorNo(), sysPeople.getDoorNo()) || - !StrUtil.equals(peopleById.getPhone(), sysPeople.getPhone())) { - isDown = true; - } - if (StringUtils.isNotEmpty(sysPeople.getAvatar())) { sysPeople.setFaceGuid(peopleById.getFaceGuid()); } sysPeople.setGuid(peopleById.getGuid()); //下发设备 - if (StringUtils.isNotEmpty(sysPeople.getBranchId()) && isDown) { + if (StringUtils.isNotEmpty(sysPeople.getBranchId())) { SysBranch branch = sysBranchService.selectSysBranchById(sysPeople.getBranchId()); if (null != branch.getRuleId()) { //添加人员授权信息 @@ -285,21 +275,28 @@ public class SysPeopleController extends BaseController @Log(title = "人员管理", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { - List list = sysEqDownRecordService.selectListByIds(null, Arrays.asList(ids)); - if (CollUtil.isNotEmpty(list)) { - for (SysPeopleEqDown sysPeopleEqDown : list) { - if(sysPeopleEqDown.getDownResult() == 1) { - continue; - } - String data = sdkService.personDelete(sysPeopleEqDown.getGuid(), sysPeopleEqDown.getIp(), sysPeopleEqDown.getPassword()); - JSONObject jsons = JSONObject.parseObject(data); - if (jsons == null || !jsons.containsKey("code") || !StrUtil.equals("LAN_SUS-0", jsons.getString("code"))) { - throw new ServiceException("人员删除失败:设备" + sysPeopleEqDown.getIp() + "网络异常"); + List peopleList = sysPeopleService.selectSysPeopleListByIds(Arrays.asList(ids)); + if (CollUtil.isNotEmpty(peopleList)) { + String admitGuids = peopleList.stream().map(SysPeople::getGuid).collect(Collectors.joining(",")); + if (StringUtils.isNotBlank(admitGuids)) { + log.info("设备删除人员:{}", admitGuids); + SysEquipment equipment = new SysEquipment(); + equipment.setFlag("0"); + equipment.setProductId(3L); + List list = equipmentService.selectSysEquipmentList(equipment); + for (SysEquipment e : list) { + String data = sdkService.personDelete(admitGuids, e.getIp(), e.getPassword()); + JSONObject jsons = JSONObject.parseObject(data); + if (jsons == null || !jsons.containsKey("code") || !StrUtil.equals("LAN_SUS-0", jsons.getString("code"))) { + throw new ServiceException("人员删除失败:设备" + e.getIp() + "删除异常"); + } } } - sysEqDownRecordService.deleteByIds(list.stream().map(SysPeopleEqDown::getId).collect(Collectors.toList())); } + //删除下发记录 + sysEqDownRecordService.deleteByPeopleIds(Arrays.asList(ids)); + //暂未处理离线设备人员数据删除 return toAjax(sysPeopleService.deleteSysPeopleByIds(ids)); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/mapper/SysEqDownRecordMapper.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/mapper/SysEqDownRecordMapper.java index e24a891..809f0bf 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/mapper/SysEqDownRecordMapper.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/mapper/SysEqDownRecordMapper.java @@ -32,5 +32,5 @@ public interface SysEqDownRecordMapper { */ List selectListByIds(@Param("ids") List ids, @Param("peopleIds") List peopleIds); - void deleteByIds(@Param("ids") List ids); + void deleteByPeopleIds(@Param("peopleIds") List peopleIds); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/mapper/SysPeopleMapper.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/mapper/SysPeopleMapper.java index 1020b1e..bff9ef2 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/mapper/SysPeopleMapper.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/mapper/SysPeopleMapper.java @@ -112,4 +112,6 @@ public interface SysPeopleMapper List querySysPeopleInfo(Long userId); Long selectAppSysPeople(SysUser sysUser); + + List selectSysPeopleListByIds(@Param("list") List list); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/ISysEqDownRecordService.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/ISysEqDownRecordService.java index 9c12b54..be83066 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/ISysEqDownRecordService.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/ISysEqDownRecordService.java @@ -12,5 +12,5 @@ public interface ISysEqDownRecordService { List selectListByIds(List ids, List peopleIds); - void deleteByIds(List collect); + void deleteByPeopleIds(List peopleIds); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/ISysPeopleService.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/ISysPeopleService.java index 518d135..51efe2f 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/ISysPeopleService.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/ISysPeopleService.java @@ -117,4 +117,6 @@ public interface ISysPeopleService List querySysPeopleInfo(Long userId); Long selectAppSysPeople(SysUser sysUser); + + List selectSysPeopleListByIds(List list); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/impl/SysEqDownRecordServiceImpl.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/impl/SysEqDownRecordServiceImpl.java index c9fbe49..7c29c87 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/impl/SysEqDownRecordServiceImpl.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/impl/SysEqDownRecordServiceImpl.java @@ -45,10 +45,10 @@ public class SysEqDownRecordServiceImpl implements ISysEqDownRecordService { } @Override - public void deleteByIds(List ids) { - if (CollUtil.isEmpty(ids)) { + public void deleteByPeopleIds(List peopleIds) { + if (CollUtil.isEmpty(peopleIds)) { return; } - sysEqDownRecordMapper.deleteByIds(ids); + sysEqDownRecordMapper.deleteByPeopleIds(peopleIds); } } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/impl/SysPeopleServiceImpl.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/impl/SysPeopleServiceImpl.java index 89624fb..e04ed72 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/impl/SysPeopleServiceImpl.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/service/impl/SysPeopleServiceImpl.java @@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -143,6 +144,11 @@ public class SysPeopleServiceImpl implements ISysPeopleService return sysPeopleMapper.selectAppSysPeople(sysUser); } + @Override + public List selectSysPeopleListByIds(List list) { + return sysPeopleMapper.selectSysPeopleListByIds(list); + } + @Override @DataScope(deptAlias = "d", userAlias = "u") public List selectSysPeopleLists(SysPeople sysPeople) diff --git a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysEqDownRecordMapper.xml b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysEqDownRecordMapper.xml index c2042d6..65251d1 100644 --- a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysEqDownRecordMapper.xml +++ b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysEqDownRecordMapper.xml @@ -59,9 +59,9 @@ create_time = values(create_time); - - delete from sys_equipment_down_record where id in - + + delete from sys_equipment_down_record where people_id in + #{id} diff --git a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleMapper.xml b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleMapper.xml index 9a6e4b4..24aa1fc 100644 --- a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleMapper.xml +++ b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/SysPeopleMapper.xml @@ -329,4 +329,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + +