ソースを参照

feat: 实现不动产根据父级组织机构id查询子组织机构列表接口

weijianghai 10 ヶ月 前
コミット
719fc04c2f

+ 2 - 1
src/main/java/com/nokia/financeapi/config/web/MyWebMvcConfigurer.java

@@ -20,7 +20,8 @@ public class MyWebMvcConfigurer implements WebMvcConfigurer {
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         // 添加请求日志拦截
-        registry.addInterceptor(new RequestLogHandlerInterceptor(requestLogService)).addPathPatterns("/**").excludePathPatterns("/webjars/**", "/doc**", "/v3/**");
+        registry.addInterceptor(new RequestLogHandlerInterceptor(requestLogService))
+                .addPathPatterns("/**").excludePathPatterns("/webjars/**", "/doc**", "/v3/**", "/test/**");
         // 添加token拦截
 //        registry.addInterceptor(new TokenInterceptor()).addPathPatterns("/house-car/**");
     }

+ 32 - 0
src/main/java/com/nokia/financeapi/controller/house/HouseOrgController.java

@@ -0,0 +1,32 @@
+package com.nokia.financeapi.controller.house;
+
+import com.nokia.financeapi.common.R;
+import com.nokia.financeapi.pojo.dto.GetOrgsByParentIdDto;
+import com.nokia.financeapi.pojo.vo.HouseOrgVo;
+import com.nokia.financeapi.service.house.HouseOrgService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+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.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+@Tag(name = "不动产组织机构")
+@RestController
+@RequestMapping("/house-car/house/api/org")
+public class HouseOrgController {
+    private final HouseOrgService houseOrgService;
+
+    public HouseOrgController(HouseOrgService houseOrgService) {
+        this.houseOrgService = houseOrgService;
+    }
+
+    @Operation(summary = "根据父级组织机构id查询子组织机构列表")
+    @PostMapping("/getOrgsByParentId")
+    public R<List<HouseOrgVo>> getOrgsByParentId(@Valid @RequestBody GetOrgsByParentIdDto dto) {
+        return houseOrgService.getOrgsByParentId(dto);
+    }
+}

+ 0 - 1
src/main/java/com/nokia/financeapi/dao/house/HouseDataCheckDao.java

@@ -186,7 +186,6 @@ left join t101 c on
 where
     a.grade = 2
     and a.unhide = 1
-    and a.parent_id != '-12'
 <if test="dto.areaNo != null and dto.areaNo != ''">
   and a.parent_id = #{dto.areaNo}
 </if>

+ 32 - 0
src/main/java/com/nokia/financeapi/dao/house/HouseOrgDao.java

@@ -0,0 +1,32 @@
+package com.nokia.financeapi.dao.house;
+
+import com.nokia.financeapi.pojo.vo.HouseOrgVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+@Mapper
+public interface HouseOrgDao {
+    /**
+     * 根据父级组织机构id查询子组织机构
+     * @param parentId 父级组织机构id
+     */
+    @Select("""
+select
+    id,
+    name,
+    grade as level,
+    order_num as weight,
+    parent_id
+from
+    common.organization
+where
+    unhide = 1
+    and parent_id = #{parentId}
+order by
+    order_num
+""")
+    List<HouseOrgVo> listByParentId(@Param("parentId") String parentId);
+}

+ 1 - 1
src/main/java/com/nokia/financeapi/pojo/dto/GetBuildingAreaDiffDto.java

@@ -9,6 +9,6 @@ public class GetBuildingAreaDiffDto {
     private Integer endDate;
     @Schema(description = "二级组织机构id")
     private String areaNo;
-    @Schema(description = "三级组织机构id")
+    @Schema(description = "三级组织机构id")
     private String cityNo;
 }

+ 13 - 0
src/main/java/com/nokia/financeapi/pojo/dto/GetOrgsByParentIdDto.java

@@ -0,0 +1,13 @@
+package com.nokia.financeapi.pojo.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class GetOrgsByParentIdDto {
+    @Schema(description = "组织机构id,018为查询全省地市", example = "018")
+    @NotBlank
+    private String id;
+}

+ 19 - 0
src/main/java/com/nokia/financeapi/pojo/vo/HouseOrgVo.java

@@ -0,0 +1,19 @@
+package com.nokia.financeapi.pojo.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+public class HouseOrgVo {
+    @Schema(description = "组织机构id")
+    private String id;
+    @Schema(description = "组织机构名称")
+    private String name;
+    @Schema(description = "组织机构级别")
+    private Integer level;
+    @Schema(description = "排序")
+    private Integer weight;
+    @Schema(description = "父级组织机构id")
+    private String parentId;
+
+}

+ 4 - 4
src/main/java/com/nokia/financeapi/service/house/HouseDataCheckService.java

@@ -50,7 +50,7 @@ public class HouseDataCheckService {
     }
 
     private GetBuildingAreaDiffVo getBuildingAreaDiffVo(GetBuildingAreaDiffDto dto) {
-        if ("全省".equals(dto.getAreaNo())) {
+        if ("018".equals(dto.getAreaNo())) {
             dto.setAreaNo(null);
             dto.setCityNo(null);
         }
@@ -95,7 +95,7 @@ public class HouseDataCheckService {
             dto.setCityNo(URLDecoder.decode(dto.getCityNo(), StandardCharsets.UTF_8));
         }
         String filename = "数据稽查_自用面积比较"
-                + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + ".xlsx";
+                + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + ".xlsx";
         response.setHeader("Content-Disposition", "attachment;filename=" + URLEncodeUtil.encode(filename));
         response.setContentType("application/octet-stream");
         try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
@@ -372,7 +372,7 @@ public class HouseDataCheckService {
     }
 
     private GetHouseAbnormalDataVo getHouseAbnormalDataVo(GetHouseAbnormalDataDto dto) {
-        if ("全省".equals(dto.getAreaNo())) {
+        if ("018".equals(dto.getAreaNo())) {
             dto.setAreaNo(null);
             dto.setCityNo(null);
         }
@@ -417,7 +417,7 @@ public class HouseDataCheckService {
             dto.setCityNo(URLDecoder.decode(dto.getCityNo(), StandardCharsets.UTF_8));
         }
         String filename = "数据稽查_异常数据稽核表"
-                + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + ".xlsx";
+                + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + ".xlsx";
         response.setHeader("Content-Disposition", "attachment;filename=" + URLEncodeUtil.encode(filename));
         response.setContentType("application/octet-stream");
         try (SXSSFWorkbook wb = new SXSSFWorkbook()) {

+ 23 - 0
src/main/java/com/nokia/financeapi/service/house/HouseOrgService.java

@@ -0,0 +1,23 @@
+package com.nokia.financeapi.service.house;
+
+import com.nokia.financeapi.common.R;
+import com.nokia.financeapi.dao.house.HouseOrgDao;
+import com.nokia.financeapi.pojo.dto.GetOrgsByParentIdDto;
+import com.nokia.financeapi.pojo.vo.HouseOrgVo;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class HouseOrgService {
+    private final HouseOrgDao houseOrgDao;
+
+    public HouseOrgService(HouseOrgDao houseOrgDao) {
+        this.houseOrgDao = houseOrgDao;
+    }
+
+    public R<List<HouseOrgVo>> getOrgsByParentId(GetOrgsByParentIdDto dto) {
+        List<HouseOrgVo> list = houseOrgDao.listByParentId(dto.getId());
+        return R.ok(list);
+    }
+}