|
@@ -10,9 +10,11 @@ import cn.iocoder.yudao.framework.common.pojo.SortablePageParam;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
|
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
|
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
|
|
|
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.module.pms.ThingsModelDTO;
|
|
import cn.iocoder.yudao.module.pms.ThingsModelDTO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceallotlog.vo.IotDeviceAllotSaveReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceallotlog.vo.IotDeviceAllotSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceperson.vo.IotDevicePersonRelationSaveReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceperson.vo.IotDevicePersonRelationSaveReqVO;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.stat.DeptUtil;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceSaveReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceSaveReqVO;
|
|
@@ -37,7 +39,10 @@ import cn.iocoder.yudao.module.pms.service.yanfan.YfDeviceService;
|
|
|
import cn.iocoder.yudao.module.pms.util.IotDeviceConvert;
|
|
import cn.iocoder.yudao.module.pms.util.IotDeviceConvert;
|
|
|
import cn.iocoder.yudao.module.supplier.dal.dataobject.product.SupplierDO;
|
|
import cn.iocoder.yudao.module.supplier.dal.dataobject.product.SupplierDO;
|
|
|
import cn.iocoder.yudao.module.supplier.service.product.SupplierService;
|
|
import cn.iocoder.yudao.module.supplier.service.product.SupplierService;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
|
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
import cn.iocoder.yudao.module.system.service.dict.DictDataService;
|
|
import cn.iocoder.yudao.module.system.service.dict.DictDataService;
|
|
|
import com.google.common.collect.ImmutableList;
|
|
import com.google.common.collect.ImmutableList;
|
|
@@ -47,6 +52,7 @@ import io.swagger.v3.oas.annotations.Parameter;
|
|
|
import io.swagger.v3.oas.annotations.Parameters;
|
|
import io.swagger.v3.oas.annotations.Parameters;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -98,6 +104,10 @@ public class IotDeviceController {
|
|
|
private IotDeviceAllotLogService iotDeviceAllotLogService;
|
|
private IotDeviceAllotLogService iotDeviceAllotLogService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IotFailureReportService iotFailureReportService;
|
|
private IotFailureReportService iotFailureReportService;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private DeptApi deptApi;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private DeptUtil deptUtil;
|
|
|
|
|
|
|
|
@GetMapping(value = {"/company"})
|
|
@GetMapping(value = {"/company"})
|
|
|
@Operation(summary = "获取设备属于哪个公司", description = "获取设备属于哪个公司")
|
|
@Operation(summary = "获取设备属于哪个公司", description = "获取设备属于哪个公司")
|
|
@@ -607,10 +617,30 @@ public class IotDeviceController {
|
|
|
public void exportIotDeviceExcel(@Valid IotDevicePageReqVO pageReqVO,@Valid SortablePageParam pageParam,
|
|
public void exportIotDeviceExcel(@Valid IotDevicePageReqVO pageReqVO,@Valid SortablePageParam pageParam,
|
|
|
HttpServletResponse response) throws IOException {
|
|
HttpServletResponse response) throws IOException {
|
|
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
|
|
|
|
+ Set<Long> ids;
|
|
|
|
|
+ if (Objects.isNull(pageReqVO.getDeptId())){
|
|
|
|
|
+ Long loginUserDeptId = SecurityFrameworkUtils.getLoginUserDeptId();
|
|
|
|
|
+ String companyCode = deptUtil.getCompanyCode(loginUserDeptId);
|
|
|
|
|
+ ids = deptUtil.getDeptIds(companyCode);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
|
|
|
|
|
+ ids.add(pageReqVO.getDeptId());
|
|
|
|
|
+ }
|
|
|
|
|
+ pageReqVO.setDeptIds(new ArrayList<>(ids));
|
|
|
List<IotDeviceDO> list = iotDeviceService.getAllDevices(pageReqVO);
|
|
List<IotDeviceDO> list = iotDeviceService.getAllDevices(pageReqVO);
|
|
|
|
|
+ List<IotDeviceRespVO> bean = BeanUtils.toBean(list, IotDeviceRespVO.class);
|
|
|
|
|
+ List<DictDataDO> pmsDeviceStatus = dictDataService.getDictDataListByDictType("pms_device_status");
|
|
|
|
|
+ bean.forEach(e ->{
|
|
|
|
|
+ DeptRespDTO dept = deptApi.getDept(e.getDeptId());
|
|
|
|
|
+ if (dept != null) {
|
|
|
|
|
+ e.setDeptName(dept.getName());
|
|
|
|
|
+ }
|
|
|
|
|
+ pmsDeviceStatus.stream().filter(f -> f.getValue().equals(e.getDeviceStatus())).findFirst().ifPresent(f -> {
|
|
|
|
|
+ e.setDeviceStatus(f.getLabel());
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
// 导出 Excel
|
|
// 导出 Excel
|
|
|
- ExcelUtils.write(response, "设备台账.xls", "数据", IotDeviceRespVO.class,
|
|
|
|
|
- BeanUtils.toBean(list, IotDeviceRespVO.class));
|
|
|
|
|
|
|
+ ExcelUtils.write(response, "设备台账.xls", "数据", IotDeviceRespVO.class, bean);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@GetMapping("/map")
|
|
@GetMapping("/map")
|