Browse Source

【功能优化】人房信息管理-物业管理-控制物业公司的可见范围

1.社区只能看到自己添加的物业公司
2.上级可以看到下级的物业公司,根据社区不同备注物业公司添加社区的社区名称
national_dev
Bill 2 years ago
parent
commit
2055c294e8
  1. 9
      code/smart-community/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPropertyManagementDTO.java
  2. 2
      code/smart-community/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java
  3. 7
      code/smart-community/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java
  4. 31
      code/smart-community/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java
  5. 6
      code/smart-community/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.54__alter_ic_complaints.sql
  6. 4
      code/smart-community/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml

9
code/smart-community/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/IcPropertyManagementDTO.java

@ -50,6 +50,15 @@ public class IcPropertyManagementDTO implements Serializable {
@ExcelProperty(value = "物业名称") @ExcelProperty(value = "物业名称")
@ColumnWidth(30) @ColumnWidth(30)
private String name; private String name;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织名称
*/
private String agencyName;
/** /**
* 客户id * 客户id
*/ */

2
code/smart-community/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/IcPropertyManagementFormDTO.java

@ -72,5 +72,7 @@ public class IcPropertyManagementFormDTO extends PageFormDTO implements Serializ
private String customerId; private String customerId;
@NotBlank(message = "组织ID不能为空", groups = {AddShowGroup.class, UpdateShowGroup.class})
private String agencyId;
} }

7
code/smart-community/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/IcPropertyManagementEntity.java

@ -52,4 +52,11 @@ public class IcPropertyManagementEntity extends BaseEpmetEntity {
* 烟台需求物业联系人电话 * 烟台需求物业联系人电话
*/ */
private String contactMobile; private String contactMobile;
private String level;
private String agencyId;
private String agencyName;
private String agencyPid;
private String agencyPids;
} }

31
code/smart-community/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/PropertyManagementServiceImpl.java

