diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java index 1c25e75f50..d617ad39dd 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java @@ -223,4 +223,9 @@ public class ImportGeneralDTO implements Serializable { private String buildingLeaderTypeNum; + + private String propertyUserName; + + private String propertyUserMobile; + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java index 23807cd908..1495e595a0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java @@ -259,7 +259,7 @@ public class StaffController implements ResultDataResolver { Path fileSavePath; try { - Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); + Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("staff", "import"); fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); } catch (IOException e) { String errorMsg = ExceptionUtils.getErrorStackTrace(e); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java index c0ea9df16d..81a75f86ec 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java @@ -17,6 +17,8 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; @@ -39,6 +41,7 @@ public class IcPropertyManagementEntity extends BaseEpmetEntity { * 物业名称 */ private String name; + @TableField(fill = FieldFill.INSERT) private String customerId; /** * 烟台需求:物业联系人姓名 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerStaffImportExcelData.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerStaffImportExcelData.java index d724dc35b4..c667472284 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerStaffImportExcelData.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerStaffImportExcelData.java @@ -60,6 +60,13 @@ public class CustomerStaffImportExcelData { @Data public static class RowRemarkMessage { + @ColumnWidth(60) + @ExcelProperty("姓名") + private String name; + + @ColumnWidth(60) + @ExcelProperty("联系电话") + private String mobile; @ColumnWidth(60) @ExcelProperty("错误信息") diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcNeighborHoodExcel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcNeighborHoodExcel.java index 227ed90e4a..0406b33490 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcNeighborHoodExcel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/IcNeighborHoodExcel.java @@ -124,6 +124,12 @@ public class IcNeighborHoodExcel extends ExcelVerifyInfo implements Serializable @Excel(name = "关联物业") private String propertyName; + @Excel(name = "物业联系人") + private String propertyUserName; + + @Excel(name = "联系电话") + private String propertyUserMobile; + @Excel(name = "详细地址") @NotBlank(message = "不能为空") private String address; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/CustomerStaffImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/CustomerStaffImportListener.java index 28d91229af..7a8406eb8f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/CustomerStaffImportListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/CustomerStaffImportListener.java @@ -38,6 +38,8 @@ public class CustomerStaffImportListener implements ReadListener { IcPropertyManagementEntity e = new IcPropertyManagementEntity(); e.setName(name); + for (ImportGeneralDTO importGeneralDTO : notExistList) { + if (importGeneralDTO.getPropertyName().equals(name)){ + e.setContactMobile(importGeneralDTO.getPropertyUserMobile()); + e.setContactName(importGeneralDTO.getPropertyUserName()); + break; + } + } propertyManagementEntities.add(e); }); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/NeighborHoodInfoModel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/NeighborHoodInfoModel.java index b1f33f409b..374f367a2e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/NeighborHoodInfoModel.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/NeighborHoodInfoModel.java @@ -36,6 +36,12 @@ public class NeighborHoodInfoModel { @ExcelProperty(value = "关联物业") private String propertyName; + @ExcelProperty(value = "物业联系人") + private String propertyUserName; + + @ExcelProperty(value = "联系电话") + private String propertyUserMobile; + @ExcelProperty(value = "详细地址") private String address; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java index 5f16fb2c62..8eb14781f5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java @@ -92,6 +92,8 @@ public class BuildingServiceImpl implements BuildingService { private IcOrganizationCodeInfoDao icOrganizationCodeInfoDao; @Autowired private IcOrganizationCodeInfoServiceImpl icOrganizationCodeInfoServiceImpl; + @Autowired + private CommunityBuildingManagerDao communityBuildingManagerDao; @Override @@ -103,8 +105,8 @@ public class BuildingServiceImpl implements BuildingService { if (null != count && count > 0) { throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(), EpmetErrorCode.BUILDING_NAME_EXITED.getMsg()); } - IcNeighborHoodEntity neighborHood = icNeighborHoodDao.selectById(formDTO.getNeighborHoodId()); - count = icBuildingDao.checkBuildNameV2(formDTO.getAgencyId(), neighborHood.getNeighborHoodName(), formDTO.getBuildingName(), null); + IcNeighborHoodEntity neighborHood1 = icNeighborHoodDao.selectById(formDTO.getNeighborHoodId()); + count = icBuildingDao.checkBuildNameV2(formDTO.getAgencyId(), neighborHood1.getNeighborHoodName(), formDTO.getBuildingName(), null); if (null != count && count > 0) { throw new EpmetException(EpmetErrorCode.BUILDING_NAME_EXITED_IN_GRID.getCode()); } @@ -121,6 +123,57 @@ public class BuildingServiceImpl implements BuildingService { IcBuildingEntity entity = ConvertUtils.sourceToTarget(icBuildingDTO, IcBuildingEntity.class); icBuildingDao.insert(entity); + + LambdaQueryWrapper manager = new LambdaQueryWrapper().eq(CommunityBuildingManagerEntity::getBuildingId,entity.getId()); + CommunityBuildingManagerEntity communityBuildingManagerEntity = communityBuildingManagerDao.selectOne(manager); + + + if (StringUtils.isNotBlank(entity.getBuildingLeaderType())&& + StringUtils.isNotBlank(entity.getBuildingLeaderIdCard())&& + StringUtils.isNotBlank(entity.getBuildingLeaderMobile())&& + StringUtils.isNotBlank(entity.getBuildingLeaderName())){ + + if (communityBuildingManagerEntity!=null){ + communityBuildingManagerEntity.setIdCard(entity.getBuildingLeaderIdCard()); + communityBuildingManagerEntity.setPhone(entity.getBuildingLeaderMobile()); + communityBuildingManagerEntity.setType(entity.getBuildingLeaderType()); + communityBuildingManagerEntity.setName(entity.getBuildingLeaderName()); + communityBuildingManagerDao.updateById(communityBuildingManagerEntity); + }else{ + communityBuildingManagerEntity= new CommunityBuildingManagerEntity(); + communityBuildingManagerEntity.setIdCard(entity.getBuildingLeaderIdCard()); + communityBuildingManagerEntity.setPhone(entity.getBuildingLeaderMobile()); + communityBuildingManagerEntity.setType(entity.getBuildingLeaderType()); + communityBuildingManagerEntity.setName(entity.getBuildingLeaderName()); + communityBuildingManagerEntity.setBuildingId(entity.getId()); + communityBuildingManagerEntity.setViliageId(entity.getNeighborHoodId()); + IcNeighborHoodEntity neighborHood = icNeighborHoodDao.selectById(entity.getNeighborHoodId()); + communityBuildingManagerEntity.setGridId(neighborHood.getGridId()); + communityBuildingManagerEntity.setOrgIdPath(neighborHood.getAgencyPids()+":"+neighborHood.getAgencyId()+":"+neighborHood.getGridId()); + + List agencyIds = new ArrayList<>(Arrays.asList(neighborHood.getAgencyPids().split(":"))); + agencyIds.add(neighborHood.getAgencyId()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().in(CustomerAgencyEntity::getId,agencyIds); + List customerAgencyEntities = customerAgencyDao.selectList(queryWrapper); + for (CustomerAgencyEntity customerAgencyEntity : customerAgencyEntities) { + if (customerAgencyEntity.getLevel().equals("community")){ + communityBuildingManagerEntity.setCommunityId(customerAgencyEntity.getId()); + } + if (customerAgencyEntity.getLevel().equals("street")){ + communityBuildingManagerEntity.setStreetId(customerAgencyEntity.getId()); + } + if (customerAgencyEntity.getLevel().equals("district")){ + communityBuildingManagerEntity.setDistrictId(customerAgencyEntity.getId()); + } + } + communityBuildingManagerDao.insert(communityBuildingManagerEntity); + } + }else{ + if (communityBuildingManagerEntity!=null){ + communityBuildingManagerDao.deleteById(communityBuildingManagerEntity); + } + } + //设置楼宇单元 Integer totalUnitNum = formDTO.getTotalUnitNum(); List unitList = new ArrayList<>(); @@ -657,8 +710,8 @@ public class BuildingServiceImpl implements BuildingService { if (null != count && count > 0) { throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(), EpmetErrorCode.BUILDING_NAME_EXITED.getMsg()); } - IcNeighborHoodEntity neighborHood = icNeighborHoodDao.selectById(formDTO.getNeighborHoodId()); - count = icBuildingDao.checkBuildNameV2(formDTO.getAgencyId(), neighborHood.getNeighborHoodName(), formDTO.getBuildingName(), formDTO.getBuildingId()); + IcNeighborHoodEntity neighborHood1 = icNeighborHoodDao.selectById(formDTO.getNeighborHoodId()); + count = icBuildingDao.checkBuildNameV2(formDTO.getAgencyId(), neighborHood1.getNeighborHoodName(), formDTO.getBuildingName(), formDTO.getBuildingId()); if (null != count && count > 0) { throw new EpmetException(EpmetErrorCode.BUILDING_NAME_EXITED_IN_GRID.getCode()); } @@ -684,6 +737,57 @@ public class BuildingServiceImpl implements BuildingService { icBuildingDTO.setCustomerId(customerId); icBuildingService.update(icBuildingDTO); + + LambdaQueryWrapper manager = new LambdaQueryWrapper().eq(CommunityBuildingManagerEntity::getBuildingId,icBuildingDTO.getId()); + CommunityBuildingManagerEntity communityBuildingManagerEntity = communityBuildingManagerDao.selectOne(manager); + + + if (StringUtils.isNotBlank(icBuildingDTO.getBuildingLeaderType())&& + StringUtils.isNotBlank(icBuildingDTO.getBuildingLeaderIdCard())&& + StringUtils.isNotBlank(icBuildingDTO.getBuildingLeaderMobile())&& + StringUtils.isNotBlank(icBuildingDTO.getBuildingLeaderName())){ + + if (communityBuildingManagerEntity!=null){ + communityBuildingManagerEntity.setIdCard(icBuildingDTO.getBuildingLeaderIdCard()); + communityBuildingManagerEntity.setPhone(icBuildingDTO.getBuildingLeaderMobile()); + communityBuildingManagerEntity.setType(icBuildingDTO.getBuildingLeaderType()); + communityBuildingManagerEntity.setName(icBuildingDTO.getBuildingLeaderName()); + communityBuildingManagerDao.updateById(communityBuildingManagerEntity); + }else{ + communityBuildingManagerEntity= new CommunityBuildingManagerEntity(); + communityBuildingManagerEntity.setIdCard(icBuildingDTO.getBuildingLeaderIdCard()); + communityBuildingManagerEntity.setPhone(icBuildingDTO.getBuildingLeaderMobile()); + communityBuildingManagerEntity.setType(icBuildingDTO.getBuildingLeaderType()); + communityBuildingManagerEntity.setName(icBuildingDTO.getBuildingLeaderName()); + communityBuildingManagerEntity.setBuildingId(icBuildingDTO.getId()); + communityBuildingManagerEntity.setViliageId(icBuildingDTO.getNeighborHoodId()); + IcNeighborHoodEntity neighborHood = icNeighborHoodDao.selectById(icBuildingDTO.getNeighborHoodId()); + communityBuildingManagerEntity.setGridId(neighborHood.getGridId()); + communityBuildingManagerEntity.setOrgIdPath(neighborHood.getAgencyPids()+":"+neighborHood.getAgencyId()+":"+neighborHood.getGridId()); + + List agencyIds = new ArrayList<>(Arrays.asList(neighborHood.getAgencyPids().split(":"))); + agencyIds.add(neighborHood.getAgencyId()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().in(CustomerAgencyEntity::getId,agencyIds); + List customerAgencyEntities = customerAgencyDao.selectList(queryWrapper); + for (CustomerAgencyEntity customerAgencyEntity : customerAgencyEntities) { + if (customerAgencyEntity.getLevel().equals("community")){ + communityBuildingManagerEntity.setCommunityId(customerAgencyEntity.getId()); + } + if (customerAgencyEntity.getLevel().equals("street")){ + communityBuildingManagerEntity.setStreetId(customerAgencyEntity.getId()); + } + if (customerAgencyEntity.getLevel().equals("district")){ + communityBuildingManagerEntity.setDistrictId(customerAgencyEntity.getId()); + } + } + communityBuildingManagerDao.insert(communityBuildingManagerEntity); + } + }else{ + if (communityBuildingManagerEntity!=null){ + communityBuildingManagerDao.deleteById(communityBuildingManagerEntity); + } + } + // 更新房屋名称 icHouseDao.houseUpdateHouseName(formDTO.getBuildingId()); //更新楼宇单元 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index c45dc5d646..8c74a45df3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -792,9 +792,9 @@ public class StaffServiceImpl implements StaffService { if (errorRows.size() > 0) { try { // 文件生成 - Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import", "error_des"); + Path errorDescDir = FileUtils.getAndCreateDirUnderEpmetFilesDir("staff", "import", "error_des"); String timeMillis = String.valueOf(System.currentTimeMillis()); - String fileName = "icnat_import_error_".concat(timeMillis).concat(".xlsx"); + String fileName = "staff_import_error_".concat(timeMillis).concat(".xlsx"); fileItem = new DiskFileItemFactory(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, errorDescDir.toFile()) .createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/customer_staff_import_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/customer_staff_import_template.xlsx index 7567850518..4b9b2f1fce 100644 Binary files a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/customer_staff_import_template.xlsx and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/customer_staff_import_template.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_template.xlsx index b325adef25..5aca0af7a6 100644 Binary files a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_template.xlsx and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_template.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/neighbor_export.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/neighbor_export.xlsx index 2d89d92557..91a9637774 100644 Binary files a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/neighbor_export.xlsx and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/neighbor_export.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/neighbor_template.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/neighbor_template.xlsx index 31c0844870..ca0705dea6 100644 Binary files a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/neighbor_template.xlsx and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/neighbor_template.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/community_building_manager_import_temp.xlsx b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/community_building_manager_import_temp.xlsx index 46c532d2b5..e8ceae9aa1 100644 Binary files a/epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/community_building_manager_import_temp.xlsx and b/epmet-module/gov-org/gov-org-server/src/main/resources/excel/yantai/community_building_manager_import_temp.xlsx differ diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml index 34d1023fa6..eb810ac14e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml @@ -463,7 +463,7 @@ SELECT b.BUILDING_LEADER_ID_CARD as buildingLeaderIdCard, b.BUILDING_LEADER_TYPE as buildingLeaderType, - if(b.BUILDING_LEADER_TYPE = 0,'楼长',if(b.BUILDING_LEADER_TYPE = 1,'单元长','')) as buildingLeaderTypeName, + if(b.BUILDING_LEADER_TYPE = '0','楼长',if(b.BUILDING_LEADER_TYPE = '1','单元长',if(b.BUILDING_LEADER_TYPE = '0,1','楼长/单元长',if(b.BUILDING_LEADER_TYPE = '1,0','楼长/单元长','')))) as buildingLeaderTypeName, b.ID AS buildingId, b.BUILDING_NAME, b.NEIGHBOR_HOOD_ID, diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml index 7f51133503..574d29a6ae 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcNeighborHoodDao.xml @@ -197,6 +197,8 @@ a.ADDRESS as address, a.REMARK as remark, e.NAME as propertyName, + e.CONTACT_NAME as propertyUserName, + e.CONTACT_MOBILE as propertyUserMobile, b.ORGANIZATION_NAME as agencyName, c.GRID_NAME as gridName from ic_neighbor_hood a diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml index 88c1b8e2a0..64c35920e1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml @@ -71,19 +71,33 @@ \ No newline at end of file