| | |
| | | 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 = "巡检子项树状结构") |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | @Log(title = "房屋巡检导入", businessType = BusinessType.INSERT) |
| | |
| | | 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("未填写巡检日期:[", "未填写巡检日期"+"]"); |
| | |
| | | assetHouseInspectionDetail.setRemark(assetHouseInspectionImport.getHouseCloseStatus()); |
| | | if (assetHouseInspectionImport.getHouseCloseStatus().equals("正常")){ |
| | | assetHouseInspectionDetail.setInspectionResult(true); |
| | | assetHouseInspectionRecord.setHouseCloseStatus("正常"); |
| | | }else{ |
| | | assetHouseInspectionDetail.setInspectionResult(false); |
| | | } |
| | |
| | | String waterStatus1 = assetHouseInspectionImport.getWaterStatus1(); |
| | | String waterStatus2 = assetHouseInspectionImport.getWaterStatus2(); |
| | | String waterStatus3 = assetHouseInspectionImport.getWaterStatus3(); |
| | | assetHouseInspectionRecord.setWaterElectronicGasCloseStatus("正常"); |
| | | |
| | | AssetHouseInspectionDetail assetHouseInspectionDetailWatter1 = new AssetHouseInspectionDetail(); |
| | | assetHouseInspectionDetailWatter1.setInspectionItemId(3); |
| | | assetHouseInspectionDetailWatter1.setItemName("水电气表关闭情况"); |
| | | assetHouseInspectionDetailWatter1.setSubItemId(4); |
| | | assetHouseInspectionDetailWatter1.setSubItemName("水表关闭情况"); |
| | | assetHouseInspectionDetailWatter1.setRemark(assetHouseInspectionImport.getWaterStatus1()); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailWatter1); |
| | | |
| | | AssetHouseInspectionDetail assetHouseInspectionDetailWatter2 = new AssetHouseInspectionDetail(); |
| | | assetHouseInspectionDetailWatter2.setInspectionItemId(3); |
| | |
| | | assetHouseInspectionDetailWatter2.setSubItemId(5); |
| | | assetHouseInspectionDetailWatter2.setSubItemName("气表关闭情况"); |
| | | assetHouseInspectionDetailWatter2.setRemark(assetHouseInspectionImport.getWaterStatus2()); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailWatter2); |
| | | |
| | | AssetHouseInspectionDetail assetHouseInspectionDetailWatter3 = new AssetHouseInspectionDetail(); |
| | | assetHouseInspectionDetailWatter3.setInspectionItemId(3); |
| | |
| | | assetHouseInspectionDetailWatter3.setSubItemId(6); |
| | | assetHouseInspectionDetailWatter3.setSubItemName("电表关闭情况"); |
| | | assetHouseInspectionDetailWatter3.setRemark(assetHouseInspectionImport.getWaterStatus3()); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailWatter3); |
| | | if (waterStatus1.equals("正常")&&waterStatus2.equals("正常")&&waterStatus3.equals("正常")){ |
| | | assetHouseInspectionDetailWatter1.setInspectionResult(true); |
| | | assetHouseInspectionDetailWatter2.setInspectionResult(true); |
| | | assetHouseInspectionDetailWatter3.setInspectionResult(true); |
| | | assetHouseInspectionRecord.setWaterElectronicGasCloseStatus("正常"); |
| | | }else{ |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | if (!waterStatus1.equals("正常")){ |
| | |
| | | } |
| | | assetHouseInspectionRecord.setInnerStatus(stringBuilder.toString()); |
| | | } |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailWatter1); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailWatter2); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailWatter3); |
| | | |
| | | String innerStatus1 = assetHouseInspectionImport.getInnerStatus1(); |
| | | String innerStatus2 = assetHouseInspectionImport.getInnerStatus2(); |
| | | String innerStatus3 = assetHouseInspectionImport.getInnerStatus3(); |
| | |
| | | assetHouseInspectionDetailInner1.setSubItemId(8); |
| | | assetHouseInspectionDetailInner1.setSubItemName("墙壁漏水情况"); |
| | | assetHouseInspectionDetailInner1.setRemark(assetHouseInspectionImport.getWaterStatus1()); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailInner1); |
| | | |
| | | AssetHouseInspectionDetail assetHouseInspectionDetailInner2 = new AssetHouseInspectionDetail(); |
| | | assetHouseInspectionDetailInner2.setInspectionItemId(7); |
| | |
| | | assetHouseInspectionDetailInner2.setSubItemId(9); |
| | | assetHouseInspectionDetailInner2.setSubItemName("设备损坏情况"); |
| | | assetHouseInspectionDetailInner2.setRemark(assetHouseInspectionImport.getWaterStatus2()); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailInner2); |
| | | |
| | | AssetHouseInspectionDetail assetHouseInspectionDetailInner3 = new AssetHouseInspectionDetail(); |
| | | assetHouseInspectionDetailInner3.setInspectionItemId(7); |
| | |
| | | assetHouseInspectionDetailInner3.setSubItemId(10); |
| | | assetHouseInspectionDetailInner3.setSubItemName("墙壁掉灰情况"); |
| | | assetHouseInspectionDetailInner3.setRemark(assetHouseInspectionImport.getWaterStatus3()); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailInner3); |
| | | |
| | | AssetHouseInspectionDetail assetHouseInspectionDetailInner4 = new AssetHouseInspectionDetail(); |
| | | assetHouseInspectionDetailInner4.setInspectionItemId(7); |
| | |
| | | assetHouseInspectionDetailInner4.setSubItemId(11); |
| | | assetHouseInspectionDetailInner4.setSubItemName("地瓷砖开裂情况"); |
| | | assetHouseInspectionDetailInner4.setRemark(assetHouseInspectionImport.getWaterStatus3()); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailInner4); |
| | | if (innerStatus1.equals("正常")&&innerStatus2.equals("正常")&&innerStatus3.equals("正常")&&innerStatus4.equals("正常")){ |
| | | assetHouseInspectionRecord.setInnerStatus("正常"); |
| | | assetHouseInspectionDetailInner4.setInspectionResult(true); |
| | | assetHouseInspectionDetailInner3.setInspectionResult(true); |
| | | assetHouseInspectionDetailInner2.setInspectionResult(true); |
| | | assetHouseInspectionDetailInner1.setInspectionResult(true); |
| | | |
| | | }else{ |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | if (!innerStatus1.equals("正常")){ |
| | |
| | | } |
| | | if (!innerStatus2.equals("正常")){ |
| | | stringBuilder.append(innerStatus2).append("|"); |
| | | assetHouseInspectionDetailInner1.setInspectionResult(false); |
| | | assetHouseInspectionDetailInner2.setInspectionResult(false); |
| | | }else{ |
| | | assetHouseInspectionDetailInner1.setInspectionResult(true); |
| | | assetHouseInspectionDetailInner2.setInspectionResult(true); |
| | | } |
| | | if (!innerStatus3.equals("正常")){ |
| | | stringBuilder.append(innerStatus3).append("|"); |
| | | assetHouseInspectionDetailInner1.setInspectionResult(false); |
| | | assetHouseInspectionDetailInner3.setInspectionResult(false); |
| | | }else{ |
| | | assetHouseInspectionDetailInner1.setInspectionResult(true); |
| | | assetHouseInspectionDetailInner3.setInspectionResult(true); |
| | | } |
| | | if (!innerStatus4.equals("正常")){ |
| | | stringBuilder.append(innerStatus4).append("|"); |
| | | assetHouseInspectionDetailInner1.setInspectionResult(false); |
| | | assetHouseInspectionDetailInner4.setInspectionResult(false); |
| | | }else{ |
| | | assetHouseInspectionDetailInner1.setInspectionResult(true); |
| | | assetHouseInspectionDetailInner4.setInspectionResult(true); |
| | | } |
| | | if (stringBuilder.length()>0){ |
| | | stringBuilder.deleteCharAt(stringBuilder.length()-1); |
| | | } |
| | | assetHouseInspectionRecord.setInnerStatus(stringBuilder.toString()); |
| | | } |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailInner4); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailInner3); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailInner2); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetailInner1); |
| | | |
| | | assetHouseInspectionRecord.setRemarks(assetHouseInspectionImport.getRemark()); |
| | | assetHouseInspectionRecordService.save(assetHouseInspectionRecord); |
| | | assetHouseInspectionDetails.add(assetHouseInspectionDetail); |
| | |
| | | assetHouseInspectionDetailService.saveBatch(assetHouseInspectionDetails); |
| | | |
| | | } |
| | | if(!result.isEmpty()){ |
| | | return R.fail(result.toString()); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |