瀏覽代碼

项目类型修改

魏熙美 5 年之前
父節點
當前提交
0a887a76d8

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

@@ -4,12 +4,17 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.ResponseBean;
7
+import com.huiju.estateagents.entity.TaBuilding;
7 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 12
 import com.huiju.estateagents.service.ITdBuildingTypeService;
9 13
 import io.swagger.annotations.Api;
10 14
 import io.swagger.annotations.ApiImplicitParam;
11 15
 import io.swagger.annotations.ApiImplicitParams;
12 16
 import io.swagger.annotations.ApiOperation;
17
+import org.apache.commons.collections4.CollectionUtils;
13 18
 import org.slf4j.Logger;
14 19
 import org.slf4j.LoggerFactory;
15 20
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,6 +28,8 @@ import org.springframework.web.bind.annotation.RestController;
23 28
 import com.huiju.estateagents.base.BaseController;
24 29
 
25 30
 import javax.servlet.http.HttpServletRequest;
31
+import java.util.List;
32
+import java.util.stream.Collectors;
26 33
 
27 34
 /**
28 35
  * <p>
@@ -42,6 +49,8 @@ public class TdBuildingTypeController extends BaseController {
42 49
     @Autowired
43 50
     public ITdBuildingTypeService iTdBuildingTypeService;
44 51
 
52
+    @Autowired
53
+    public TaBuildingMapper taBuildingMapper;
45 54
 
46 55
     /**
47 56
      * 分页查询列表
@@ -161,6 +170,16 @@ public class TdBuildingTypeController extends BaseController {
161 170
                                              HttpServletRequest request){
162 171
         ResponseBean responseBean = new ResponseBean();
163 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 183
             tdBuildingType.setOrgId(getOrgId(request));
165 184
             if (iTdBuildingTypeService.updateById(tdBuildingType)){
166 185
                 responseBean.addSuccess(tdBuildingType);

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

@@ -78,4 +78,11 @@ public interface TaBuildingMapper extends BaseMapper<TaBuilding> {
78 78
                                          @Param("areaList") List<String[]> areaList,
79 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,4 +179,19 @@
179 179
             ORDER BY tb.order_no DESC
180 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 197
 </mapper>