浏览代码

项目类型修改

魏熙美 5 年前
父节点
当前提交
0a887a76d8

+ 19
- 0
src/main/java/com/huiju/estateagents/controller/TdBuildingTypeController.java 查看文件

4
 import com.baomidou.mybatisplus.core.metadata.IPage;
4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
 import com.huiju.estateagents.base.ResponseBean;
6
 import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.entity.TaBuilding;
7
 import com.huiju.estateagents.entity.TdBuildingType;
8
 import com.huiju.estateagents.entity.TdBuildingType;
9
+import com.huiju.estateagents.exception.EstaException;
10
+import com.huiju.estateagents.mapper.TaBuildingMapper;
11
+import com.huiju.estateagents.service.ITaBuildingService;
8
 import com.huiju.estateagents.service.ITdBuildingTypeService;
12
 import com.huiju.estateagents.service.ITdBuildingTypeService;
9
 import io.swagger.annotations.Api;
13
 import io.swagger.annotations.Api;
10
 import io.swagger.annotations.ApiImplicitParam;
14
 import io.swagger.annotations.ApiImplicitParam;
11
 import io.swagger.annotations.ApiImplicitParams;
15
 import io.swagger.annotations.ApiImplicitParams;
12
 import io.swagger.annotations.ApiOperation;
16
 import io.swagger.annotations.ApiOperation;
17
+import org.apache.commons.collections4.CollectionUtils;
13
 import org.slf4j.Logger;
18
 import org.slf4j.Logger;
14
 import org.slf4j.LoggerFactory;
19
 import org.slf4j.LoggerFactory;
15
 import org.springframework.beans.factory.annotation.Autowired;
20
 import org.springframework.beans.factory.annotation.Autowired;
23
 import com.huiju.estateagents.base.BaseController;
28
 import com.huiju.estateagents.base.BaseController;
24
 
29
 
25
 import javax.servlet.http.HttpServletRequest;
30
 import javax.servlet.http.HttpServletRequest;
31
+import java.util.List;
32
+import java.util.stream.Collectors;
26
 
33
 
27
 /**
34
 /**
28
  * <p>
35
  * <p>
42
     @Autowired
49
     @Autowired
43
     public ITdBuildingTypeService iTdBuildingTypeService;
50
     public ITdBuildingTypeService iTdBuildingTypeService;
44
 
51
 
52
+    @Autowired
53
+    public TaBuildingMapper taBuildingMapper;
45
 
54
 
46
     /**
55
     /**
47
      * 分页查询列表
56
      * 分页查询列表
161
                                              HttpServletRequest request){
170
                                              HttpServletRequest request){
162
         ResponseBean responseBean = new ResponseBean();
171
         ResponseBean responseBean = new ResponseBean();
163
         try {
172
         try {
173
+
174
+            // 如果是删除,状态为 -1
175
+            if ( null != tdBuildingType.getStatus() && -1 == tdBuildingType.getStatus().intValue()) {
176
+                List<TaBuilding> taBuildings = taBuildingMapper.selectBuildingByBuildingTypeId(tdBuildingType.getBuildingTypeId());
177
+                if (CollectionUtils.isNotEmpty(taBuildings)) {
178
+                    String buildingNames = taBuildings.stream().map(e -> e.getBuildingName()).collect(Collectors.joining(","));
179
+                    throw new EstaException("项目 " + buildingNames + " 正在使用此类型,请先到项目列表中修改项目的项目类型为其他类型,再删除此类型");
180
+                }
181
+            }
182
+
164
             tdBuildingType.setOrgId(getOrgId(request));
183
             tdBuildingType.setOrgId(getOrgId(request));
165
             if (iTdBuildingTypeService.updateById(tdBuildingType)){
184
             if (iTdBuildingTypeService.updateById(tdBuildingType)){
166
                 responseBean.addSuccess(tdBuildingType);
185
                 responseBean.addSuccess(tdBuildingType);

+ 7
- 0
src/main/java/com/huiju/estateagents/mapper/TaBuildingMapper.java 查看文件

78
                                          @Param("areaList") List<String[]> areaList,
78
                                          @Param("areaList") List<String[]> areaList,
79
                                          @Param("orgId")Integer orgId);
79
                                          @Param("orgId")Integer orgId);
80
 
80
 
81
+    /**
82
+     * 根据项目类型Id 查询
83
+     * @param buildingTypeId
84
+     * @return
85
+     */
86
+    List<TaBuilding> selectBuildingByBuildingTypeId(Integer buildingTypeId);
87
+
81
 }
88
 }

+ 15
- 0
src/main/resources/mapper/TaBuildingMapper.xml 查看文件

179
             ORDER BY tb.order_no DESC
179
             ORDER BY tb.order_no DESC
180
     </select>
180
     </select>
181
 
181
 
182
+    <select id="selectBuildingByBuildingTypeId" resultType="com.huiju.estateagents.entity.TaBuilding">
183
+
184
+        SELECT
185
+            tab.*
186
+        FROM
187
+            ta_building_project_type tbpt
188
+            LEFT JOIN td_building_type tbt ON tbpt.building_type_id = tbt.building_type_id
189
+            LEFT JOIN ta_building tab ON tbpt.building_id = tab.building_id
190
+        WHERE
191
+          tab.status <![CDATA[ > ]]> -1
192
+        and
193
+          tbpt.building_type_id = #{buildingTypeId}
194
+
195
+    </select>
196
+
182
 </mapper>
197
 </mapper>