Selaa lähdekoodia

批量导入安装计划

oppadmin 4 vuotta sitten
vanhempi
commit
71b0b2fb4d

+ 19 - 0
smart-city-platform/src/main/java/com/bz/smart_city/dto/pay/InstallPlanDataDTO.java

@@ -41,4 +41,23 @@ public class InstallPlanDataDTO {
 
     @ApiModelProperty(value = "子类", position = 5)
     private List<InstallPlanDataDTO> children;
+
+    @ApiModelProperty(value = "1楼栋 2单元 3楼层 4门牌号")
+    private String code;
+
+
+    @ApiModelProperty(value = "水表档案号")
+    private String meterCode;
+
+    @ApiModelProperty(value = "用户名称")
+    private String userName;
+
+    @ApiModelProperty(value = "联系电话")
+    private String telephone;
+
+    @ApiModelProperty(value = "身份证号")
+    private String idcardno;
+
+    @ApiModelProperty(value="备注", hidden = true)
+    private String remark;
 }

+ 0 - 11
smart-city-platform/src/main/java/com/bz/smart_city/dto/pay/InstallPlanInputDTO.java

@@ -31,16 +31,5 @@ public class InstallPlanInputDTO extends InstallPlan {
     @ApiModelProperty(value = "用水性质id", position = 105, example = "1")
     private BigInteger waterproperty_id;
 
-    @ApiModelProperty(value = "水表档案号")
-    private String meterCode;
-
-    @ApiModelProperty(value = "用户名称")
-    private String userName;
-
-    @ApiModelProperty(value = "联系电话")
-    private String telephone;
-
-    @ApiModelProperty(value = "身份证号")
-    private String idcardno;
 
 }

+ 83 - 72
smart-city-platform/src/main/java/com/bz/smart_city/excel/resolver/InstallPlanResolverExcelTemplate.java

@@ -123,10 +123,10 @@ public class InstallPlanResolverExcelTemplate extends AbstractResolverExcelTempl
                 messageContent.append(ResultStatus.DEVICE_TYPE_NOT_EXISTED.getMessage());
                 continue;
             }
-            List<DeviceTypeDto> deviceTypeDtos = DeviceTypeAjax.getData();
-
-
 
+            InstallPlanInputDTO installPlanInput = new InstallPlanInputDTO();
+            installPlanInput.setInstallPlanDataList(new ArrayList<>());
+            installPlanInput.setPreInstallNumber(number); //报装客户数
             // 2,处理明细行数据
             for (int rowNum = 9; rowNum < 9+number ; rowNum++) {
                 Row row = hssfSheet.getRow(rowNum);
@@ -161,40 +161,11 @@ public class InstallPlanResolverExcelTemplate extends AbstractResolverExcelTempl
                     ) {
                         continue;
                     }
-                    if (StringUtils.equals("", buildingCell.getStringCellValue().trim())){
-                        failTime.incrementAndGet();
-                        continue;
-                    }
-                    if (StringUtils.equals("", floorCell.getStringCellValue().trim())){
-                        failTime.incrementAndGet();
-                        continue;
-                    }
-                    if (StringUtils.equals("", doorNoCell.getStringCellValue().trim())){
-                        failTime.incrementAndGet();
-                        continue;
-                    }
-                    if (StringUtils.equals("", deviceTypeCell.getStringCellValue().trim())){
-                        failTime.incrementAndGet();
-                        continue;
-                    }
 
                     log.info("Row info = building={},unit={},floor={},doorNo={},deviceType={}",buildingCell.getStringCellValue(),unitCell.getStringCellValue(),floorCell.getStringCellValue(),
                             doorNoCell.getStringCellValue(),deviceTypeCell.getStringCellValue());
                     //deviceTypeSet.add(deviceTypeCell.getStringCellValue().trim());
 
-                    InstallPlanInputDTO installPlanInput = new InstallPlanInputDTO();
-                    if(StringUtils.isNotBlank(userNameCell.getStringCellValue().trim())){
-                        installPlanInput.setUserName(userNameCell.getStringCellValue().trim());
-                    }
-                    if(StringUtils.isNotBlank(userPhoneCell.getStringCellValue().trim())){
-                        installPlanInput.setTelephone(userPhoneCell.getStringCellValue().trim());
-                    }
-                    if(StringUtils.isNotBlank(idCardCell.getStringCellValue().trim())){
-                        installPlanInput.setIdcardno(idCardCell.getStringCellValue().trim());
-                    }
-                    if(StringUtils.isNotBlank(remarkCell.getStringCellValue().trim())){
-                        installPlanInput.setRemark(remarkCell.getStringCellValue().trim());
-                    }
 
                     installPlanInput.setCustomerId(customerId);
                     //是否启用单元
