| | |
| | | */ |
| | | package org.sxkj.fw.area.service.impl; |
| | | |
| | | import org.sxkj.fw.area.dto.FwDefenseSceneManageDTO; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.sxkj.fw.area.param.FwDefenseSceneManagePageParam; |
| | | import org.sxkj.fw.area.entity.FwDefenseSceneManageEntity; |
| | | import org.sxkj.fw.area.vo.FwDefenseSceneManageVO; |
| | | import org.sxkj.fw.area.excel.FwDefenseSceneManageExcel; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.sxkj.fw.common.FwBaseInfo; |
| | | import org.sxkj.fw.device.entity.FwDeviceEntity; |
| | | import org.sxkj.fw.device.service.IFwDeviceService; |
| | | import org.sxkj.system.cache.SysCache; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Service |
| | | public class FwDefenseSceneManageServiceImpl extends BaseServiceImpl<FwDefenseSceneManageMapper, FwDefenseSceneManageEntity> implements IFwDefenseSceneManageService { |
| | | |
| | | @Autowired |
| | | private IFwDeviceService fwDeviceService; |
| | | |
| | | @Override |
| | | public IPage<FwDefenseSceneManageVO> selectFwDefenseSceneManagePage(IPage<FwDefenseSceneManageVO> page, FwDefenseSceneManageDTO fwDefenseSceneManage) { |
| | | return page.setRecords(baseMapper.selectFwDefenseSceneManagePage(page, fwDefenseSceneManage)); |
| | | public IPage<FwDefenseSceneManageVO> selectFwDefenseSceneManagePage(IPage<FwDefenseSceneManageVO> page, FwDefenseSceneManagePageParam fwDefenseSceneManagePageParam) { |
| | | if (!AuthUtil.isAdministrator()) { |
| | | List<Long> deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | fwDefenseSceneManagePageParam.setDeptList(deptList); |
| | | } |
| | | return page.setRecords(baseMapper.selectFwDefenseSceneManagePage(page, fwDefenseSceneManagePageParam)); |
| | | } |
| | | |
| | | @Override |
| | | public FwDefenseSceneManageVO selectFwDefenseSceneManageDetail(Long id) { |
| | | return baseMapper.selectFwDefenseSceneManageDetail(id); |
| | | } |
| | | |
| | | @Override |
| | | public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageList(java.util.Date time) { |
| | | return baseMapper.selectFwDefenseSceneManageList(time); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<FwDefenseSceneManageExcel> exportFwDefenseSceneManage(Wrapper<FwDefenseSceneManageEntity> queryWrapper) { |
| | | List<FwDefenseSceneManageExcel> fwDefenseSceneManageList = baseMapper.exportFwDefenseSceneManage(queryWrapper); |
| | | //fwDefenseSceneManageList.forEach(fwDefenseSceneManage -> { |
| | | // fwDefenseSceneManageList.forEach(fwDefenseSceneManage -> { |
| | | // fwDefenseSceneManage.setTypeName(DictCache.getValue(DictEnum.YES_NO, FwDefenseSceneManage.getType())); |
| | | //}); |
| | | return fwDefenseSceneManageList; |
| | | } |
| | | |
| | | @Override |
| | | public boolean saveOrUpdateFwDefenseSceneManage(FwDefenseSceneManageEntity convert) { |
| | | boolean b = saveOrUpdate(convert); |
| | | if (b) { |
| | | // 启用设备 |
| | | List<Long> deviceIdList = baseMapper.selectDeviceId(convert.getId()); |
| | | return fwDeviceService.update(Wrappers.<FwDeviceEntity>lambdaUpdate() |
| | | .set(FwDeviceEntity::getIsEnabled, 1) |
| | | .in(FwDeviceEntity::getId, deviceIdList)); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 删除场景管理 |
| | | * |
| | | * @param longList |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean deleteFwDefenseSceneManage(List<Long> longList) { |
| | | // 删除场景管理 |
| | | boolean b = deleteLogic(longList); |
| | | if (b) { |
| | | // 1.遍历所有删除的场景管理ID |
| | | List<Long> AllDeviceId = new ArrayList<>(); |
| | | for (Long sceneManageId : longList) { |
| | | // 2.获取场景管理下的所有设备ID |
| | | List<Long> deviceIdList = baseMapper.selectDeviceId(sceneManageId); |
| | | AllDeviceId.addAll(deviceIdList); |
| | | } |
| | | if (AllDeviceId == null || AllDeviceId.isEmpty()) { |
| | | return true; |
| | | } |
| | | // 3.禁用设备 |
| | | return fwDeviceService.update(Wrappers.<FwDeviceEntity>lambdaUpdate() |
| | | .set(FwDeviceEntity::getIsEnabled, 0) |
| | | .in(FwDeviceEntity::getId, AllDeviceId)); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * 获取场景管理下的所有设备ID |
| | | * |
| | | * @param sceneManageId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Long> selectDeviceId(Long sceneManageId) { |
| | | return baseMapper.selectDeviceId(sceneManageId); |
| | | } |
| | | |
| | | @Override |
| | | public List<FwDefenseSceneManageVO> selectFwDefenseSceneManageCockpitList(FwBaseInfo fwBaseInfo, Date time) { |
| | | return baseMapper.selectFwDefenseSceneManageCockpitList(fwBaseInfo, time); |
| | | } |
| | | } |