From 88214b60acac265ab2f8fd57560e6ee5a8a3bfde Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 13 Jun 2024 21:43:17 +0800
Subject: [PATCH] 启动失败

---
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java |  190 +++++++++++++++++++++++++++--------------------
 1 files changed, 108 insertions(+), 82 deletions(-)

diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index c43c12a..b6ead53 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -18,21 +18,18 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import liquibase.pro.packaged.P;
-import liquibase.pro.packaged.W;
 import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.util.Strings;
-import org.springblade.common.cache.SysCache;
 import org.springblade.common.node.TreeStringNode;
 import org.springblade.common.param.CommonParamSet;
 import org.springblade.common.utils.IdUtils;
 import org.springblade.common.utils.SpringUtils;
-import org.springblade.core.log.exception.ServiceException;
-import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.core.tool.utils.SpringUtil;
 import org.springblade.modules.category.entity.CategoryEntity;
 import org.springblade.modules.category.service.ICategoryService;
@@ -43,37 +40,27 @@
 import org.springblade.modules.grid.mapper.GridMapper;
 import org.springblade.modules.grid.service.IGridRangeService;
 import org.springblade.modules.grid.service.IGridService;
-import org.springblade.modules.grid.service.IGridmanService;
-import org.springblade.modules.grid.vo.GridVO;
 import org.springblade.modules.house.entity.HouseholdEntity;
-import org.springblade.modules.house.entity.UserHouseLabelEntity;
 import org.springblade.modules.house.service.IHouseholdService;
-import org.springblade.modules.house.vo.HouseholdVO;
-import org.springblade.modules.label.entity.LabelEntity;
-import org.springblade.modules.partyOrganization.vo.PartyOrganizationVO;
 import org.springblade.modules.place.entity.*;
+import org.springblade.modules.place.excel.ExportPlaceExcel;
+import org.springblade.modules.place.excel.ImportPlaceExcel;
 import org.springblade.modules.place.excel.NinePlaceExcel;
 import org.springblade.modules.place.excel.PlaceAndRelExcel;
-import org.springblade.modules.place.excel.PlaceExcel;
+import org.springblade.modules.place.mapper.PlaceMapper;
 import org.springblade.modules.place.service.*;
-import org.springblade.modules.place.vo.PlaceCheckVO;
 import org.springblade.modules.place.vo.PlacePoiLabelVO;
 import org.springblade.modules.place.vo.PlaceVO;
-import org.springblade.modules.place.mapper.PlaceMapper;
 import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
 import org.springblade.modules.police.service.IPoliceAffairsGridService;
-import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.entity.DictBiz;
 import org.springblade.modules.system.entity.Region;
 import org.springblade.modules.system.entity.User;
-import org.springblade.modules.system.service.IDeptService;
 import org.springblade.modules.system.service.IDictBizService;
 import org.springblade.modules.system.service.IRegionService;
 import org.springblade.modules.system.service.IUserService;