@@ -204,12 +175,12 @@ public class InstallPlanResolverExcelTemplate extends AbstractResolverExcelTempl
                     else
                         installPlanInput.setEnableUnit(1);
                     installPlanInput.setCommunityName(communityNameCell.getStringCellValue());//小区
-                    installPlanInput.setPreInstallNumber(1); //报装客户数
+
                     //设备类型
                     String str = deviceTypeCell.getStringCellValue().trim();
                     String[] deviceType  = StringUtils.split(str,"/");
                     List<Integer> devieTypeId = new ArrayList();
-
+                    List<DeviceTypeDto> deviceTypeDtos = DeviceTypeAjax.getData();
                     for(int i=0;i<deviceTypeDtos.size();i++){
                         if (deviceTypeDtos.get(i).getEquipmentType().equals(deviceType[1])
                                 && deviceTypeDtos.get(i).getModel().equals(deviceType[2])){
@@ -217,12 +188,6 @@ public class InstallPlanResolverExcelTemplate extends AbstractResolverExcelTempl
                             break;
                         }
                     }
-                   /* for (DeviceTypeDto type :deviceTypeDtos){
-                        if(type.getEquipmentType().equals(deviceType[1]) && type.getModel().equals(deviceType[2])){
-                            devieTypeId.add(type.getId());
-                            break;
-                        }
-                    }*/
                     installPlanInput.setDeviceTypeIds(devieTypeId);
 
                     //地址
@@ -232,53 +197,99 @@ public class InstallPlanResolverExcelTemplate extends AbstractResolverExcelTempl
                     installPlanInput.setCity(community.getCity());
                     installPlanInput.setRegion(community.getRegion());
 
-                    InstallPlanDataDTO buildDTO = new InstallPlanDataDTO();
-                    InstallPlanDataDTO unitDTO = new InstallPlanDataDTO();
-                    unitDTO.setChildren(new ArrayList<>());
-                    InstallPlanDataDTO floorDTO = new InstallPlanDataDTO();
-                    InstallPlanDataDTO doorNoDTO = new InstallPlanDataDTO();
+                    InstallPlanDataDTO buildDTO = null;
+                    InstallPlanDataDTO unitDTO = null;
+                    InstallPlanDataDTO floorDTO = null;
+                    InstallPlanDataDTO doorNoDTO = null;
 
                     //楼栋 单元 楼层 门牌号
-                    buildDTO.setName(buildingCell.getStringCellValue().trim());
-                    buildDTO.setChildren(new ArrayList());
-
-                    floorDTO.setName(floorCell.getStringCellValue().trim());
-                    floorDTO.setChildren( new ArrayList());
-
-                    doorNoDTO.setName(doorNoCell.getStringCellValue().trim());
-                    if(StringUtils.isNotBlank(fileNoCell.getStringCellValue().trim()))
-                        doorNoDTO.setFileNo(fileNoCell.getStringCellValue().trim());
+                    for (InstallPlanDataDTO dto :installPlanInput.getInstallPlanDataList()){
+                        if(dto.getName().equals(buildingCell.getStringCellValue().trim())){
+                            buildDTO = dto;
+                            break;
+                        }
+                    }
+                    if(buildDTO == null){
+                        buildDTO = new InstallPlanDataDTO();
+                        buildDTO.setChildren(new ArrayList());
+                        buildDTO.setCode("build");
+                        buildDTO.setName(buildingCell.getStringCellValue().trim());
+                        installPlanInput.getInstallPlanDataList().add(buildDTO);
+                    }
 
