huangmp 4 年 前
コミット
af6a733e72

+ 1 - 1
blade-biz-common/src/main/java/org/springblade/common/constant/CommonConstant.java

@@ -147,7 +147,7 @@ public interface CommonConstant {
 	@Getter
 	enum TenantType {
 
-		COMMUNITY("区",0),
+		COMMUNITY("区",0),
 		PARK("园区",1);
 		private Integer value;
 		private String name;

+ 6 - 1
blade-biz-common/src/main/java/org/springblade/common/constant/DictCodeConstant.java

@@ -14,6 +14,11 @@ public interface DictCodeConstant {
 	/**
 	 * 企业业务类型
 	 */
-	String ENTERPRISE_BIZ_TYPE = "enterprise_biz_type";
+	String ENTERPRISE_BIZ_TYPE = "enterprise_biz_type";	/**
+	 * 住户类型
+	 */
+	String HOUSEHOLD_TYPE = "household-type";
+
+
 
 }

+ 6 - 0
blade-service-api/community-api/src/main/java/org/springblade/community/vo/AgencyInfoVO.java

@@ -34,6 +34,12 @@ import org.springblade.community.entity.Agency;
 public class AgencyInfoVO extends Agency {
 	private static final long serialVersionUID = 1L;
 
+	@ApiModelProperty(value = "小区总数")
+	private Integer residentialCount;
+
+	@ApiModelProperty(value = "居民数")
+	private Integer houseUserCount;
+
 	@ApiModelProperty(value = "楼栋总数")
 	private Integer buildingCount;
 

+ 5 - 0
blade-service-api/person-api/src/main/java/org/springblade/person/feign/HouseUserClientFallback.java

@@ -95,4 +95,9 @@ public class HouseUserClientFallback implements IHouseUserClient {
 		return null;
 	}
 
+    @Override
+    public int count(@Valid HouseUser houseUser) {
+        return 0;
+    }
+
 }

+ 8 - 0
blade-service-api/person-api/src/main/java/org/springblade/person/feign/IHouseUserClient.java

@@ -98,4 +98,12 @@ public interface IHouseUserClient {
 	@PostMapping("/applySave")
 	HouseUser applySave(@Valid @RequestBody HouseUser houseUser);
 
+	/**
+	 * 数量统计
+	 * @param houseUser
+	 * @return
+	 */
+	@PostMapping("/count")
+	int count(@Valid @RequestBody HouseUser houseUser);
+
 }

+ 30 - 10
blade-service/community/src/main/java/org/springblade/community/controller/AgencyController.java

@@ -45,7 +45,11 @@ import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.enterprise.feign.IEnterpriseClient;
 import org.springblade.enterprise.feign.IStaffClient;
 import org.springblade.estate.feign.IServerUserClient;
+import org.springblade.person.entity.HouseUser;
+import org.springblade.person.feign.IHouseUserClient;
+import org.springblade.system.expand.entity.TenantType;
 import org.springblade.system.expand.feign.IConfClient;
+import org.springblade.system.expand.feign.ITenantTypeClient;
 import org.springblade.system.expand.util.*;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -53,6 +57,7 @@ import org.springblade.core.secure.BladeUser;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.system.expand.feign.IOrgPositionClient;
+import org.springblade.system.expand.vo.TenantTypeVO;
 import org.springframework.boot.autoconfigure.info.ProjectInfoProperties;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -80,14 +85,14 @@ import java.util.Objects;
 public class AgencyController extends BladeController {
 
 	private final IAgencyService agencyService;
-	private final IOrgPositionClient orgPositionClient;
 	private final IConfClient confClient;
 	private final IBuildingService buildingService;
 	private final IStaffClient staffClient;
 	private final IServerUserClient serverUserClient;
 	private final IEnterpriseClient enterpriseClient;
-	private final IUnitService unitService;
+	private final ITenantTypeClient typeClient;
 	private final IResidentialService residentialService;
+	private final IHouseUserClient houseUserClient;
 
 	/**
 	 * 详情
@@ -179,24 +184,39 @@ public class AgencyController extends BladeController {
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入agency")
 	public R<AgencyInfoVO> info(BladeUser bladeUser) {
-		List<Agency> agencyList = agencyService.list(Condition.getQueryWrapper(new Agency()).lambda().eq(Agency::getTenantId, bladeUser.getTenantId()).last("limit 1"));
-		Assert.isFalse(CollUtil.isEmpty(agencyList), "找不到园区信息");
+		String tenantId = bladeUser.getTenantId();
+		List<Agency> agencyList = agencyService.list(Condition.getQueryWrapper(new Agency()).lambda().eq(Agency::getTenantId, tenantId).last("limit 1"));
+		Assert.isFalse(CollUtil.isEmpty(agencyList), "找不到信息");
+		//园区/社区
 		Agency agency = agencyList.get(0);
-
+		Long agencyId = agency.getId();
 		AgencyInfoVO agencyInfoVO = new AgencyInfoVO();
 		BeanUtil.copyProperties(agency, agencyInfoVO);
-		//楼栋数
-		int buildingCount = buildingService.count(Condition.getQueryWrapper(new Building()).lambda().eq(Building::getAgencyId, agency.getId()));
-
+		//园区/社区统计楼栋数
+		int buildingCount = buildingService.count(Condition.getQueryWrapper(new Building()).lambda().eq(Building::getAgencyId, agencyId));
+		agencyInfoVO.setBuildingCount(buildingCount);
+		//判断是园区还是社区
+		TenantType tenantType = new TenantType();
+		tenantType.setTenantId(tenantId);
+		TenantTypeVO tenantTypeVO = typeClient.detail(tenantType);
+		if (CommonConstant.TenantType.COMMUNITY.getValue().equals(tenantTypeVO.getTenantType())) {
+			//社区,统计入驻社区,居民数
+			int residentialCount = residentialService.count(Condition.getQueryWrapper(new Residential()).lambda().eq(Residential::getAgencyId, agencyId));
+			agencyInfoVO.setResidentialCount(residentialCount);
+			HouseUser houseUser = new HouseUser();
+			houseUser.setAgencyId(agencyId);
+			int houseUseCount = houseUserClient.count(houseUser);
+			agencyInfoVO.setHouseUserCount(houseUseCount);
+			return R.data(agencyInfoVO);
+		}
+		//园区统计入驻企业,办公人数
 		//办公人员=企业员工+服务人员
 		Integer staffCount = staffClient.count(agency.getTenantId());
 		Integer serverUserCount = serverUserClient.count(agency.getTenantId());
 		Integer officeCount = staffCount + serverUserCount;
-
 		//企业数量
 		Integer companyCount = enterpriseClient.count(agency.getTenantId());
 
-		agencyInfoVO.setBuildingCount(buildingCount);
 		agencyInfoVO.setOfficeCount(officeCount);
 		agencyInfoVO.setCompanyCount(companyCount);
 

+ 169 - 121
blade-service/person/src/main/java/org/springblade/person/controller/HouseUserController.java

@@ -17,6 +17,7 @@
 package org.springblade.person.controller;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.lang.Assert;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -26,9 +27,11 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
+
 import javax.validation.Valid;
 
 import org.springblade.common.constant.CommonConstant;
+import org.springblade.common.constant.DictCodeConstant;
 import org.springblade.community.entity.*;
 import org.springblade.community.feign.*;
 import org.springblade.community.vo.*;
@@ -40,18 +43,24 @@ import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.device.dto.DispatchTask;
 import org.springblade.device.dto.UserInfoDto;
+import org.springblade.enterprise.entity.Enterprise;
 import org.springblade.enterprise.entity.Staff;
+import org.springblade.enterprise.vo.ChartDataVO;
+import org.springblade.enterprise.vo.EnterpriseBizTypePieDataVO;
 import org.springblade.estate.entity.CarEnterRecord;
 import org.springblade.estate.feign.IUserAccessPermissionsClient;
 import org.springblade.person.entity.*;
+import org.springblade.person.feign.IHouseUserClient;
 import org.springblade.person.service.*;
 import org.springblade.person.vo.HouseUserVO;
 import org.springblade.person.wrapper.HouserUserWrapper;
+import org.springblade.system.entity.DictBiz;
 import org.springblade.system.expand.entity.OrgPosition;
 import org.springblade.system.expand.feign.IConfClient;
 import org.springblade.system.expand.feign.IOrgPositionClient;
 import org.springblade.system.expand.util.QueryWrapperUtil;
 import org.springblade.system.expand.vo.OrgPositionVO;
+import org.springblade.system.feign.IDictBizClient;
 import org.springblade.third.doordevice.feign.IDoorDeviceButtClient;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -63,7 +72,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 /**
- *  控制器
+ * 控制器
  *
  * @author BladeX
  * @since 2021-04-14
@@ -96,6 +105,8 @@ public class HouseUserController extends BladeController {
 	private final IOrgPositionClient orgPositionClient;
 	private final IConfClient confClient;
 	private final IUserAccessPermissionsClient userAccessPermissionsClient;
+	private final IDictBizClient dictBizClient;
+
 
 	/**
 	 * 详情
@@ -114,7 +125,7 @@ public class HouseUserController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入basicInfo")
-	public R<IPage<HouseUserVO>> list(@RequestParam Map<String,Object> houseUser, Query query, BladeUser bladeUser) {
+	public R<IPage<HouseUserVO>> list(@RequestParam Map<String, Object> houseUser, Query query, BladeUser bladeUser) {
 //		Integer auditStatus = null;
 //		Long residentialId = null;
 //		if(basicInfo.get("auditStatus") != null){
@@ -128,7 +139,7 @@ public class HouseUserController extends BladeController {
 //		LambdaQueryWrapper<HouseUser> wrapper = new QueryWrapperUtil<HouseUser>().getBasicQueryWrapperByMap(HouseUser::getOrgPosition, basicInfo, new HouseUser(), bladeUser, orgPositionClient);
 		QueryWrapper<HouseUser> queryWrapper = Condition.getQueryWrapper(houseUser, HouseUser.class);
 		queryWrapper.lambda().orderByDesc(HouseUser::getCreateTime);
-		IPage<HouseUser> pages = houseUserService.page(Condition.getPage(query),queryWrapper);
+		IPage<HouseUser> pages = houseUserService.page(Condition.getPage(query), queryWrapper);
 		return R.data(HouserUserWrapper.build().pageVO(pages));
 	}
 
@@ -169,7 +180,6 @@ public class HouseUserController extends BladeController {
 	}
 
 
-
 	/**
 	 * 新增或修改
 	 */
@@ -182,7 +192,7 @@ public class HouseUserController extends BladeController {
 		Residential residential = new Residential();
 		residential.setId(houseUser.getResidentialId());
 		ResidentialVO residentialVO = residentialClient.detail(residential);
-		Assert.notNull(residentialVO,"选择的小区不存在");
+		Assert.notNull(residentialVO, "选择的小区不存在");
 
 		Agency agency = agencyClient.getById(residentialVO.getAgencyId());
 		Assert.notNull(agency, "园区不存在");
@@ -191,14 +201,14 @@ public class HouseUserController extends BladeController {
 		houseUser.setAgencyName(agency.getName());
 		houseUser.setResidentialName(residentialVO.getName());
 
-		if (houseUser.getBuildingId()!=null){
+		if (houseUser.getBuildingId() != null) {
 			Building building = new Building();
 			building.setId(houseUser.getBuildingId());
 			BuildingVO buildingVO = buildingClient.detail(building);
-			Assert.notNull(buildingVO,"选择的楼栋不存在");
+			Assert.notNull(buildingVO, "选择的楼栋不存在");
 			houseUser.setBuildingName(buildingVO.getName());
 		}
-		if (houseUser.getRoomId()!=null) {
+		if (houseUser.getRoomId() != null) {
 			Room room = new Room();
 			room.setId(houseUser.getRoomId());
 			RoomVO roomVO = roomClient.detail(room);
@@ -208,241 +218,241 @@ public class HouseUserController extends BladeController {
 			houseUser.setFloorName(roomVO.getFloorName());
 			houseUser.setRoomName(roomVO.getName());
 			//添加房间Orgposition
-			orgPositiontemp = roomVO.getOrgPosition()+ "/" +houseUser.getId();
-			houseUser.setOrgPosition(roomVO.getOrgPosition()+ "/" +houseUser.getId());
+			orgPositiontemp = roomVO.getOrgPosition() + "/" + houseUser.getId();
+			houseUser.setOrgPosition(roomVO.getOrgPosition() + "/" + houseUser.getId());
 		}
 		houseUser.setFaceUrl(confClient.removePrefix(houseUser.getFaceUrl()));
 		boolean saveOrUpdate = houseUserService.saveOrUpdate(houseUser);
 
-		if (houseUser.getTags().contains("高龄老人")){
+		if (houseUser.getTags().contains("高龄老人")) {
 			//判断原来是否存在
-			ElderlyPeople ifelderlyPeople = elderlyPeopleService.getBaseMapper().selectOne(new QueryWrapper<>(new ElderlyPeople()).eq("parent_id",houseUser.getId()));
-			if (ifelderlyPeople==null){//不存在则新增
+			ElderlyPeople ifelderlyPeople = elderlyPeopleService.getBaseMapper().selectOne(new QueryWrapper<>(new ElderlyPeople()).eq("parent_id", houseUser.getId()));
+			if (ifelderlyPeople == null) {//不存在则新增
 				ElderlyPeople elderlyPeople = new ElderlyPeople();
 				elderlyPeople.setParentId(houseUser.getId());
 				elderlyPeople.setName(houseUser.getName());
 				elderlyPeople.setOrgPosition(orgPositiontemp);
 				elderlyPeopleService.save(elderlyPeople);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			ElderlyPeople ifelderlyPeople = elderlyPeopleService.getBaseMapper().selectOne(new QueryWrapper<>(new ElderlyPeople()).eq("parent_id",houseUser.getId()));
-			if (ifelderlyPeople!=null){//存在则逻辑删除
-				elderlyPeopleService.getBaseMapper().delete(new QueryWrapper<ElderlyPeople>().eq("parent_id",houseUser.getId()));
+			ElderlyPeople ifelderlyPeople = elderlyPeopleService.getBaseMapper().selectOne(new QueryWrapper<>(new ElderlyPeople()).eq("parent_id", houseUser.getId()));
+			if (ifelderlyPeople != null) {//存在则逻辑删除
+				elderlyPeopleService.getBaseMapper().delete(new QueryWrapper<ElderlyPeople>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("残障人士")){
+		if (houseUser.getTags().contains("残障人士")) {
 			//判断原来是否存在
-			Disabler ifdisabler = disablerService.getBaseMapper().selectOne(new QueryWrapper<>(new Disabler()).eq("parent_id",houseUser.getId()));
-			if (ifdisabler==null){//不存在则新增
+			Disabler ifdisabler = disablerService.getBaseMapper().selectOne(new QueryWrapper<>(new Disabler()).eq("parent_id", houseUser.getId()));
+			if (ifdisabler == null) {//不存在则新增
 				Disabler disabler = new Disabler();
 				disabler.setParentId(houseUser.getId());
 				disabler.setName(houseUser.getName());
 				disabler.setOrgPosition(orgPositiontemp);
 				disablerService.save(disabler);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			Disabler ifdisabler = disablerService.getBaseMapper().selectOne(new QueryWrapper<>(new Disabler()).eq("parent_id",houseUser.getId()));
-			if (ifdisabler!=null){//存在则逻辑删除
-				disablerService.getBaseMapper().delete(new QueryWrapper<Disabler>().eq("parent_id",houseUser.getId()));
+			Disabler ifdisabler = disablerService.getBaseMapper().selectOne(new QueryWrapper<>(new Disabler()).eq("parent_id", houseUser.getId()));
+			if (ifdisabler != null) {//存在则逻辑删除
+				disablerService.getBaseMapper().delete(new QueryWrapper<Disabler>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("吸毒人员")){
+		if (houseUser.getTags().contains("吸毒人员")) {
 			//判断原来是否存在
-			Drug ifdrug = drugService.getBaseMapper().selectOne(new QueryWrapper<>(new Drug()).eq("parent_id",houseUser.getId()));
-			if (ifdrug==null){//不存在则新增
+			Drug ifdrug = drugService.getBaseMapper().selectOne(new QueryWrapper<>(new Drug()).eq("parent_id", houseUser.getId()));
+			if (ifdrug == null) {//不存在则新增
 				Drug drug = new Drug();
 				drug.setParentId(houseUser.getId());
 				drug.setName(houseUser.getName());
 				drug.setOrgPosition(orgPositiontemp);
 				drugService.save(drug);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			Drug ifdrug = drugService.getBaseMapper().selectOne(new QueryWrapper<>(new Drug()).eq("parent_id",houseUser.getId()));
-			if (ifdrug!=null){//存在则逻辑删除
-				drugService.getBaseMapper().delete(new QueryWrapper<Drug>().eq("parent_id",houseUser.getId()));
+			Drug ifdrug = drugService.getBaseMapper().selectOne(new QueryWrapper<>(new Drug()).eq("parent_id", houseUser.getId()));
+			if (ifdrug != null) {//存在则逻辑删除
+				drugService.getBaseMapper().delete(new QueryWrapper<Drug>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("重点青少年")){
+		if (houseUser.getTags().contains("重点青少年")) {
 			//判断原来是否存在
-			Adolescent ifadolescent = adolescentService.getBaseMapper().selectOne(new QueryWrapper<>(new Adolescent()).eq("parent_id",houseUser.getId()));
-			if (ifadolescent==null){//不存在则新增
+			Adolescent ifadolescent = adolescentService.getBaseMapper().selectOne(new QueryWrapper<>(new Adolescent()).eq("parent_id", houseUser.getId()));
+			if (ifadolescent == null) {//不存在则新增
 				Adolescent adolescent = new Adolescent();
 				adolescent.setParentId(houseUser.getId());
 				adolescent.setName(houseUser.getName());
 				adolescent.setOrgPosition(orgPositiontemp);
 				adolescentService.save(adolescent);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			CorrectionalStaff ifcorrectionalStaff = correctionalStaffService.getBaseMapper().selectOne(new QueryWrapper<>(new CorrectionalStaff()).eq("parent_id",houseUser.getId()));
-			if (ifcorrectionalStaff!=null){//存在则逻辑删除
-				correctionalStaffService.getBaseMapper().delete(new QueryWrapper<CorrectionalStaff>().eq("parent_id",houseUser.getId()));
+			CorrectionalStaff ifcorrectionalStaff = correctionalStaffService.getBaseMapper().selectOne(new QueryWrapper<>(new CorrectionalStaff()).eq("parent_id", houseUser.getId()));
+			if (ifcorrectionalStaff != null) {//存在则逻辑删除
+				correctionalStaffService.getBaseMapper().delete(new QueryWrapper<CorrectionalStaff>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("矫正人员")){
+		if (houseUser.getTags().contains("矫正人员")) {
 			//判断原来是否存在
-			CorrectionalStaff ifcorrectionalStaff = correctionalStaffService.getBaseMapper().selectOne(new QueryWrapper<>(new CorrectionalStaff()).eq("parent_id",houseUser.getId()));
-			if (ifcorrectionalStaff==null){//不存在则新增
+			CorrectionalStaff ifcorrectionalStaff = correctionalStaffService.getBaseMapper().selectOne(new QueryWrapper<>(new CorrectionalStaff()).eq("parent_id", houseUser.getId()));
+			if (ifcorrectionalStaff == null) {//不存在则新增
 				CorrectionalStaff correctionalStaff = new CorrectionalStaff();
 				correctionalStaff.setParentId(houseUser.getId());
 				correctionalStaff.setName(houseUser.getName());
 				correctionalStaff.setOrgPosition(orgPositiontemp);
 				correctionalStaffService.save(correctionalStaff);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			CorrectionalStaff ifcorrectionalStaff = correctionalStaffService.getBaseMapper().selectOne(new QueryWrapper<>(new CorrectionalStaff()).eq("parent_id",houseUser.getId()));
-			if (ifcorrectionalStaff!=null){//存在则逻辑删除
-				correctionalStaffService.getBaseMapper().delete(new QueryWrapper<CorrectionalStaff>().eq("parent_id",houseUser.getId()));
+			CorrectionalStaff ifcorrectionalStaff = correctionalStaffService.getBaseMapper().selectOne(new QueryWrapper<>(new CorrectionalStaff()).eq("parent_id", houseUser.getId()));
+			if (ifcorrectionalStaff != null) {//存在则逻辑删除
+				correctionalStaffService.getBaseMapper().delete(new QueryWrapper<CorrectionalStaff>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("建档立卡")){
+		if (houseUser.getTags().contains("建档立卡")) {
 			//判断原来是否存在
-			EstablishFilecard ifestablishFilecard = establishFilecardService.getBaseMapper().selectOne(new QueryWrapper<>(new EstablishFilecard()).eq("parent_id",houseUser.getId()));
-			if (ifestablishFilecard==null){//不存在则新增
+			EstablishFilecard ifestablishFilecard = establishFilecardService.getBaseMapper().selectOne(new QueryWrapper<>(new EstablishFilecard()).eq("parent_id", houseUser.getId()));
+			if (ifestablishFilecard == null) {//不存在则新增
 				EstablishFilecard establishFilecard = new EstablishFilecard();
 				establishFilecard.setParentId(houseUser.getId());
 				establishFilecard.setName(houseUser.getName());
 				establishFilecard.setOrgPosition(orgPositiontemp);
 				establishFilecardService.save(establishFilecard);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			EstablishFilecard ifestablishFilecard = establishFilecardService.getBaseMapper().selectOne(new QueryWrapper<>(new EstablishFilecard()).eq("parent_id",houseUser.getId()));
-			if (ifestablishFilecard!=null){//存在则逻辑删除
-				establishFilecardService.getBaseMapper().delete(new QueryWrapper<EstablishFilecard>().eq("parent_id",houseUser.getId()));
+			EstablishFilecard ifestablishFilecard = establishFilecardService.getBaseMapper().selectOne(new QueryWrapper<>(new EstablishFilecard()).eq("parent_id", houseUser.getId()));
+			if (ifestablishFilecard != null) {//存在则逻辑删除
+				establishFilecardService.getBaseMapper().delete(new QueryWrapper<EstablishFilecard>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("育龄妇女")){
+		if (houseUser.getTags().contains("育龄妇女")) {
 			//判断原来是否存在
-			FertileWoman iffertileWoman = fertileWomanService.getBaseMapper().selectOne(new QueryWrapper<>(new FertileWoman()).eq("parent_id",houseUser.getId()));
-			if (iffertileWoman==null){//不存在则新增
+			FertileWoman iffertileWoman = fertileWomanService.getBaseMapper().selectOne(new QueryWrapper<>(new FertileWoman()).eq("parent_id", houseUser.getId()));
+			if (iffertileWoman == null) {//不存在则新增
 				FertileWoman fertileWoman = new FertileWoman();
 				fertileWoman.setParentId(houseUser.getId());
 				fertileWoman.setName(houseUser.getName());
 				fertileWoman.setOrgPosition(orgPositiontemp);
 				fertileWomanService.save(fertileWoman);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			FertileWoman iffertileWoman = fertileWomanService.getBaseMapper().selectOne(new QueryWrapper<>(new FertileWoman()).eq("parent_id",houseUser.getId()));
-			if (iffertileWoman!=null){//存在则逻辑删除
-				fertileWomanService.getBaseMapper().delete(new QueryWrapper<FertileWoman>().eq("parent_id",houseUser.getId()));
+			FertileWoman iffertileWoman = fertileWomanService.getBaseMapper().selectOne(new QueryWrapper<>(new FertileWoman()).eq("parent_id", houseUser.getId()));
+			if (iffertileWoman != null) {//存在则逻辑删除
+				fertileWomanService.getBaseMapper().delete(new QueryWrapper<FertileWoman>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("刑释人员")){
+		if (houseUser.getTags().contains("刑释人员")) {
 			//判断原来是否存在
-			Prisoner ifprisoner = prisonerService.getBaseMapper().selectOne(new QueryWrapper<>(new Prisoner()).eq("parent_id",houseUser.getId()));
-			if (ifprisoner==null){//不存在则新增
+			Prisoner ifprisoner = prisonerService.getBaseMapper().selectOne(new QueryWrapper<>(new Prisoner()).eq("parent_id", houseUser.getId()));
+			if (ifprisoner == null) {//不存在则新增
 				Prisoner prisoner = new Prisoner();
 				prisoner.setParentId(houseUser.getId());
 				prisoner.setName(houseUser.getName());
 				prisoner.setOrgPosition(orgPositiontemp);
 				prisonerService.save(prisoner);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			Prisoner ifprisoner = prisonerService.getBaseMapper().selectOne(new QueryWrapper<>(new Prisoner()).eq("parent_id",houseUser.getId()));
-			if (ifprisoner!=null){//存在则逻辑删除
-				prisonerService.getBaseMapper().delete(new QueryWrapper<Prisoner>().eq("parent_id",houseUser.getId()));
+			Prisoner ifprisoner = prisonerService.getBaseMapper().selectOne(new QueryWrapper<>(new Prisoner()).eq("parent_id", houseUser.getId()));
+			if (ifprisoner != null) {//存在则逻辑删除
+				prisonerService.getBaseMapper().delete(new QueryWrapper<Prisoner>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("精神病人")){
+		if (houseUser.getTags().contains("精神病人")) {
 			//判断原来是否存在
-			Psychiatric ifpsychiatric = psychiatricService.getBaseMapper().selectOne(new QueryWrapper<>(new Psychiatric()).eq("parent_id",houseUser.getId()));
-			if (ifpsychiatric==null){//不存在则新增
+			Psychiatric ifpsychiatric = psychiatricService.getBaseMapper().selectOne(new QueryWrapper<>(new Psychiatric()).eq("parent_id", houseUser.getId()));
+			if (ifpsychiatric == null) {//不存在则新增
 				Psychiatric psychiatric = new Psychiatric();
 				psychiatric.setParentId(houseUser.getId());
 				psychiatric.setName(houseUser.getName());
 				psychiatric.setOrgPosition(orgPositiontemp);
 				psychiatricService.save(psychiatric);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			Psychiatric ifpsychiatric = psychiatricService.getBaseMapper().selectOne(new QueryWrapper<>(new Psychiatric()).eq("parent_id",houseUser.getId()));
-			if (ifpsychiatric!=null){//存在则逻辑删除
-				psychiatricService.getBaseMapper().delete(new QueryWrapper<Psychiatric>().eq("parent_id",houseUser.getId()));
+			Psychiatric ifpsychiatric = psychiatricService.getBaseMapper().selectOne(new QueryWrapper<>(new Psychiatric()).eq("parent_id", houseUser.getId()));
+			if (ifpsychiatric != null) {//存在则逻辑删除
+				psychiatricService.getBaseMapper().delete(new QueryWrapper<Psychiatric>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("退伍军人")){
+		if (houseUser.getTags().contains("退伍军人")) {
 			//判断原来是否存在
-			Veterans ifveterans = veteransService.getBaseMapper().selectOne(new QueryWrapper<>(new Veterans()).eq("parent_id",houseUser.getId()));
-			if (ifveterans==null){//不存在则新增
+			Veterans ifveterans = veteransService.getBaseMapper().selectOne(new QueryWrapper<>(new Veterans()).eq("parent_id", houseUser.getId()));
+			if (ifveterans == null) {//不存在则新增
 				Veterans veterans = new Veterans();
 				veterans.setParentId(houseUser.getId());
 				veterans.setName(houseUser.getName());
 				veterans.setOrgPosition(orgPositiontemp);
 				veteransService.save(veterans);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			Veterans ifveterans = veteransService.getBaseMapper().selectOne(new QueryWrapper<>(new Veterans()).eq("parent_id",houseUser.getId()));
-			if (ifveterans!=null){//存在则逻辑删除
-				veteransService.getBaseMapper().delete(new QueryWrapper<Veterans>().eq("parent_id",houseUser.getId()));
+			Veterans ifveterans = veteransService.getBaseMapper().selectOne(new QueryWrapper<>(new Veterans()).eq("parent_id", houseUser.getId()));
+			if (ifveterans != null) {//存在则逻辑删除
+				veteransService.getBaseMapper().delete(new QueryWrapper<Veterans>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("艾滋病人")){
+		if (houseUser.getTags().contains("艾滋病人")) {
 			//判断原来是否存在
-			Aids ifaids = aidsService.getBaseMapper().selectOne(new QueryWrapper<>(new Aids()).eq("parent_id",houseUser.getId()));
-			if (ifaids==null){//不存在则新增
+			Aids ifaids = aidsService.getBaseMapper().selectOne(new QueryWrapper<>(new Aids()).eq("parent_id", houseUser.getId()));
+			if (ifaids == null) {//不存在则新增
 				Aids aids = new Aids();
 				aids.setParentId(houseUser.getId());
 				aids.setName(houseUser.getName());
 				aids.setOrgPosition(orgPositiontemp);
 				aidsService.save(aids);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			Aids ifaids = aidsService.getBaseMapper().selectOne(new QueryWrapper<>(new Aids()).eq("parent_id",houseUser.getId()));
-			if (ifaids!=null){//存在则逻辑删除
-				aidsService.getBaseMapper().delete(new QueryWrapper<Aids>().eq("parent_id",houseUser.getId()));
+			Aids ifaids = aidsService.getBaseMapper().selectOne(new QueryWrapper<>(new Aids()).eq("parent_id", houseUser.getId()));
+			if (ifaids != null) {//存在则逻辑删除
+				aidsService.getBaseMapper().delete(new QueryWrapper<Aids>().eq("parent_id", houseUser.getId()));
 			}
 		}
 
-		if (houseUser.getTags().contains("低保人员")){
+		if (houseUser.getTags().contains("低保人员")) {
 			//判断原来是否存在
-			AllowancesPeople ifallowancesPeople = allowancesPeopleService.getBaseMapper().selectOne(new QueryWrapper<>(new AllowancesPeople()).eq("parent_id",houseUser.getId()));
-			if (ifallowancesPeople==null){//不存在则新增
+			AllowancesPeople ifallowancesPeople = allowancesPeopleService.getBaseMapper().selectOne(new QueryWrapper<>(new AllowancesPeople()).eq("parent_id", houseUser.getId()));
+			if (ifallowancesPeople == null) {//不存在则新增
 				AllowancesPeople allowancesPeople = new AllowancesPeople();
 				allowancesPeople.setParentId(houseUser.getId());
 				allowancesPeople.setName(houseUser.getName());
 				allowancesPeople.setOrgPosition(orgPositiontemp);
 				allowancesPeopleService.save(allowancesPeople);
 			}
-		}else {
+		} else {
 			//修改时取消了该标签则删除
-			AllowancesPeople ifallowancesPeople = allowancesPeopleService.getBaseMapper().selectOne(new QueryWrapper<>(new AllowancesPeople()).eq("parent_id",houseUser.getId()));
-			if (ifallowancesPeople!=null){//存在则逻辑删除
-				allowancesPeopleService.getBaseMapper().delete(new QueryWrapper<AllowancesPeople>().eq("parent_id",houseUser.getId()));
+			AllowancesPeople ifallowancesPeople = allowancesPeopleService.getBaseMapper().selectOne(new QueryWrapper<>(new AllowancesPeople()).eq("parent_id", houseUser.getId()));
+			if (ifallowancesPeople != null) {//存在则逻辑删除
+				allowancesPeopleService.getBaseMapper().delete(new QueryWrapper<AllowancesPeople>().eq("parent_id", houseUser.getId()));
 			}
 		}
-		if(saveOrUpdate){
+		if (saveOrUpdate) {
 			//下发人脸
-			if(StringUtil.isNotBlank(houseUser.getFaceUrl())){
+			if (StringUtil.isNotBlank(houseUser.getFaceUrl())) {
 				houseUser.setFaceUrl(confClient.addPrefix(houseUser.getFaceUrl()));
 				R result = userService.pushAddFace(houseUser, new HashMap<>());
-				if(result.isSuccess()){
+				if (result.isSuccess()) {
 					return R.success("保存住户成功");
-				}else{
+				} else {
 					return R.fail("保存住户成功,人脸下发失败");
 				}
-			}else{
+			} else {
 				return R.success("保存住户成功");
 			}
-		}else{
+		} else {
 			return R.fail("保存住户失败");
 		}
 	}
@@ -454,37 +464,39 @@ public class HouseUserController extends BladeController {
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "逻辑删除", notes = "传入ids")
 	public R delFace(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		List<Long> idsList = Arrays.stream(ids.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());;
+		List<Long> idsList = Arrays.stream(ids.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
+		;
 		//批量关联删除
 		List<HouseUser> houseUserList = null;
-		if(idsList != null && idsList.size() > 0){
+		if (idsList != null && idsList.size() > 0) {
 			houseUserList = houseUserService.listByIds(idsList);
 		}
 		//下发删除人脸指令
-		if(houseUserList != null && houseUserList.size() > 0){
+		if (houseUserList != null && houseUserList.size() > 0) {
 			return userService.pushDelFace(houseUserList, new HashMap<>());
-		}else{
+		} else {
 			return R.status(true);
 		}
 	}
 
-		/**
-		 * 删除
-		 */
+	/**
+	 * 删除
+	 */
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "逻辑删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 
-		List<Long> idsList = Arrays.stream(ids.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());;
+		List<Long> idsList = Arrays.stream(ids.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
+		;
 		//批量关联删除
 		List<HouseUser> houseUserList = null;
-		if(idsList != null && idsList.size() > 0){
+		if (idsList != null && idsList.size() > 0) {
 			houseUserList = houseUserService.listByIds(idsList);
 		}
-		for (Long id:idsList) {
+		for (Long id : idsList) {
 			QueryWrapper queryWrapper = new QueryWrapper();
-			queryWrapper.eq("parent_id",id);
+			queryWrapper.eq("parent_id", id);
 			disablerService.getBaseMapper().delete(queryWrapper);
 			keyPeopleService.getBaseMapper().delete(queryWrapper);
 			elderlyPeopleService.getBaseMapper().delete(queryWrapper);
@@ -500,14 +512,14 @@ public class HouseUserController extends BladeController {
 			veteransService.getBaseMapper().delete(queryWrapper);
 		}
 		boolean b = houseUserService.deleteLogic(Func.toLongList(ids));
-		if(b){
+		if (b) {
 			//下发删除人脸指令
-			if(houseUserList != null && houseUserList.size() > 0){
+			if (houseUserList != null && houseUserList.size() > 0) {
 				return userService.pushDelFace(houseUserList, new HashMap<>());
-			}else{
+			} else {
 				return R.status(true);
 			}
-		}else{
+		} else {
 			return R.status(false);
 		}
 	}
@@ -521,9 +533,9 @@ public class HouseUserController extends BladeController {
 		long beginTime = System.currentTimeMillis();
 		List<HouseUser> houseUsers = this.houseUserService.getBaseMapper().selectList(new QueryWrapper<>(new HouseUser()));
 		houseUsers.forEach(houseUser -> {
-			if(houseUser.getResidentialId() != null){
+			if (houseUser.getResidentialId() != null) {
 				Residential residential = residentialClient.getById(houseUser.getResidentialId());
-				if(residential != null){
+				if (residential != null) {
 					houseUser.setAgencyId(residential.getAgencyId());
 					houseUser.setAgencyName(residential.getAgencyName());
 				}
@@ -544,18 +556,54 @@ public class HouseUserController extends BladeController {
 	@GetMapping("/getHouseUserXFList")
 	@ApiOperationSupport(order = 9)
 	@ApiOperation(value = "常住人员下发列表")
-	public R getHouseUserXFList(Query query,@RequestParam Integer type) {
+	public R getHouseUserXFList(Query query, @RequestParam Integer type) {
 		List<Long> userIdList = userAccessPermissionsClient.getUserIdsByUserType(CommonConstant.UserFlag.HOUSE_USER_FLAG.getValue());
 		LambdaQueryWrapper<HouseUser> queryWrapper = null;
 		if (type.equals(0)) {
 			//常住人员待下发列表
-			queryWrapper = Condition.getQueryWrapper(new HouseUser()).lambda().eq(HouseUser::getAuditStatus,CommonConstant.UserAuditStatus.pass.getValue()).notIn(CollUtil.isNotEmpty(userIdList), HouseUser::getId,userIdList);
-		}else if(type.equals(1)){
+			queryWrapper = Condition.getQueryWrapper(new HouseUser()).lambda().eq(HouseUser::getAuditStatus, CommonConstant.UserAuditStatus.pass.getValue()).notIn(CollUtil.isNotEmpty(userIdList), HouseUser::getId, userIdList);
+		} else if (type.equals(1)) {
 			//常驻人员已下发列表
-			queryWrapper = Condition.getQueryWrapper(new HouseUser()).lambda().eq(HouseUser::getAuditStatus,CommonConstant.UserAuditStatus.pass.getValue()).in(CollUtil.isNotEmpty(userIdList), HouseUser::getId,userIdList);
+			queryWrapper = Condition.getQueryWrapper(new HouseUser()).lambda().eq(HouseUser::getAuditStatus, CommonConstant.UserAuditStatus.pass.getValue()).in(CollUtil.isNotEmpty(userIdList), HouseUser::getId, userIdList);
 		}
 		IPage<HouseUser> houseUserIPage = houseUserService.page(Condition.getPage(query), queryWrapper);
 		return R.data(houseUserIPage);
 	}
 
+
+	/**
+	 * 剧名用户类型统计【web端智能运营中心】
+	 */
+	@GetMapping("/userType")
+	@ApiOperationSupport(order = 1)
+	public R bizType() {
+		String OTHER_BIZ_TYPE = "其他";
+		List<DictBiz> dictList = dictBizClient.getList(DictCodeConstant.HOUSEHOLD_TYPE).getData();
+		Assert.isTrue(CollUtil.isNotEmpty(dictList), DictCodeConstant.DICT_LIST_IS_EMPTY);
+		List<HouseUser> houseUsers = houseUserService.list(Condition.getQueryWrapper(new HouseUser()).lambda().select(HouseUser::getId, HouseUser::getType));
+		long otherCount =houseUsers.size() - houseUsers.stream().filter(item -> Objects.isNull(item.getType())).count();
+		Map<Integer, List<HouseUser>> collect = houseUsers.stream().filter(item -> Objects.nonNull(item.getType())).collect(Collectors.groupingBy(HouseUser::getType));
+		List<String> legendData = new ArrayList<>();
+		List<ChartDataVO> chartData = new ArrayList<>();
+		for (DictBiz dictBiz : dictList) {
+			String dictValue = dictBiz.getDictValue();
+			Integer dictKey = Convert.toInt(dictBiz.getDictKey());
+			int count = collect.get(dictKey).size();
+			legendData.add(dictValue);
+			chartData.add(ChartDataVO.builder()
+				.name(dictValue)
+				.value(Convert.toLong(count))
+				.build());
+		}
+		legendData.add(OTHER_BIZ_TYPE);
+		chartData.add(ChartDataVO.builder()
+			.name(OTHER_BIZ_TYPE)
+			.value(Convert.toLong(otherCount))
+			.build());
+		return R.data(EnterpriseBizTypePieDataVO.builder()
+			.legendData(legendData)
+			.data(chartData)
+			.build());
+	}
+
 }

+ 7 - 0
blade-service/person/src/main/java/org/springblade/person/feign/HouseUserClient.java

@@ -149,10 +149,17 @@ public class HouseUserClient implements IHouseUserClient {
 	}
 
 	@Override
+	@PostMapping("/applySave")
 	public HouseUser applySave(@Valid HouseUser houseUser) {
 		boolean save = houseUserService.save(houseUser);
 		return houseUser;
 	}
 
+    @Override
+	@PostMapping("/count")
+	public int count(@Valid @RequestBody HouseUser houseUser) {
+		return houseUserService.count(Condition.getQueryWrapper(houseUser));
+    }
+
 
 }