无关风月
4 天以前 78b6c7de4a1e710b4b20c96f1caf44f5624d37de
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetHouseInspectionItemController.java
@@ -15,6 +15,7 @@
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;
@@ -75,6 +76,7 @@
    private TDeptService deptService;
    @Autowired
    private AssetMainService assetMainService;
    @Autowired
    private AssetTypeService assetTypeService;
    @Autowired
@@ -120,22 +122,41 @@
        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 = "巡检子项树状结构")
@@ -269,6 +290,7 @@
                e.printStackTrace();
            }
        }
    }
    @Log(title = "房屋巡检导入", businessType = BusinessType.INSERT)
@@ -328,7 +350,9 @@
                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("未填写巡检日期:[", "未填写巡检日期"+"]");
@@ -345,6 +369,7 @@
            assetHouseInspectionDetail.setRemark(assetHouseInspectionImport.getHouseCloseStatus());
            if (assetHouseInspectionImport.getHouseCloseStatus().equals("正常")){
                assetHouseInspectionDetail.setInspectionResult(true);
                assetHouseInspectionRecord.setHouseCloseStatus("正常");
            }else{
                assetHouseInspectionDetail.setInspectionResult(false);
            }
@@ -352,14 +377,13 @@
            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);
@@ -367,7 +391,6 @@
            assetHouseInspectionDetailWatter2.setSubItemId(5);
            assetHouseInspectionDetailWatter2.setSubItemName("气表关闭情况");
            assetHouseInspectionDetailWatter2.setRemark(assetHouseInspectionImport.getWaterStatus2());
            assetHouseInspectionDetails.add(assetHouseInspectionDetailWatter2);
            AssetHouseInspectionDetail assetHouseInspectionDetailWatter3 = new AssetHouseInspectionDetail();
            assetHouseInspectionDetailWatter3.setInspectionItemId(3);
@@ -375,10 +398,11 @@
            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("正常")){
@@ -404,6 +428,10 @@
                    }
                    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();
@@ -414,7 +442,6 @@
            assetHouseInspectionDetailInner1.setSubItemId(8);
            assetHouseInspectionDetailInner1.setSubItemName("墙壁漏水情况");
            assetHouseInspectionDetailInner1.setRemark(assetHouseInspectionImport.getWaterStatus1());
            assetHouseInspectionDetails.add(assetHouseInspectionDetailInner1);
            AssetHouseInspectionDetail assetHouseInspectionDetailInner2 = new AssetHouseInspectionDetail();
            assetHouseInspectionDetailInner2.setInspectionItemId(7);
@@ -422,7 +449,6 @@
            assetHouseInspectionDetailInner2.setSubItemId(9);
            assetHouseInspectionDetailInner2.setSubItemName("设备损坏情况");
            assetHouseInspectionDetailInner2.setRemark(assetHouseInspectionImport.getWaterStatus2());
            assetHouseInspectionDetails.add(assetHouseInspectionDetailInner2);
            AssetHouseInspectionDetail assetHouseInspectionDetailInner3 = new AssetHouseInspectionDetail();
            assetHouseInspectionDetailInner3.setInspectionItemId(7);
@@ -430,7 +456,6 @@
            assetHouseInspectionDetailInner3.setSubItemId(10);
            assetHouseInspectionDetailInner3.setSubItemName("墙壁掉灰情况");
            assetHouseInspectionDetailInner3.setRemark(assetHouseInspectionImport.getWaterStatus3());
            assetHouseInspectionDetails.add(assetHouseInspectionDetailInner3);
            AssetHouseInspectionDetail assetHouseInspectionDetailInner4 = new AssetHouseInspectionDetail();
            assetHouseInspectionDetailInner4.setInspectionItemId(7);
@@ -438,9 +463,13 @@
            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("正常")){
@@ -451,27 +480,32 @@
                }
                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);
@@ -481,6 +515,9 @@
            assetHouseInspectionDetailService.saveBatch(assetHouseInspectionDetails);
        }
        if(!result.isEmpty()){
            return R.fail(result.toString());
        }
        return R.ok();
    }