-                   floorDTO.getChildren().add(doorNoDTO);
-/*                    if(installPlanInput.getEnableUnit() == 1){
+                    //单元
+                    for ( InstallPlanDataDTO dto :buildDTO.getChildren()){
+                        if(dto.getName().equals(unitCell.getStringCellValue().trim())){
+                            unitDTO = dto;
+                            break;
+                        }
+                    }
+                    if(unitDTO == null){
+                        unitDTO = new  InstallPlanDataDTO();
+                        unitDTO.setChildren(new ArrayList<>());
+                        unitDTO.setCode("unit");
                         unitDTO.setName(unitCell.getStringCellValue().trim());
-                        unitDTO.getChildren().add(floorDTO);
                         buildDTO.getChildren().add(unitDTO);
                     }
-                    else
-                        buildDTO.getChildren().add(floorDTO);*/
-
-                    unitDTO.setName(unitCell.getStringCellValue().trim());
-                    unitDTO.getChildren().add(floorDTO);
-                    buildDTO.getChildren().add(unitDTO);
-
+                    //楼层
+                    for (InstallPlanDataDTO dto:unitDTO.getChildren()){
+                        if(dto.getName().equals(floorCell.getStringCellValue().trim())){
+                            floorDTO = dto;
+                            break;
+                        }
+                    }
+                    if(floorDTO == null){
+                        floorDTO = new InstallPlanDataDTO();
+                        floorDTO.setChildren(new ArrayList<>());
+                        floorDTO.setCode("floor");
+                        floorDTO.setName(floorCell.getStringCellValue().trim());
+                        unitDTO.getChildren().add(floorDTO);
+                    }
 
-                    if(installPlanInput.getInstallPlanDataList() == null)
-                        installPlanInput.setInstallPlanDataList(new ArrayList<>());
-                    installPlanInput.getInstallPlanDataList().add(buildDTO);
-                    record.getLoginUser().setSiteType(2);
-                    AjaxMessage ajax = paySyncDataService.addJF(installPlanInput,record.getLoginUser());
-                    if(ajax != null){
-                        if(ajax.getStatus()==0){
-                            ;//成功
+                    //门牌号
+/*                    for (InstallPlanDataDTO dto:floorDTO.getChildren()){
+                        if(dto.getName().equals(doorNoCell.getStringCellValue().trim())){
+                            doorNoDTO = dto;
+                        }
+                    }*/
+                    if(doorNoDTO == null){
+                        doorNoDTO = new InstallPlanDataDTO();
+                        doorNoDTO.setChildren(new ArrayList<>());
+                        doorNoDTO.setCode("door");
+                        floorDTO.getChildren().add(doorNoDTO);
+                        doorNoDTO.setName(doorNoCell.getStringCellValue().trim());
+                        if(StringUtils.isNotBlank(fileNoCell.getStringCellValue().trim()))
+                            doorNoDTO.setFileNo(fileNoCell.getStringCellValue().trim());
+
+                        if(StringUtils.isNotBlank(userNameCell.getStringCellValue().trim())){
+                            doorNoDTO.setUserName(userNameCell.getStringCellValue().trim());
+                        }
+                        if(StringUtils.isNotBlank(userPhoneCell.getStringCellValue().trim())){
+                            doorNoDTO.setTelephone(userPhoneCell.getStringCellValue().trim());
+                        }
+                        if(StringUtils.isNotBlank(idCardCell.getStringCellValue().trim())){
+                            doorNoDTO.setIdcardno(idCardCell.getStringCellValue().trim());
+                        }
+                        if(StringUtils.isNotBlank(remarkCell.getStringCellValue().trim())){
+                            doorNoDTO.setRemark(remarkCell.getStringCellValue().trim());
                         }
                     }
+
                     hssfSheet.removeRow(row);//成功删除该行
                     doorNum ++;
                     successTime.incrementAndGet();
                 }
             }
 
+            record.getLoginUser().setSiteType(2);
+            AjaxMessage ajax = paySyncDataService.addJF(installPlanInput,record.getLoginUser());
+            if(ajax != null){
+                if(ajax.getStatus()==0){
+                    ;//成功
+                }
+            }
+
+
             //循环为空的行上移
             if(failTime.get() > 0){
                 for (int rowNum = 9+number-1; rowNum >= 9 ; rowNum--) {

+ 4 - 4
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/pay/PaySyncDataServiceImpl.java

@@ -261,10 +261,10 @@ public class PaySyncDataServiceImpl implements PaySyncDataService {
                                         payBaseAccountDto.setAccountnumber(strAccountNumber);
 
                                         //保存模板导入的信息
-                                        payBaseAccountDto.setRemarks(installPlanInput.getRemark());
-                                        payBaseAccountDto.setTelephone(installPlanInput.getTelephone());
-                                        payBaseAccountDto.setIdcardno(installPlanInput.getIdcardno());
-                                        payBaseAccountDto.setName(installPlanInput.getUserName());
+                                        payBaseAccountDto.setRemarks(installPlanDoor.getRemark());
+                                        payBaseAccountDto.setTelephone(installPlanDoor.getTelephone());
+                                        payBaseAccountDto.setIdcardno(installPlanDoor.getIdcardno());
+                                        payBaseAccountDto.setName(installPlanDoor.getUserName());
                                         accountLists.add(payBaseAccountDto);