LAPTOP-FO2T5SIU\35838 9 months ago
parent
commit
c1ef535549

+ 13 - 1
pro-base/src/main/java/com/idea/buildManage/controller/MnpBuildingController.java

@@ -6,6 +6,8 @@ import com.github.pagehelper.PageInfo;
 import com.idea.buildManage.dto.MnpBuildingDto;
 import com.idea.buildManage.excel.MnpBuildingExcel;
 import com.idea.buildManage.excel.MnpBuildingListener;
+import com.idea.buildManage.service.ParkFloorDiscService;
+import com.idea.buildManage.service.ParkInfoService;
 import com.idea.buildManage.service.ParkRoomService;
 import com.idea.buildManage.model.MnpBuilding;
 import com.idea.buildManage.model.MnpBuildingExample;
@@ -17,6 +19,7 @@ import com.rockstar.frame.model.extend.DateTrans;
 import com.rockstar.frame.model.extend.TableSplitResult;
 import com.rockstar.frame.model.extend.Tablepar;
 import com.rockstar.shiro.util.ShiroUtils;
+import com.rockstar.system.service.SysDictService;
 import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -25,6 +28,8 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Created by pengyq on 2020.
@@ -37,6 +42,12 @@ public class MnpBuildingController extends BaseController {
     //主表
     @Autowired
     private MnpBuildingService modelService;
+    @Autowired
+    private ParkFloorDiscService floorDiscService;
+    @Autowired
+    private ParkInfoService parkInfoService;
+    @Autowired
+    private SysDictService sysDictService;
 
 
     @PostMapping(value = "list", produces = {"application/json;charset=UTF-8"})
@@ -114,7 +125,8 @@ public class MnpBuildingController extends BaseController {
     @ResponseBody
     public AjaxResult handleImport(@RequestParam("file") MultipartFile file) {
         JSONObject jsonObject = new JSONObject();
-        MnpBuildingListener listener = new MnpBuildingListener(jsonObject);
+        MnpBuildingListener listener = new MnpBuildingListener(modelService,floorDiscService,parkInfoService,sysDictService,
+                jsonObject);
         try {
             ExcelUtils excelUtils = new ExcelUtils();
             File excel = excelUtils.multipartFileToFile(file);

+ 7 - 2
pro-base/src/main/java/com/idea/buildManage/controller/ParkFloorDiscController.java

@@ -10,12 +10,14 @@ import com.idea.buildManage.excel.ParkFloorDiscListener;
 import com.idea.buildManage.response.ParkFloorDiscRespson;
 import com.idea.buildManage.model.ParkFloorDisc;
 import com.idea.buildManage.service.ParkFloorDiscService;
+import com.idea.buildManage.service.ParkInfoService;
 import com.idea.util.ExcelUtils;
 import com.rockstar.common.base.BaseController;
 import com.rockstar.common.domain.AjaxResult;
 import com.rockstar.frame.model.extend.DateTrans;
 import com.rockstar.frame.model.extend.TableSplitResult;
 import com.rockstar.frame.model.extend.Tablepar;
+import com.rockstar.system.service.SysDictService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,7 +39,10 @@ public class ParkFloorDiscController extends BaseController {
     //主表
     @Autowired
     private ParkFloorDiscService modelService;
-
+    @Autowired
+    private ParkInfoService parkInfoService;
+    @Autowired
+    private SysDictService sysDictService;
 
     @PostMapping(value = "list",produces = {"application/json;charset=UTF-8"})
     @ResponseBody
@@ -105,7 +110,7 @@ public class ParkFloorDiscController extends BaseController {
     @ResponseBody
     public AjaxResult handleImport(@RequestParam("file") MultipartFile file) {
         JSONObject jsonObject = new JSONObject();
-        ParkFloorDiscListener listener = new ParkFloorDiscListener(jsonObject);
+        ParkFloorDiscListener listener = new ParkFloorDiscListener(modelService,parkInfoService,sysDictService,jsonObject);
         try {
             ExcelUtils excelUtils = new ExcelUtils();
             File excel = excelUtils.multipartFileToFile(file);

+ 112 - 8
pro-base/src/main/java/com/idea/buildManage/excel/MnpBuildingListener.java

@@ -18,7 +18,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-@Component
 public class MnpBuildingListener extends AnalysisEventListener<MnpBuildingExcel> {
 
     private List<MnpBuilding> list = new ArrayList<>();
@@ -31,17 +30,18 @@ public class MnpBuildingListener extends AnalysisEventListener<MnpBuildingExcel>
 
     private JSONObject jsonObject;
 
-    @Autowired
     private MnpBuildingService buildingService;
-    @Autowired
     private ParkFloorDiscService floorDiscService;
-    @Autowired
     private ParkInfoService parkInfoService;
-    @Autowired
     private SysDictService sysDictService;
 
 
-    public MnpBuildingListener(JSONObject jsonObject) {
+    public MnpBuildingListener(MnpBuildingService buildingService,ParkFloorDiscService floorDiscService,
+                               ParkInfoService parkInfoService,SysDictService sysDictService, JSONObject jsonObject) {
+        this.buildingService = buildingService;
+        this.floorDiscService = floorDiscService;
+        this.parkInfoService = parkInfoService;
+        this.sysDictService = sysDictService;
         this.jsonObject = jsonObject;
     }
 
@@ -54,6 +54,9 @@ public class MnpBuildingListener extends AnalysisEventListener<MnpBuildingExcel>
     @Override
     public void doAfterAllAnalysed(AnalysisContext analysisContext) {
 
+
+        // 入驻类型字典
+        List<Map<String, String>> buildStructure = sysDictService.selectDictList("BUILD_STRUCTURE");
         if(CollectionUtils.isNotEmpty(excelList)){
             MnpBuilding data;
             MnpBuildingExcel excel = null;
@@ -89,12 +92,113 @@ public class MnpBuildingListener extends AnalysisEventListener<MnpBuildingExcel>
                     if (StringUtils.isEmpty(excel.getArea())) {
                         throw new RuntimeException("总面积为空");
                     }
+                    try {
+                        data.setArea(Double.valueOf(excel.getArea()));
+                    }catch (NumberFormatException e){
+                        throw new RuntimeException("总面积格式有误");
+                    }
                     // 住宅面积
                     if (StringUtils.isEmpty(excel.getResidentialArea())) {
                         throw new RuntimeException("住宅面积为空");
                     }
-
-
+                    try {
+                        data.setResidentialArea(Double.valueOf(excel.getResidentialArea()));
+                    }catch (NumberFormatException e){
+                        throw new RuntimeException("住宅面积格式有误");
+                    }
+                    // 非住宅面积
+                    if (StringUtils.isEmpty(excel.getUnResidentialArea())) {
+                        throw new RuntimeException("非住宅面积为空");
+                    }
+                    try {
+                        data.setUnResidentialArea(Double.valueOf(excel.getUnResidentialArea()));
+                    }catch (NumberFormatException e){
+                        throw new RuntimeException("非住宅面积格式有误");
+                    }
+                    // 占地面积
+                    if (StringUtils.isEmpty(excel.getCoverAnArea())) {
+                        throw new RuntimeException("占地面积为空");
+                    }
+                    try {
+                        data.setCoverAnArea(Double.valueOf(excel.getCoverAnArea()));
+                    }catch (NumberFormatException e){
+                        throw new RuntimeException("占地面积格式有误");
+                    }
+                    // 地下面积
+                    if (StringUtils.isEmpty(excel.getUndergroundArea())) {
+                        throw new RuntimeException("地下面积为空");
+                    }
+                    try {
+                        data.setUndergroundArea(Double.valueOf(excel.getUndergroundArea()));
+                    }catch (NumberFormatException e){
+                        throw new RuntimeException("地下面积格式有误");
+                    }
+                    // 房号
+                    if (StringUtils.isNotEmpty(excel.getRoomNum())) {
+                        data.setRoomNum(excel.getRoomNum());
+                    }
+                    // 房号
+                    if (StringUtils.isNotEmpty(excel.getRoomNum())) {
+                        throw new RuntimeException("房号为空");
+                    }
+                    data.setRoomNum(excel.getRoomNum());
+                    // 套数
+                    if (StringUtils.isNotEmpty(excel.getNumberInfo())) {
+                        throw new RuntimeException("套数为空");
+                    }
+                    data.setNumberInfo(excel.getNumberInfo());
+                    // 总层数
+                    if (StringUtils.isNotEmpty(excel.getFloors())) {
+                        throw new RuntimeException("总层数为空");
+                    }
+                    try {
+                        data.setFloors(Integer.valueOf(excel.getFloors()));
+                    }catch (NumberFormatException e){
+                        throw new RuntimeException("总层数格式有误");
+                    }
+                    // 地上层数
+                    if (StringUtils.isNotEmpty(excel.getOvergroundFloors())) {
+                        throw new RuntimeException("地上层数为空");
+                    }
+                    try {
+                        data.setOvergroundFloors(Integer.valueOf(excel.getOvergroundFloors()));
+                    }catch (NumberFormatException e){
+                        throw new RuntimeException("地上层数格式有误");
+                    }
+                    // 地下层数
+                    if (StringUtils.isNotEmpty(excel.getUndergroundFloors())) {
+                        throw new RuntimeException("地下层数为空");
+                    }
+                    try {
+                        data.setUndergroundFloors(Integer.valueOf(excel.getUndergroundFloors()));
+                    }catch (NumberFormatException e){
+                        throw new RuntimeException("地下层数格式有误");
+                    }
+                    // 结构
+                    if (StringUtils.isNotEmpty(excel.getStructure())) {
+                        throw new RuntimeException("结构为空");
+                    }
+                    for (Map<String, String> stringStringMap : buildStructure) {
+                        if (stringStringMap.get("label").equals(excel.getStructure())) {
+                            data.setStructure(stringStringMap.get("value"));
+                        }
+                    }
+                    // 没匹配上的情况
+                    if(StringUtils.isEmpty(data.getStructure())){
+                        throw new RuntimeException("第" + (i + 3) + "行,入驻类型格式有误");
+                    }
+                    // 行政区划
+                    if (StringUtils.isNotEmpty(excel.getRegionalismCode())) {
+                        throw new RuntimeException("行政区划为空");
+                    }
+                    data.setRegionalismCode(excel.getRegionalismCode());
+                    // 地号
+                    if (StringUtils.isNotEmpty(excel.getLandCode())) {
+                        throw new RuntimeException("地号为空");
+                    }
+                    data.setLandCode(excel.getLandCode());
+                    data.setRemark(excel.getRemark());
+                    data.setPriceRemark(excel.getPriceRemark());
                     count = list.size();
                     jsonObject.put("successCount", count);
                     jsonObject.put("errorList", badList);

+ 5 - 5
pro-base/src/main/java/com/idea/buildManage/excel/ParkFloorDiscListener.java

@@ -17,7 +17,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-@Component
 public class ParkFloorDiscListener extends AnalysisEventListener<ParkFloorDiscExcel> {
 
     private List<ParkFloorDisc> list = new ArrayList<>();
@@ -30,15 +29,16 @@ public class ParkFloorDiscListener extends AnalysisEventListener<ParkFloorDiscEx
 
     private JSONObject jsonObject;
 
-    @Autowired
     private ParkFloorDiscService floorDiscService;
-    @Autowired
     private ParkInfoService parkInfoService;
-    @Autowired
     private SysDictService sysDictService;
 
 
-    public ParkFloorDiscListener(JSONObject jsonObject) {
+    public ParkFloorDiscListener(ParkFloorDiscService floorDiscService,ParkInfoService parkInfoService,
+                                 SysDictService sysDictService, JSONObject jsonObject) {
+        this.floorDiscService = floorDiscService;
+        this.parkInfoService = parkInfoService;
+        this.sysDictService = sysDictService;
         this.jsonObject = jsonObject;
     }