|  |  |  | 
|---|
|  |  |  | import cn.afterturn.easypoi.excel.entity.ExportParams; | 
|---|
|  |  |  | import cn.afterturn.easypoi.excel.entity.ImportParams; | 
|---|
|  |  |  | import cn.hutool.json.JSONObject; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.annotation.TableField; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
|---|
|  |  |  | import com.ruoyi.common.annotation.Log; | 
|---|
|  |  |  | import com.ruoyi.common.basic.PageInfo; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.ruoyi.common.core.domain.entity.TDept; | 
|---|
|  |  |  | import com.ruoyi.common.core.exception.ServiceException; | 
|---|
|  |  |  | import com.ruoyi.common.enums.BusinessType; | 
|---|
|  |  |  | import com.ruoyi.common.utils.SecurityUtils; | 
|---|
|  |  |  | import com.ruoyi.common.utils.WebUtils; | 
|---|
|  |  |  | import com.ruoyi.framework.web.service.TokenService; | 
|---|
|  |  |  | import com.ruoyi.system.dto.AddAssetHouseInspection; | 
|---|
|  |  |  | import com.ruoyi.system.dto.AddAssetRepairRequestDTO; | 
|---|
|  |  |  | import com.ruoyi.system.export.AssetHouseInspectionImport; | 
|---|
|  |  |  | import com.ruoyi.system.model.*; | 
|---|
|  |  |  | import com.ruoyi.system.model.AssetHouseInspectionDetail; | 
|---|
|  |  |  | import com.ruoyi.system.model.AssetHouseInspectionItem; | 
|---|
|  |  |  | import com.ruoyi.system.model.AssetHouseInspectionRecord; | 
|---|
|  |  |  | import com.ruoyi.system.model.AssetMain; | 
|---|
|  |  |  | import com.ruoyi.system.model.AssetPropertyExt; | 
|---|
|  |  |  | import com.ruoyi.system.model.AssetType; | 
|---|
|  |  |  | import com.ruoyi.system.query.AssetHouseInspectionRecordListQuery; | 
|---|
|  |  |  | import com.ruoyi.system.query.AssetRepairRequestListQuery; | 
|---|
|  |  |  | import com.ruoyi.system.service.*; | 
|---|
|  |  |  | import com.ruoyi.system.service.AssetHouseInspectionDetailService; | 
|---|
|  |  |  | import com.ruoyi.system.service.AssetHouseInspectionItemService; | 
|---|
|  |  |  | import com.ruoyi.system.service.AssetHouseInspectionRecordService; | 
|---|
|  |  |  | import com.ruoyi.system.service.AssetMainService; | 
|---|
|  |  |  | import com.ruoyi.system.service.AssetPropertyExtService; | 
|---|
|  |  |  | import com.ruoyi.system.service.AssetTypeService; | 
|---|
|  |  |  | import com.ruoyi.system.service.ISysUserService; | 
|---|
|  |  |  | import com.ruoyi.system.service.TDeptService; | 
|---|
|  |  |  | import com.ruoyi.system.vo.AssetHouseInspectionVO; | 
|---|
|  |  |  | import com.ruoyi.system.vo.AssetRepairRequestVO; | 
|---|
|  |  |  | import io.swagger.annotations.Api; | 
|---|
|  |  |  | import io.swagger.annotations.ApiModelProperty; | 
|---|
|  |  |  | import io.swagger.annotations.ApiOperation; | 
|---|
|  |  |  | import io.swagger.models.auth.In; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.poi.ss.usermodel.Workbook; | 
|---|
|  |  |  | import org.checkerframework.checker.units.qual.A; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Propagation; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  | import org.springframework.util.StringUtils; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.DeleteMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.GetMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.PostMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestBody; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestParam; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestPart; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RestController; | 
|---|
|  |  |  | import org.springframework.web.multipart.MultipartFile; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.servlet.ServletOutputStream; | 
|---|
|  |  |  | 
|---|
|  |  |  | private TDeptService deptService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private AssetMainService assetMainService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private AssetTypeService assetTypeService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 
|---|
|  |  |  | String deptId = tokenService.getLoginUser().getDeptId(); | 
|---|
|  |  |  | TDept dept = deptService.getById(tokenService.getLoginUser().getDeptId()); | 
|---|
|  |  |  | List<Integer> deptIds = deptService.getAllSubDeptIds(deptId); | 
|---|
|  |  |  | AssetType assetType = assetTypeService.lambdaQuery().like(AssetType::getTypeName, "不动"). | 
|---|
|  |  |  | AssetType assetType = assetTypeService.lambdaQuery().like(AssetType::getTypeName, "房屋"). | 
|---|
|  |  |  | last("limit 1").one(); | 
|---|
|  |  |  | if (dept.getDeptName().contains("资产管理")){ | 
|---|
|  |  |  | Map<Integer, String> map = assetPropertyExtService.lambdaQuery().isNotNull(AssetPropertyExt::getRoomNumber).list() | 
|---|
|  |  |  | .stream().collect(Collectors.toMap(AssetPropertyExt::getAssetMainId, AssetPropertyExt::getRoomNumber)); | 
|---|
|  |  |  | Long userId = tokenService.getLoginUser().getUserId(); | 
|---|
|  |  |  | if (!SecurityUtils.isAdmin(userId)) { | 
|---|
|  |  |  | if (dept.getDeptName().contains("资产管理") || dept.getDeptName().contains("董事长") || dept.getDeptName().contains("总经理")) { | 
|---|
|  |  |  | List<AssetMain> list = assetMainService.lambdaQuery() | 
|---|
|  |  |  | .eq(AssetMain::getAssetTypeId, assetType.getId()) | 
|---|
|  |  |  | .list(); | 
|---|
|  |  |  | for (AssetMain assetMain : list) { | 
|---|
|  |  |  | assetMain.setRoomNumber(map.get(assetMain.getId())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(list); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | if (deptIds.isEmpty()) { | 
|---|
|  |  |  | return R.ok(new ArrayList<>()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | List<AssetMain> list = assetMainService.lambdaQuery() | 
|---|
|  |  |  | .eq(AssetMain::getAssetTypeId, assetType.getId()) | 
|---|
|  |  |  | .in(AssetMain::getOwnershipDeptId, deptIds).list(); | 
|---|
|  |  |  | for (AssetMain assetMain : list) { | 
|---|
|  |  |  | assetMain.setRoomNumber(map.get(assetMain.getId())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | List<AssetMain> list = assetMainService.lambdaQuery() | 
|---|
|  |  |  | .eq(AssetMain::getAssetTypeId, assetType.getId()) | 
|---|
|  |  |  | .list(); | 
|---|
|  |  |  | return R.ok(list); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | if (deptIds.isEmpty()){ | 
|---|
|  |  |  | return R.ok(new ArrayList<>()); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | List<AssetMain> list = assetMainService.lambdaQuery() | 
|---|
|  |  |  | .eq(AssetMain::getAssetTypeId, assetType.getId()) | 
|---|
|  |  |  | .in(AssetMain::getOwnershipDeptId, deptIds).list(); | 
|---|
|  |  |  | return R.ok(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | for (AssetMain assetMain : list) { | 
|---|
|  |  |  | assetMain.setRoomNumber(map.get(assetMain.getId())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @ApiOperation(value = "巡检子项树状结构") | 
|---|
|  |  |  | 
|---|
|  |  |  | assetHouseInspectionRecord.setRoomNumber(assetPropertyExt.getRoomNumber()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (StringUtils.hasLength(assetHouseInspectionImport.getInspectionDate())){ | 
|---|
|  |  |  | LocalDate parse = LocalDate.parse(assetHouseInspectionImport.getInspectionDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")); | 
|---|
|  |  |  | String s = assetHouseInspectionImport.getInspectionDate().replaceAll("\\.", "-"); | 
|---|
|  |  |  | String s1 = assetHouseInspectionImport.getInspectionDate().replaceAll("/", "-"); | 
|---|
|  |  |  | LocalDate parse = LocalDate.parse(s1, DateTimeFormatter.ofPattern("yyyy-MM-dd")); | 
|---|
|  |  |  | assetHouseInspectionRecord.setInspectionDate(parse); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | result.append("未填写巡检日期:[", "未填写巡检日期"+"]"); | 
|---|