-import org.springblade.modules.task.vo.TaskLabelReportingEventVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
@@ -131,6 +118,9 @@
 	public IPage<PlaceVO> selectPlacePage(IPage<PlaceVO> page, PlaceVO place) {
 		// 公共参数设置
 		CommonParamSet commonParamSet = new CommonParamSet().invoke(PlaceVO.class, place);
+		if (StringUtils.isNotBlank(place.getPoiCodes())) {
+			place.setPoiCodeList(Arrays.asList(place.getPoiCodes().split(",")));
+		}
 		List<PlaceVO> placeVOS = baseMapper.selectPlacePage(page,
 			place,
 			commonParamSet.getGridCodeList(),
@@ -219,7 +209,7 @@
 		// 保存从业人员
 		savePlacePractitioner(placeVO);
 		// 判断是否校园
-		if (placeVO.getLabel().startsWith("1601")) {
+		if (placeVO.getLabel().startsWith("16010")) {
 			// 校园的新增一个主体用户和一个通用用户
 			addSchoolUser(placeVO);
 		}
@@ -737,12 +727,13 @@
 	 * @return
 	 */
 	@Transactional(rollbackFor = Exception.class)
-	public User addSchoolUser(PlaceVO placeVO) {
+	public void addSchoolUser(PlaceVO placeVO) {
 		User newUser = new User();
-		if (StringUtils.isNotBlank(placeVO.getPlaceName())) {
-//			placeVO.setPrincipal(placeVO.getPrincipal());
-//			placeVO.setPrincipalPhone(placeVO.getPrincipalPhone());
-			//如果用户不存在,则新增一个用户
+		// 查询账号是否存在,存在则不创建
+		long count = userService.count(Wrappers.<User>lambdaQuery()
+			.eq(User::getAccount, placeVO.getPlaceName() + "主体"));
+		// 如果用户不存在,则新增一个用户
+		if (StringUtils.isNotBlank(placeVO.getPlaceName()) && count <= 0) {
 			newUser.setAccount(placeVO.getPlaceName() + "主体");
 			newUser.setName(placeVO.getPlaceName() + "-主体");
 			newUser.setRealName(placeVO.getPlaceName() + "-主体");
@@ -750,8 +741,7 @@
 			newUser.setDeptId("1727979636479037441");
 			// 校园主体,
 			newUser.setRoleId("1780786647371706370");
-
-			//默认密码为 123456
+			// 默认密码为 123456
 			newUser.setPassword("123456");
 			// 设置机构
 			// 用户新增
@@ -769,12 +759,7 @@
 			placeVO.setUniversalAccount(newUser.getId());
 			// 更新场所信息
 			updateById(placeVO);
-			//绑定id
-//			placeVO.setPrincipalUserId(newUser.getId());
-			//给人员打上场所负责人的标签
-//			baseMapper.saveUserLabel(newUser.getId(), 1002);
 		}
-		return newUser;
 	}
 
 	/**
@@ -1009,36 +994,58 @@
 	 * @param isCovered
 	 */
 	@Override
-	public void importPlace(List<PlaceExcel> data, Boolean isCovered) {
-		for (PlaceExcel placeExcel : data) {
+	public String importPlace(List<ImportPlaceExcel> data, Boolean isCovered) {
+		int totalNum = data.size();
+		int importNum = 0;
+		int updateNum = 0;
+		int errorNum = 0;
+		for (ImportPlaceExcel placeExcel : data) {
+			if (Strings.isBlank(placeExcel.getPlaceName()) || Strings.isBlank(placeExcel.getHouseCode())){
+				errorNum++;
+				continue;
+			}
 			PlaceEntity placeEntity = Objects.requireNonNull(BeanUtil.copy(placeExcel, PlaceEntity.class));
+			Long userId = updateUser(placeExcel);
+			// 九小场所类型处理
+			if (!Strings.isBlank(placeExcel.getNineType())) {
+				placeEntity.setIsNine(1);
+				placeEntity.setNineType(Integer.parseInt(placeExcel.getNineType()));
+			}
+			// 阵地类型处理
+			if (!Strings.isBlank(placeExcel.getFrontType())) {
+				placeEntity.setIsFront(1);
+				placeEntity.setFrontType(Integer.parseInt(placeExcel.getFrontType()));
+			}
+			// 无诈类别
+			if (!Strings.isBlank(placeExcel.getNoExplosionCategory())){
+				placeEntity.setNoExplosionCategory(Integer.parseInt(placeExcel.getNoExplosionCategory()));
+			}
+			// 三级单位
+			if (!Strings.isBlank(placeExcel.getThreeFireProtection())){
+				if (placeExcel.getThreeFireProtection().equals("是")){
+					placeEntity.setThreeFireProtection(1);
+				}
+				if (placeExcel.getThreeFireProtection().equals("否")){
+					placeEntity.setThreeFireProtection(2);
+				}
+			}
+			String[] split = placeExcel.getHouseCode().split(",");
+			placeEntity.setHouseCode(split[0]);
+			placeEntity.setHouseCodeBinds(placeExcel.getHouseCode());
+			placeEntity.setPrincipalUserId(userId);
+			// houseCode 关联处理 来源 1:地址总表  2:国控采集 3:商超
+			houseCodeHandle(placeExcel, placeEntity);
+			// 网格绑定处理
+			importGridHandle(placeExcel, placeEntity);
 			// 判断是否存在,不存在则插入,否则不操作
 			QueryWrapper<PlaceEntity> wrapper = new QueryWrapper<>();
 			wrapper.eq("is_deleted", 0)
 				.eq("house_code", placeExcel.getHouseCode());
 			PlaceEntity one = getOne(wrapper);
-			Long userId = updateUser(placeExcel);
 			if (null == one) {
-				// 插入场所
-				String[] split = placeExcel.getHouseCode().split(",");
-				placeEntity.setHouseCode(split[0]);
-				placeEntity.setHouseCodeBinds(placeExcel.getHouseCode());
-				placeEntity.setPrincipalUserId(userId);
-				// 默认为未完善
-				placeEntity.setStatus(1);
-				// 是否现场采集  1:是  2:否
-				placeEntity.setIsScene(1);
-				// houseCode 关联处理 来源 1:地址总表  2:国控采集 3:商超
-				houseCodeHandle(placeExcel, placeEntity);
-				// 九小场所类型处理
-				if (!Strings.isBlank(placeExcel.getNineType())) {
-					placeEntity.setIsNine(1);
-					placeEntity.setNineType(Integer.parseInt(placeExcel.getNineType()));
-				}
-				// 网格绑定处理
-				importGridHandle(placeExcel, placeEntity);
 				// 新增
 				save(placeEntity);
+				importNum++;
 				// 保存详情
 				savePlaceExt(placeEntity,placeExcel);
 				// 场所标签信息处理
@@ -1052,35 +1059,35 @@
 				// 房屋编号绑定处理
 				houseCodeBindHandle(placeEntity);
 			} else {
-				// 更新场所
-				one.setPrincipalUserId(userId);
-				one.setPrincipal(placeExcel.getPrincipal());
-				one.setPrincipalPhone(placeExcel.getPrincipalPhone());
-				// 默认为未完善
-				one.setStatus(1);
-				// 是否现场采集  1:是  2:否
-				one.setIsScene(1);
-				// 来源 1:地址总表  2:国控采集 3:商超
-				one.setSource(1);
-				// 九小场所类型处理
-				if (!Strings.isBlank(placeExcel.getNineType())) {
-					one.setIsNine(1);
-					one.setNineType(Integer.parseInt(placeExcel.getNineType()));
-				}
-				// 网格绑定处理
-				importGridHandle(placeExcel, one);
-				// 更新
-				updateById(one);
-				// 场所标签信息处理
-				if (!Strings.isBlank(placeExcel.getLabelCode())) {
-					PlaceVO placeVO = new PlaceVO();
-					placeVO.setId(one.getId());
-					placeVO.setLabel(placeExcel.getLabelCode());
-					// 处理
-					placeLabelBind(placeVO);
+				updateNum++;
+				// 是否覆盖更新
+				if (isCovered) {
+					// 更新场所
+					placeEntity.setId(one.getId());
+					// 更新
+					updateById(placeEntity);
+					importNum++;
+					// 场所标签信息处理
+					if (!Strings.isBlank(placeExcel.getLabelCode())) {
+						PlaceVO placeVO = new PlaceVO();
+						placeVO.setId(one.getId());
+						placeVO.setLabel(placeExcel.getLabelCode());
+						// 处理
+						placeLabelBind(placeVO);
+					}
 				}
 			}
 		}
+		StringBuilder builder = new StringBuilder("导入完成!");
+		builder.append("其中本次表格共有 ").append(totalNum).append(" 条数据,")
+			.append("成功导入 ").append(importNum).append(" 条数据。");
+		if (updateNum>0) {
+			builder.append("其中有 ").append(updateNum).append(" 条数据已存在。");
+		}
+		if (errorNum>0){
+			builder.append("共有 ").append(errorNum).append(" 条数据由于无企业(店铺)名称信息或无地址编号未导入!");
+		}
+		return builder.toString();
 	}
 
 	/**
@@ -1089,7 +1096,7 @@
 	 * @param placeExcel
 	 */
 	@Transactional(rollbackFor = Exception.class)
-	public void savePlaceExt(PlaceEntity placeEntity,PlaceExcel placeExcel) {
+	public void savePlaceExt(PlaceEntity placeEntity, ImportPlaceExcel placeExcel) {
 		PlaceVO placeVO = new PlaceVO();
 		placeVO.setId(placeEntity.getId());
 		PlaceExtEntity placeExtEntity = new PlaceExtEntity();
@@ -1107,7 +1114,7 @@
 	 * @param placeExcel
 	 * @param placeEntity
 	 */
-	public void houseCodeHandle(PlaceExcel placeExcel, PlaceEntity placeEntity) {
+	public void houseCodeHandle(ImportPlaceExcel placeExcel, PlaceEntity placeEntity) {
 		if (!Strings.isBlank(placeExcel.getHouseCode())) {
 			placeEntity.setSource(1);
 			// 设置经纬度及地址
@@ -1133,7 +1140,7 @@
 	 * @param placeExcel
 	 * @param placeEntity
 	 */
-	private void importGridHandle(PlaceExcel placeExcel, PlaceEntity placeEntity) {
+	private void importGridHandle(ImportPlaceExcel placeExcel, PlaceEntity placeEntity) {
 		if (!Strings.isBlank(placeExcel.getCommunityName()) &&
 			!Strings.isBlank(placeExcel.getGridName())) {
 			// 查询对应的网格信息
@@ -1160,7 +1167,7 @@
 	 * @param placeExcel
 	 * @return
 	 */
-	public Long updateUser(PlaceExcel placeExcel) {
+	public Long updateUser(ImportPlaceExcel placeExcel) {
 		if (!Strings.isBlank(placeExcel.getPrincipal()) &&
 			!Strings.isBlank(placeExcel.getPrincipalPhone())) {
 			PlaceVO placeVO = new PlaceVO();
@@ -1484,6 +1491,9 @@
 			PlaceEntity placeEntity = getById(id);
 			if (null != placeEntity.getPrincipalUserId()) {
 				User user = userService.getById(placeEntity.getPrincipalUserId());
+				if (ObjectUtil.isEmpty(user)) {
+					return;
+				}
 				// 查询场所判断是否还绑定有其他的场所
 				QueryWrapper<PlaceEntity> queryWrapper = new QueryWrapper<>();
 				queryWrapper.eq("is_deleted", 0).eq("principal_user_id", user.getId());
@@ -1782,4 +1792,20 @@
 	public String getCommunityCode(Long id) {
 		return baseMapper.getCommunityCode(id);
 	}
+
+	/**
+	 * 导出场所信息
+	 * @param place
+	 * @return
+	 */
+	@Override
+	public List<ExportPlaceExcel> exportPlaceList(PlaceVO place) {
+		// 公共参数设置
+		CommonParamSet commonParamSet = new CommonParamSet().invoke(PlaceVO.class, place);
+		return baseMapper.exportPlaceList(place,
+			commonParamSet.getGridCodeList(),
+			commonParamSet.getRegionChildCodesList(),
+			commonParamSet.getIsAdministrator()
+		);
+	}
 }

--
Gitblit v1.9.3