张延森 před 4 roky
rodič
revize
adf1f82bc5

+ 12
- 0
src/main/java/com/huiju/estateagents/property/controller/BuildingTreeController.java Zobrazit soubor

15
 
15
 
16
 import javax.servlet.http.HttpServletRequest;
16
 import javax.servlet.http.HttpServletRequest;
17
 import javax.servlet.http.HttpSession;
17
 import javax.servlet.http.HttpSession;
18
+import java.util.Map;
18
 
19
 
19
 /**
20
 /**
20
  * @author FXF
21
  * @author FXF
72
 		return responseBean;
73
 		return responseBean;
73
 	}
74
 	}
74
 
75
 
76
+	// @ApiOperation(value = "添加当前节点", notes = "添加当前节点")
77
+	@ApiImplicitParams({
78
+			@ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "id:当前节点;" +
79
+					"name:节点名称;type:(phase:(期),building:(栋),unit:(单元),level:(楼层),roomNo:(房间号)), roomNonodeNumber:输入的节点")
80
+	})
81
+	@RequestMapping(value = "/admin/buildingInfo/updatenode",method = RequestMethod.POST)
82
+	public ResponseBean editNode(@RequestBody Map<String, Object> parameter, HttpServletRequest request){
83
+		TaUser userElement = getTaUser(request);
84
+		return buildingTreeService.editNode(parameter, userElement.getOrgId());
85
+	}
86
+
75
 	// @ApiOperation(value = "删除当前节点", notes = "删除当前节点")
87
 	// @ApiOperation(value = "删除当前节点", notes = "删除当前节点")
76
 	@ApiImplicitParams({
88
 	@ApiImplicitParams({
77
 			@ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "id:当前节点;type:(end:(房间),roomNo:(楼层),level:(单元),unit:(楼栋),building:(期))")
89
 			@ApiImplicitParam(paramType = "body", dataTypeClass = String.class, name = "parameter", value = "id:当前节点;type:(end:(房间),roomNo:(楼层),level:(单元),unit:(楼栋),building:(期))")

+ 7
- 0
src/main/java/com/huiju/estateagents/property/dao/TpBuildingMapper.java Zobrazit soubor

27
     @ResultType(TpBuilding.class)
27
     @ResultType(TpBuilding.class)
28
     @Select("select * from tp_building where org_id=#{orgId} and phase_id=#{phaseId}")
28
     @Select("select * from tp_building where org_id=#{orgId} and phase_id=#{phaseId}")
29
     List<TpBuilding> selectByAddress(@Param("orgId") Integer orgId, @Param("phaseId") Integer phaseId);
29
     List<TpBuilding> selectByAddress(@Param("orgId") Integer orgId, @Param("phaseId") Integer phaseId);
30
+
31
+    @Update("update tp_building set `name` = #{name} where id = #{id}")
32
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
33
+
34
+    @Update("update tp_building set phase_name = #{phaseName} where org_id=#{orgId} and phase_id=#{phaseId}")
35
+    int updatePhaseName(@Param("orgId") Integer orgId,  @Param("phaseId") Integer phaseId, @Param("phaseName") String phaseName);
36
+
30
 }
37
 }

+ 13
- 4
src/main/java/com/huiju/estateagents/property/dao/TpLevelMapper.java Zobrazit soubor

2
 
2
 
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.huiju.estateagents.property.model.TpLevel;
4
 import com.huiju.estateagents.property.model.TpLevel;
5
-import org.apache.ibatis.annotations.Mapper;
6
-import org.apache.ibatis.annotations.ResultMap;
7
-import org.apache.ibatis.annotations.ResultType;
8
-import org.apache.ibatis.annotations.Select;
5
+import org.apache.ibatis.annotations.*;
9
 
6
 
10
 import java.util.List;
7
 import java.util.List;
11
 
8
 
30
     @ResultType(TpLevel.class)
27
     @ResultType(TpLevel.class)
31
     @Select("select * from tp_level where org_id=#{orgId} and phase_id=#{phaseId} and building_id=#{buildingId} and unit_id=#{unitId}")
28
     @Select("select * from tp_level where org_id=#{orgId} and phase_id=#{phaseId} and building_id=#{buildingId} and unit_id=#{unitId}")
32
     List<TpLevel> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId, Integer unitId);
29
     List<TpLevel> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId, Integer unitId);
30
+
31
+    @Update("update tp_level set `name` = #{name} where id = #{id}")
32
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
33
+
34
+    @Update("update tp_level set phase_name = #{phaseName} where org_id=#{orgId} and phase_id=#{phaseId}")
35
+    int updatePhaseName(@Param("orgId") Integer orgId,  @Param("phaseId") Integer phaseId, @Param("phaseName") String phaseName);
36
+
37
+    @Update("update tp_level set building_name = #{buildingName} where org_id=#{orgId} and building_id=#{buildingId}")
38
+    int updateBuildingName(@Param("orgId") Integer orgId, @Param("buildingId") Integer buildingId, @Param("buildingName") String buildingName);
39
+
40
+    @Update("update tp_level set unit_name = #{unitName} where org_id=#{orgId} and unit_id=#{unitId}")
41
+    int updateUnitName(@Param("orgId") Integer orgId, @Param("unitId") Integer unitId, @Param("unitName") String unitName);
33
 }
42
 }

+ 2
- 0
src/main/java/com/huiju/estateagents/property/dao/TpPhaseMapper.java Zobrazit soubor

26
     @Select("select * from tp_phase where org_id = #{orgId}")
26
     @Select("select * from tp_phase where org_id = #{orgId}")
27
     List<TpPhase> selectByAddress(@Param("orgId") Integer orgId);
27
     List<TpPhase> selectByAddress(@Param("orgId") Integer orgId);
28
 
28
 
29
+    @Update("update tp_phase set `name` = #{name} where id = #{id}")
30
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
29
 }
31
 }

+ 15
- 0
src/main/java/com/huiju/estateagents/property/dao/TpRoomNoMapper.java Zobrazit soubor

69
     List<TpRoomNo> selectComunityList(@Param("orgId") Integer orgId, @Param("phaseId") String phaseId, @Param("buildingId") String buildingId, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
69
     List<TpRoomNo> selectComunityList(@Param("orgId") Integer orgId, @Param("phaseId") String phaseId, @Param("buildingId") String buildingId, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
70
 
70
 
71
     IPage<TpRoomNo> getRoomList(IPage<TpRoomNo> page, @Param("orgId") Integer orgId,@Param("phaseId") Integer phaseId,@Param("buildingId") Integer buildingId,@Param("unitId") Integer unitId,@Param("levelId") Integer levelId,@Param("roomNoId") Integer roomNoId);
71
     IPage<TpRoomNo> getRoomList(IPage<TpRoomNo> page, @Param("orgId") Integer orgId,@Param("phaseId") Integer phaseId,@Param("buildingId") Integer buildingId,@Param("unitId") Integer unitId,@Param("levelId") Integer levelId,@Param("roomNoId") Integer roomNoId);
72
+
73
+    @Update("update tp_room_no set `name` = #{name} where id = #{id}")
74
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
75
+
76
+    @Update("update tp_room_no set phase_name = #{phaseName} where org_id=#{orgId} and phase_id=#{phaseId}")
77
+    int updatePhaseName(@Param("orgId") Integer orgId,  @Param("phaseId") Integer phaseId, @Param("phaseName") String phaseName);
78
+
79
+    @Update("update tp_room_no set building_name = #{buildingName} where org_id=#{orgId} and building_id=#{buildingId}")
80
+    int updateBuildingName(@Param("orgId") Integer orgId, @Param("buildingId") Integer buildingId, @Param("buildingName") String buildingName);
81
+
82
+    @Update("update tp_room_no set unit_name = #{unitName} where org_id=#{orgId} and unit_id=#{unitId}")
83
+    int updateUnitName(@Param("orgId") Integer orgId, @Param("unitId") Integer unitId, @Param("unitName") String unitName);
84
+
85
+    @Update("update tp_room_no set level_name = #{levelName} where org_id=#{orgId} and level_id=#{levelId}")
86
+    int updateLevelName(@Param("orgId") Integer orgId, @Param("levelId") Integer levelId, @Param("levelName") String levelName);
72
 }
87
 }

+ 9
- 4
src/main/java/com/huiju/estateagents/property/dao/TpUnitMapper.java Zobrazit soubor

2
 
2
 
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
 import com.huiju.estateagents.property.model.TpUnit;
4
 import com.huiju.estateagents.property.model.TpUnit;
5
-import org.apache.ibatis.annotations.Mapper;
6
-import org.apache.ibatis.annotations.ResultMap;
7
-import org.apache.ibatis.annotations.ResultType;
8
-import org.apache.ibatis.annotations.Select;
5
+import org.apache.ibatis.annotations.*;
9
 
6
 
10
 import java.util.List;
7
 import java.util.List;
11
 
8
 
31
     @Select("select * from tp_unit where org_id =#{orgId} and phase_id=#{phaseId} and building_id=#{buildingId}")
28
     @Select("select * from tp_unit where org_id =#{orgId} and phase_id=#{phaseId} and building_id=#{buildingId}")
32
     List<TpUnit> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId);
29
     List<TpUnit> selectByAddress(Integer orgId, Integer phaseId, Integer buildingId);
33
 
30
 
31
+    @Update("update tp_unit set `name` = #{name} where id = #{id}")
32
+    int updateName(@Param("orgId") Integer orgId, @Param("id") Integer id, @Param("name") String name);
33
+
34
+    @Update("update tp_unit set phase_name = #{phaseName} where org_id=#{orgId} and phase_id=#{phaseId}")
35
+    int updatePhaseName(@Param("orgId") Integer orgId,  @Param("phaseId") Integer phaseId, @Param("phaseName") String phaseName);
36
+
37
+    @Update("update tp_unit set building_name = #{buildingName} where org_id=#{orgId} and building_id=#{buildingId}")
38
+    int updateBuildingName(@Param("orgId") Integer orgId, @Param("buildingId") Integer buildingId, @Param("buildingName") String buildingName);
34
 }
39
 }

+ 4
- 0
src/main/java/com/huiju/estateagents/property/service/BuildingTreeServiceI.java Zobrazit soubor

7
 import com.huiju.estateagents.property.model.TpRoomNo;
7
 import com.huiju.estateagents.property.model.TpRoomNo;
8
 import org.springframework.web.multipart.MultipartFile;
8
 import org.springframework.web.multipart.MultipartFile;
9
 
9
 
10
+import java.util.Map;
11
+
10
 public interface BuildingTreeServiceI {
12
 public interface BuildingTreeServiceI {
11
 	
13
 	
12
 	/**
14
 	/**
50
 	ResponseBean deleteNode(String parameter, Integer orgId);
52
 	ResponseBean deleteNode(String parameter, Integer orgId);
51
 
53
 
52
 	IPage<TpRoomNo> getRoomList(IPage<TpRoomNo> page, Integer orgId, Integer phaseId, Integer buildingId, Integer unitId, Integer levelId, Integer roomNoId);
54
 	IPage<TpRoomNo> getRoomList(IPage<TpRoomNo> page, Integer orgId, Integer phaseId, Integer buildingId, Integer unitId, Integer levelId, Integer roomNoId);
55
+
56
+	ResponseBean editNode(Map<String, Object> parameter, Integer orgId);
53
 }
57
 }

+ 97
- 35
src/main/java/com/huiju/estateagents/property/service/impl/BuildingTreeServiceImpl.java Zobrazit soubor

313
 					tpPhase.setName(nodeNumber);
313
 					tpPhase.setName(nodeNumber);
314
 					tpPhase.setCreateDate(LocalDateTime.now());
314
 					tpPhase.setCreateDate(LocalDateTime.now());
315
 					tpPhaseMapper.insert(tpPhase);
315
 					tpPhaseMapper.insert(tpPhase);
316
+			return ResponseBean.success(tpPhase);
316
 		}
317
 		}
317
 		TpPhase	tpPhase= tpPhaseMapper.selectById(id);
318
 		TpPhase	tpPhase= tpPhaseMapper.selectById(id);
318
 		if(type.equals("building")){
319
 		if(type.equals("building")){
334
 						 .setName(nodeNumber)
335
 						 .setName(nodeNumber)
335
 						 .setCreateDate(LocalDateTime.now());
336
 						 .setCreateDate(LocalDateTime.now());
336
 			tpBuildingMapper.insert(tpBuilding);
337
 			tpBuildingMapper.insert(tpBuilding);
338
+			return ResponseBean.success(tpBuilding);
337
 		}
339
 		}
338
 		//查询栋,维护单元
340
 		//查询栋,维护单元
339
 		 TpBuilding selectTpBuilding= tpBuildingMapper.selectById(id);
341
 		 TpBuilding selectTpBuilding= tpBuildingMapper.selectById(id);
358
 						.setName(nodeNumber)
360
 						.setName(nodeNumber)
359
 						.setCreateDate(LocalDateTime.now());
361
 						.setCreateDate(LocalDateTime.now());
360
 		 	 tpUnitMapper.insert(tpUnit);
362
 		 	 tpUnitMapper.insert(tpUnit);
363
+			return ResponseBean.success(tpUnit);
361
 		 }
364
 		 }
362
 
365
 
363
 		//查询单元,维护楼层
366
 		//查询单元,维护楼层
387
 				.setName(nodeNumber)
390
 				.setName(nodeNumber)
388
 				.setCreateDate(LocalDateTime.now());
391
 				.setCreateDate(LocalDateTime.now());
389
 			 tpLevelMapper.insert(tpLevel);
392
 			 tpLevelMapper.insert(tpLevel);
393
+			return ResponseBean.success(tpLevel);
390
 			}
394
 			}
391
 		 //房间号
395
 		 //房间号
392
 	 	TpLevel selectTpLevel= tpLevelMapper.selectById(id);
396
 	 	TpLevel selectTpLevel= tpLevelMapper.selectById(id);
415
 							.setName(nodeNumber)
419
 							.setName(nodeNumber)
416
 							.setCreateDate(LocalDateTime.now());
420
 							.setCreateDate(LocalDateTime.now());
417
 			tpRoomNoMapper.insert(tpRoomNo);
421
 			tpRoomNoMapper.insert(tpRoomNo);
422
+			return ResponseBean.success(tpRoomNo);
418
 		}
423
 		}
419
 		responseBean.addSuccess("成功");
424
 		responseBean.addSuccess("成功");
420
 		return responseBean;
425
 		return responseBean;
518
 							tpRoomNoMapper.delete(tpRoomNoQueryWrapper);
523
 							tpRoomNoMapper.delete(tpRoomNoQueryWrapper);
519
 						}
524
 						}
520
 				}
525
 				}
526
+
527
+					//删除所有楼层
528
+					tpLevelMapper.delete(tpLevel);
521
 			  }
529
 			  }
522
 			}
530
 			}
523
-			//删除所有楼层
524
-			tpLevelMapper.delete(tpLevel);
525
 			//删除此单元
531
 			//删除此单元
526
 			tpUnitMapper.delete(tpUnit);
532
 			tpUnitMapper.delete(tpUnit);
527
 			//删除栋
533
 			//删除栋
536
 			building.eq("name", phase.getName());
542
 			building.eq("name", phase.getName());
537
 			List<TpBuilding> tpBuildingList= tpBuildingMapper.selectList(building);
543
 			List<TpBuilding> tpBuildingList= tpBuildingMapper.selectList(building);
538
 			for (TpBuilding tpBuilding:tpBuildingList){
544
 			for (TpBuilding tpBuilding:tpBuildingList){
539
-			//删除单元-楼层-房间
540
-			QueryWrapper<TpUnit> tpUnit = new QueryWrapper<>();
541
-			List<TpUnit> unitList=null;
542
-			if (null!=tpBuilding) {
545
+				//删除单元-楼层-房间
546
+				QueryWrapper<TpUnit> tpUnit = new QueryWrapper<>();
543
 				tpUnit.eq("org_id", tpBuilding.getOrgId());
547
 				tpUnit.eq("org_id", tpBuilding.getOrgId());
544
 				tpUnit.eq("phase_id", tpBuilding.getPhaseId());
548
 				tpUnit.eq("phase_id", tpBuilding.getPhaseId());
545
 				tpUnit.eq("building_id", tpBuilding.getId());
549
 				tpUnit.eq("building_id", tpBuilding.getId());
546
 				tpUnit.eq("building_name", tpBuilding.getName());
550
 				tpUnit.eq("building_name", tpBuilding.getName());
547
-				unitList= tpUnitMapper.selectList(tpUnit);
548
-			}
549
-			//先查询楼层
550
-			QueryWrapper<TpLevel> tpLevel = new QueryWrapper<>();
551
-			if (null!=unitList) {
552
-				for (TpUnit unit : unitList) {
553
-					tpLevel.eq("phase_id", unit.getPhaseId());
554
-					tpLevel.eq("org_id", unit.getOrgId());
555
-					tpLevel.eq("building_id", unit.getBuildingId());
556
-					tpLevel.eq("unit_id", unit.getId());
557
-					tpLevel.eq("unit_name", unit.getName());
558
-					//查询房间
559
-					List<TpLevel> levelList = tpLevelMapper.selectList(tpLevel);
560
-					if (null != levelList) {
561
-						for (TpLevel level : levelList) {
562
-							QueryWrapper<TpRoomNo> tpRoomNoQueryWrapper = new QueryWrapper<>();
563
-							tpRoomNoQueryWrapper.eq("phase_id", level.getPhaseId());
564
-							tpRoomNoQueryWrapper.eq("org_id", level.getOrgId());
565
-							tpRoomNoQueryWrapper.eq("building_id", level.getBuildingId());
566
-							tpRoomNoQueryWrapper.eq("unit_id", level.getUnitId());
567
-							tpRoomNoQueryWrapper.eq("level_id", level.getId());
568
-							tpRoomNoQueryWrapper.eq("level_name", level.getName());
569
-							//先删除所有房间
570
-							tpRoomNoMapper.delete(tpRoomNoQueryWrapper);
551
+
552
+				List<TpUnit> unitList = tpUnitMapper.selectList(tpUnit);
553
+
554
+				//先查询楼层
555
+				QueryWrapper<TpLevel> tpLevel = new QueryWrapper<>();
556
+				if (null!=unitList) {
557
+					for (TpUnit unit : unitList) {
558
+						tpLevel.eq("phase_id", unit.getPhaseId());
559
+						tpLevel.eq("org_id", unit.getOrgId());
560
+						tpLevel.eq("building_id", unit.getBuildingId());
561
+						tpLevel.eq("unit_id", unit.getId());
562
+						tpLevel.eq("unit_name", unit.getName());
563
+						//查询房间
564
+						List<TpLevel> levelList = tpLevelMapper.selectList(tpLevel);
565
+						if (null != levelList) {
566
+							for (TpLevel level : levelList) {
567
+								QueryWrapper<TpRoomNo> tpRoomNoQueryWrapper = new QueryWrapper<>();
568
+								tpRoomNoQueryWrapper.eq("phase_id", level.getPhaseId());
569
+								tpRoomNoQueryWrapper.eq("org_id", level.getOrgId());
570
+								tpRoomNoQueryWrapper.eq("building_id", level.getBuildingId());
571
+								tpRoomNoQueryWrapper.eq("unit_id", level.getUnitId());
572
+								tpRoomNoQueryWrapper.eq("level_id", level.getId());
573
+								tpRoomNoQueryWrapper.eq("level_name", level.getName());
574
+								//先删除所有房间
575
+								tpRoomNoMapper.delete(tpRoomNoQueryWrapper);
576
+							}
571
 						}
577
 						}
578
+						//再删除所有楼层
579
+						tpLevelMapper.delete(tpLevel);
572
 					}
580
 					}
573
-					//再删除所有楼层
574
-					tpLevelMapper.delete(tpLevel);
575
 				}
581
 				}
582
+				//删除此单元
583
+				tpUnitMapper.delete(tpUnit);
576
 			}
584
 			}
577
-			//删除此单元
578
-			tpUnitMapper.delete(tpUnit);
579
-	}
580
 			//删除栋
585
 			//删除栋
581
 			tpBuildingMapper.delete(building);
586
 			tpBuildingMapper.delete(building);
582
 			//删除整个期
587
 			//删除整个期
591
 		return tpRoomNoMapper.getRoomList(page, orgId, phaseId, buildingId, unitId, levelId, roomNoId);
596
 		return tpRoomNoMapper.getRoomList(page, orgId, phaseId, buildingId, unitId, levelId, roomNoId);
592
 	}
597
 	}
593
 
598
 
599
+	@Override
600
+	public ResponseBean editNode(Map<String, Object> parameter, Integer orgId) {
601
+		if (null == parameter) {
602
+			return ResponseBean.error("编辑内容不能为空", ResponseBean.ERROR_MISSING_PARAMS);
603
+		}
604
+
605
+		Integer id = (Integer) parameter.get("id");
606
+		String type = (String) parameter.get("type");
607
+		String name = (String) parameter.get("name");
608
+
609
+		if (null == id || StringUtils.isEmpty(type) || StringUtils.isEmpty(name)) {
610
+			return ResponseBean.error("部分编辑内容不能为空", ResponseBean.ERROR_MISSING_PARAMS);
611
+		}
612
+
613
+		// 如果是期数
614
+		if ("phase".equals(type)) {
615
+			tpPhaseMapper.updateName(orgId, id, name);
616
+			tpBuildingMapper.updatePhaseName(orgId, id, name);
617
+			tpUnitMapper.updatePhaseName(orgId, id, name);
618
+			tpLevelMapper.updatePhaseName(orgId, id, name);
619
+			tpRoomNoMapper.updatePhaseName(orgId, id, name);
620
+			return ResponseBean.success("success");
621
+		}
622
+
623
+		// 如果是楼栋
624
+		if ("building".equals(type)) {
625
+			tpBuildingMapper.updateName(orgId, id, name);
626
+			tpUnitMapper.updateBuildingName(orgId, id, name);
627
+			tpLevelMapper.updateBuildingName(orgId, id, name);
628
+			tpRoomNoMapper.updateBuildingName(orgId, id, name);
629
+			return ResponseBean.success("success");
630
+		}
631
+
632
+		// 如果是单元
633
+		if ("unit".equals(type)) {
634
+			tpUnitMapper.updateName(orgId, id, name);
635
+			tpLevelMapper.updateUnitName(orgId, id, name);
636
+			tpRoomNoMapper.updateUnitName(orgId, id, name);
637
+			return ResponseBean.success("success");
638
+		}
639
+
640
+		// 如果是楼层
641
+		if ("level".equals(type)) {
642
+			tpLevelMapper.updateName(orgId, id, name);
643
+			tpRoomNoMapper.updateLevelName(orgId, id, name);
644
+			return ResponseBean.success("success");
645
+		}
646
+
647
+		// 如果是房间
648
+		if ("roomNo".equals(type)) {
649
+			tpRoomNoMapper.updateName(orgId, id, name);
650
+			return ResponseBean.success("success");
651
+		}
652
+
653
+		return ResponseBean.error("数据类型不正确", ResponseBean.ERROR_ILLEGAL_PARAMS);
654
+	}
655
+
594
 	private void saveBuildingTreeData(Integer orgId, List<TpBuildingOwnerInfo> list) {
656
 	private void saveBuildingTreeData(Integer orgId, List<TpBuildingOwnerInfo> list) {
595
 		String lastPhaseName = "";
657
 		String lastPhaseName = "";
596
 		String lastBuildingName = "";
658
 		String lastBuildingName = "";

+ 27
- 16
src/main/resources/mapper/property/TpRoomNoMapper.xml Zobrazit soubor

80
         LIMIT #{pageNum}, #{pageSize}
80
         LIMIT #{pageNum}, #{pageSize}
81
     </select>
81
     </select>
82
     <select id="getRoomList" resultType="com.huiju.estateagents.property.model.TpRoomNo">
82
     <select id="getRoomList" resultType="com.huiju.estateagents.property.model.TpRoomNo">
83
-        SELECT
84
-            t.*
83
+        SELECT DISTINCT
84
+            t.id,
85
+            t.name,
86
+            q.id as phase_id,
87
+            q.name as phase_name,
88
+            n.id as building_id,
89
+            n.name as building_name,
90
+            m.id as unit_id,
91
+            m.name as unit_name,
92
+            s.id as level_id,
93
+            s.name as level_name,
94
+            t.sort,
95
+            t.create_date
85
         FROM
96
         FROM
86
-            tp_room_no t
87
-            INNER JOIN tp_level s ON s.id = t.level_id
88
-            INNER JOIN tp_unit m ON m.id = t.unit_id
89
-            INNER JOIN tp_building n ON n.id = t.building_id
90
-            INNER JOIN tp_phase q ON q.id = t.phase_id
97
+            tp_phase q
98
+            LEFT JOIN tp_building n ON n.phase_id = q.id
99
+            LEFT JOIN tp_unit m ON m.building_id = n.id
100
+            LEFT JOIN tp_level s ON s.unit_id = m.id
101
+            LEFT JOIN tp_room_no t ON t.level_id = s.id
91
         WHERE
102
         WHERE
92
-            t.org_id = #{orgId}
93
-        <if test="roomNoId != null" >
94
-            and t.id = #{roomNoId}
95
-        </if>
103
+            q.org_id = #{orgId}
96
         <if test="phaseId != null" >
104
         <if test="phaseId != null" >
97
-            and t.phase_id = #{phaseId}
105
+            and q.id = #{phaseId}
98
         </if>
106
         </if>
99
         <if test="buildingId != null" >
107
         <if test="buildingId != null" >
100
-            and t.building_id = #{buildingId}
108
+            and n.id = #{buildingId}
101
         </if>
109
         </if>
102
         <if test="unitId != null" >
110
         <if test="unitId != null" >
103
-            and t.unit_id = #{unitId}
111
+            and m.id = #{unitId}
104
         </if>
112
         </if>
105
         <if test="levelId != null" >
113
         <if test="levelId != null" >
106
-            and t.level_id = #{levelId}
114
+            and s.id = #{levelId}
115
+        </if>
116
+        <if test="roomNoId != null" >
117
+            and t.id = #{roomNoId}
107
         </if>
118
         </if>
108
-        ORDER BY t.phase_id ASC, t.building_id ASC, t.unit_id ASC, (t.level_name - 0) DESC
119
+        ORDER BY q.id ASC, n.id ASC, m.id ASC, (s.name - 0) DESC
109
     </select>
120
     </select>
110
 </mapper>
121
 </mapper>