@ -15,6 +15,7 @@ import com.epmet.commons.tools.utils.*;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcNeighborHoodPropertyDao; import com.epmet.dao.IcNeighborHoodPropertyDao;
import com.epmet.dao.IcPropertyManagementDao; import com.epmet.dao.IcPropertyManagementDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.IcNeighborHoodDTO; import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.IcPropertyManagementDTO; import com.epmet.dto.IcPropertyManagementDTO;
import com.epmet.dto.form.IcPropertyManagementFormDTO; import com.epmet.dto.form.IcPropertyManagementFormDTO;
@ -27,6 +28,7 @@ import com.epmet.excel.handler.IcPropertyManagementImportListener;
import com.epmet.excel.yt.IcPropertyManagementImportExcelData; import com.epmet.excel.yt.IcPropertyManagementImportExcelData;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.OssFeignClient; import com.epmet.feign.OssFeignClient;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.PropertyManagementService; import com.epmet.service.PropertyManagementService;
import com.epmet.utils.ImportTaskUtils; import com.epmet.utils.ImportTaskUtils;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
@ -66,6 +68,9 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
private IcPropertyManagementDao icPropertyManagementDao; private IcPropertyManagementDao icPropertyManagementDao;
@Resource @Resource
private IcNeighborHoodPropertyDao icNeighborHoodPropertyDao; private IcNeighborHoodPropertyDao icNeighborHoodPropertyDao;
@Resource
private CustomerAgencyService customerAgencyService;
@Autowired @Autowired
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Autowired @Autowired
@ -103,11 +108,25 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
// 物业名字平台内唯一 // 物业名字平台内唯一
// 如果输入的物业名字已经存在,直接返回物业id // 如果输入的物业名字已经存在,直接返回物业id
formDTO.setName(formDTO.getName().trim()); formDTO.setName(formDTO.getName().trim());
IcPropertyManagementEntity entity = icPropertyManagementDao.selectByName(formDTO.getCustomerId(), formDTO.getName(), null);
if (null != entity) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "物业名称已存在", "物业名称已存在");
} // IcPropertyManagementEntity entity = icPropertyManagementDao.selectByName(formDTO.getCustomerId(), formDTO.getName(), null);
// if (null != entity) {
// throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "物业名称已存在", "物业名称已存在");
// }
IcPropertyManagementEntity icPropertyManagementEntity = ConvertUtils.sourceToTarget(formDTO, IcPropertyManagementEntity.class); IcPropertyManagementEntity icPropertyManagementEntity = ConvertUtils.sourceToTarget(formDTO, IcPropertyManagementEntity.class);
if(StringUtils.isNotEmpty(formDTO.getAgencyId())) {
CustomerAgencyDTO agency = customerAgencyService.get(formDTO.getAgencyId());
if(agency != null) {
icPropertyManagementEntity.setLevel(agency.getLevel());
icPropertyManagementEntity.setAgencyName(agency.getOrganizationName());
icPropertyManagementEntity.setAgencyPid(agency.getPid());
icPropertyManagementEntity.setAgencyPids(agency.getPids());
}
}
icPropertyManagementDao.insert(icPropertyManagementEntity); icPropertyManagementDao.insert(icPropertyManagementEntity);
if (CollectionUtils.isNotEmpty(formDTO.getNeighborHoodIdList())) { if (CollectionUtils.isNotEmpty(formDTO.getNeighborHoodIdList())) {
formDTO.getNeighborHoodIdList().forEach(neighborHoodId -> { formDTO.getNeighborHoodIdList().forEach(neighborHoodId -> {
@ -255,6 +274,10 @@ public class PropertyManagementServiceImpl implements PropertyManagementService
result.setNeighborHoodNames(CollectionUtils.isNotEmpty(neighborHoodList) ? StringUtils.join(neighborHoodNames, StrConstant.COMMA_ZH) : StrConstant.EPMETY_STR); result.setNeighborHoodNames(CollectionUtils.isNotEmpty(neighborHoodList) ? StringUtils.join(neighborHoodNames, StrConstant.COMMA_ZH) : StrConstant.EPMETY_STR);
result.setNeighborHoodList(neighborHoodList); result.setNeighborHoodList(neighborHoodList);
result.setTotalNeighborHood(CollectionUtils.isNotEmpty(neighborHoodList)?neighborHoodList.size():NumConstant.ZERO); result.setTotalNeighborHood(CollectionUtils.isNotEmpty(neighborHoodList)?neighborHoodList.size():NumConstant.ZERO);
if(!"community".equals(staffInfoCacheResult.getLevel()) && StringUtils.isNotEmpty(result.getAgencyName())) {
result.setName(result.getName() + "("+ result.getAgencyName() +")");
}
}); });
return new PageData<>(list, pageInfo.getTotal(), pageSize); return new PageData<>(list, pageInfo.getTotal(), pageSize);
} }

6
code/smart-community/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.54__alter_ic_complaints.sql

@ -0,0 +1,6 @@
ALTER TABLE `epmet_gov_org`.`ic_property_management`
ADD COLUMN `LEVEL` varchar(32) NULL DEFAULT 'community' COMMENT '机关级别(社区级:community,\r\n乡(镇、街道)级:street,\r\n区县级: district,\r\n市级: city\r\n省级:province) 机关级别(社区级:community,乡(镇、街道)级:street,区县级: district,市级: city省级:province)' AFTER `CONTACT_MOBILE`,
ADD COLUMN `AGENCY_ID` varchar(64) NULL COMMENT '所属社区' AFTER `LEVEL`,
ADD COLUMN `AGENCY_NAME` varchar(255) NULL COMMENT '社区名称' AFTER `AGENCY_ID`;
ADD COLUMN `AGENCY_PID` varchar(64) NULL COMMENT '上级组织机构ID' AFTER `AGENCY_NAME`,
ADD COLUMN `AGENCY_PIDS` varchar(1024) NULL COMMENT '所有上级组织机构ID(以英文:隔开)' AFTER `PID`;

4
code/smart-community/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcPropertyManagementDao.xml

@ -98,6 +98,10 @@
and m.CONTACT_MOBILE like concat('%',#{contactMobile},'%') and m.CONTACT_MOBILE like concat('%',#{contactMobile},'%')
</if> </if>
)t )t
<if test="agencyId != null and agencyId != ''">
where t.AGENCY_ID = #{agencyId} or t.AGENCY_PIDS like concat('%',#{agencyId},'%')
</if>
order by t.totalNeighborHood desc,t.CREATED_TIME desc order by t.totalNeighborHood desc,t.CREATED_TIME desc
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save