From aae9bc1ebc7f65cebaec65ac7128f79ca6c827d1 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 07 Feb 2024 10:24:39 +0800
Subject: [PATCH] 代码优化
---
src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java | 234 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 222 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java b/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
index 1ca5cf3..b5081aa 100644
--- a/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/taskPlaceRectification/service/impl/TaskPlaceRectificationServiceImpl.java
@@ -16,34 +16,49 @@
*/
package org.springblade.modules.taskPlaceRectification.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
+import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
import org.springblade.modules.patrol.entity.PatrolRecord;
import org.springblade.modules.patrol.service.IPatrolRecordService;
import org.springblade.modules.patrol.vo.PatrolRecordVO;
+import org.springblade.modules.place.entity.PlaceEntity;
+import org.springblade.modules.place.service.IPlaceService;
+import org.springblade.modules.place.vo.PlaceVO;
+import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.system.entity.DictBiz;
import org.springblade.modules.system.entity.Region;
-import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.entity.User;
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.system.vo.RegionVO;
import org.springblade.modules.task.entity.TaskEntity;
import org.springblade.modules.task.service.ITaskService;
import org.springblade.modules.taskPlaceRectification.dto.TaskPlaceRectificationDTO;
import org.springblade.modules.taskPlaceRectification.entity.TaskPlaceRectificationEntity;
-import org.springblade.modules.taskPlaceRectification.vo.TaskPlaceRectificationVO;
+import org.springblade.modules.taskPlaceRectification.excel.PlaceRectificationsExcel;
+import org.springblade.modules.taskPlaceRectification.excel.TaskPlaceRectificationExcel;
import org.springblade.modules.taskPlaceRectification.mapper.TaskPlaceRectificationMapper;
import org.springblade.modules.taskPlaceRectification.service.ITaskPlaceRectificationService;
-import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.taskPlaceRectification.vo.TaskPlaceRectificationVO;
+import org.springblade.modules.taskPlaceRectification.vo.TaskPlaceRectificationsVO;
import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* 场所整改任务表 服务实现类
@@ -79,15 +94,17 @@
*/
@Override
public IPage<TaskPlaceRectificationVO> selectTaskPlaceRectificationList(IPage<TaskPlaceRectificationVO> page, TaskPlaceRectificationDTO taskPlaceRectificationDTO) {
- // 数据过滤
+ // 数据过滤 todo
List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
- Integer isAdministrator = AuthUtil.isAdmin() == true ? 1 : 2;
+ Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
List<TaskPlaceRectificationVO> taskPlaceRectificationVOS = baseMapper.selectTaskPlaceRectificationList(page, taskPlaceRectificationDTO, regionChildCodesList, isAdministrator);
for (TaskPlaceRectificationVO taskPlaceRectificationVO : taskPlaceRectificationVOS) {
StringBuilder builder = new StringBuilder("");
List<PatrolRecordVO> patrolRecordVOList = taskPlaceRectificationVO.getPatrolRecordVOList();
- for (PatrolRecordVO patrolRecordVO : patrolRecordVOList) {
- builder.append(patrolRecordVO.getItemsName()).append(";");
+ for (int i = 0; i < patrolRecordVOList.size(); i++) {
+ if (patrolRecordVOList.get(i).getState().equals(0)) {
+ builder.append(i + 1).append(" : ").append(patrolRecordVOList.get(i).getItemsName()).append("; ");
+ }
}
taskPlaceRectificationVO.setHiddenDanger(builder.toString());
}
@@ -119,16 +136,20 @@
ITaskService bean = SpringUtils.getBean(ITaskService.class);
boolean update = bean.update(Wrappers.<TaskEntity>lambdaUpdate()
.set(TaskEntity::getStatus, taskPlaceRectification.getStatus())
- .set(TaskEntity::getRemark,taskPlaceRectification.getReasonFailure())
+ .set(TaskEntity::getRemark, taskPlaceRectification.getReasonFailure())
.eq(TaskEntity::getId, taskPlaceRectification.getTaskId()));
// 更新任务详情状态
+ if (taskPlaceRectification.getStatus().equals(2)) {
+ taskPlaceRectification.setRectificationFlag(2);
+ }
boolean b1 = updateById(taskPlaceRectification);
return b1;
}
@Override
- public Object rectificationStatistics() {
- List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ public Object rectificationStatistics(TaskPlaceRectificationVO taskPlaceRectification) {
+ // todo
+ List<String> regionChildCodesList = new ArrayList<>();//SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
Integer isAdministrator = AuthUtil.isAdmin() == true ? 1 : 2;
// 统计九小场所类型隐患统计
IRegionService bean = SpringUtils.getBean(IRegionService.class);
@@ -137,9 +158,198 @@
.eq(Region::getRegionLevel, 4));
List<RegionVO> copy = BeanUtil.copy(list, RegionVO.class);
for (RegionVO regionVO : copy) {
- List<Map<String, Integer>> nineTypeStatistics = baseMapper.getNineTypeStatistics(regionChildCodesList, isAdministrator);
+ List<Map<String, Object>> nineTypeStatistics = baseMapper.getNineTypeStatistics(regionVO.getCode(), regionChildCodesList, isAdministrator, taskPlaceRectification);
regionVO.setNineTypeStatistics(nineTypeStatistics);
}
return copy;
}
+
+ @Override
+ public List<TaskPlaceRectificationExcel> export(TaskPlaceRectificationsVO taskPlaceRectificationVO) {
+ // todo
+ List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+ Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
+ List<TaskPlaceRectificationExcel> export = baseMapper.export(taskPlaceRectificationVO, regionChildCodesList, isAdministrator);
+ IDictBizService bean = SpringUtils.getBean(IDictBizService.class);
+ List<DictBiz> nineType = bean.list(Wrappers.<DictBiz>lambdaQuery().eq(DictBiz::getCode, "nineType").eq(DictBiz::getIsDeleted, 0));
+ for (TaskPlaceRectificationExcel taskPlaceRectificationExcel : export) {
+ for (DictBiz dictBiz : nineType) {
+ if (StringUtils.isNotBlank(taskPlaceRectificationExcel.getNineType()) && taskPlaceRectificationExcel.getNineType().equals(dictBiz.getDictKey())) {
+ if (taskPlaceRectificationExcel.getNineType().contains("10,11,12")) {
+ taskPlaceRectificationExcel.setNineType("小学校(幼儿园、校外培训机构)- " + dictBiz.getDictValue());
+ } else if (taskPlaceRectificationExcel.getNineType().contains("13,14,15")) {
+ taskPlaceRectificationExcel.setNineType("小医院(诊所、养老院)- " + dictBiz.getDictValue());
+ } else {
+ taskPlaceRectificationExcel.setNineType(dictBiz.getDictValue());
+ }
+ }
+ }
+ if (taskPlaceRectificationExcel.getRectificationFlag().equals(1)) {
+ taskPlaceRectificationExcel.setRectificationFlag("否");
+ } else {
+ taskPlaceRectificationExcel.setRectificationFlag("是");
+ }
+ if (taskPlaceRectificationExcel.getRectificationNoticeFlag().equals(1)) {
+ taskPlaceRectificationExcel.setRectificationNoticeFlag("否");
+ } else {
+ taskPlaceRectificationExcel.setRectificationNoticeFlag("是");
+ }
+ StringBuilder builder = new StringBuilder("");
+ List<PatrolRecordVO> patrolRecordVOList = taskPlaceRectificationExcel.getPatrolRecordVOList();
+ for (int i = 0; i < patrolRecordVOList.size(); i++) {
+ if (patrolRecordVOList.get(i).getState().equals(0)) {
+ builder.append(i + 1).append(" : ").append(patrolRecordVOList.get(i).getItemsName()).append("; ");
+ }
+ }
+ taskPlaceRectificationExcel.setHiddenDanger(builder.toString());
+ }
+ return export;
+ }
+
+
+ @Override
+ public void importPlaceRectifications(List<PlaceRectificationsExcel> data, Boolean isCovered) {
+ IPlaceService bean = SpringUtils.getBean(IPlaceService.class);
+ IUserService bean1 = SpringUtils.getBean(IUserService.class);
+ IDoorplateAddressService bean3 = SpringUtils.getBean(IDoorplateAddressService.class);
+ IPlaceService bean4 = SpringUtils.getBean(IPlaceService.class);
+ IPoliceAffairsGridService policeAffairsGridService = SpringUtils.getBean(IPoliceAffairsGridService.class);
+
+ List<String> objects = new ArrayList<>();
+ List<String> objects2 = new ArrayList<>();
+ List<String> objects3 = new ArrayList<>();
+ List<String> objects4 = new ArrayList<>();
+ int a = 0;
+ for (PlaceRectificationsExcel datum : data) {
+ a++;
+ System.out.println(a + "第几个:" + datum.getHouseCode());
+ String phone1 = getPhone(datum.getPrincipals());
+ String name = getName(datum.getPrincipals());
+ datum.setPrincipalPhone(phone1);
+ datum.setPrincipal(name);
+ // 1.判断场所是否存在
+ PlaceEntity one = bean.getOne(Wrappers.<PlaceEntity>lambdaQuery()
+ .eq(PlaceEntity::getHouseCode, datum.getHouseCode())
+ .eq(PlaceEntity::getIsDeleted, 0));
+ if (one == null) {
+ // 新增场所
+ DoorplateAddressEntity doorplateAddressEntity = bean3.getOne(Wrappers.<DoorplateAddressEntity>lambdaQuery()
+ .eq(DoorplateAddressEntity::getAddressCode, datum.getHouseCode()));
+ if (doorplateAddressEntity != null) {
+ objects.add(datum.getHouseCode());
+ continue;
+ } else {
+ PoliceAffairsGridEntity one1 = policeAffairsGridService.getOne(Wrappers.<PoliceAffairsGridEntity>lambdaQuery()
+ .like(PoliceAffairsGridEntity::getCommunityName, datum.getCommunityName()).last("limit 1"));
+ if (one1 == null) {
+ continue;
+ }
+ PlaceVO placeVO = new PlaceVO();
+ placeVO.setJwGridCode(one1.getJwGridCode());
+ placeVO.setHouseCode(datum.getHouseCode());
+ placeVO.setIsNine(1);
+ placeVO.setPrincipal(StringUtils.isBlank(datum.getPrincipal().trim()) ? "demo" : datum.getPrincipal().trim());
+ placeVO.setPrincipalPhone(datum.getPrincipalPhone());
+ placeVO.setRoleName("民警");
+ placeVO.setLocation(datum.getPlaceAddress());
+ placeVO.setSource(2);
+ placeVO.setIsScene(1);
+ placeVO.setIsNine(1);
+ placeVO.setPlaceName(datum.getPlaceName());
+ if (StringUtils.isNotBlank(datum.getNineType())) {
+ placeVO.setNineType(Integer.valueOf(datum.getNineType()));
+ }
+ Boolean aBoolean = bean4.addOrUpdate(placeVO);
+ objects2.add(datum.getHouseCode());
+ continue;
+ }
+ }
+ // 2.判断负责人电话是否存在
+ if (StringUtils.isBlank(datum.getPrincipalPhone())) {
+ objects4.add(datum.getHouseCode());
+ continue;
+ }
+ // 2.判断负责人是否存在
+ User one1 = bean1.getOne(Wrappers.<User>lambdaQuery()
+ .eq(User::getPhone, datum.getPrincipalPhone())
+ .eq(User::getIsDeleted, 0));
+ if (one1 == null) {
+ // 创建
+ User newUser = new User();
+ //如果用户不存在,则新增一个用户
+ newUser.setAccount(datum.getPrincipalPhone().trim());
+ newUser.setPhone(datum.getPrincipalPhone().trim());
+ newUser.setName(StringUtils.isBlank(datum.getPrincipal().trim()) ? "demo" : datum.getPrincipal().trim());
+ newUser.setRealName(StringUtils.isBlank(datum.getPrincipal().trim()) ? "demo" : datum.getPrincipal().trim());
+ // 社区群众部门
+ newUser.setDeptId("1727979636479037441");
+ // 目前暂定居民角色,
+ newUser.setRoleId("1717429059648606209");
+ //默认密码为 123456
+ newUser.setPassword("123456");
+ // 用户新增
+ boolean submit = bean1.submit(newUser);
+ // 3.更新场所负责人
+ one.setPrincipal(newUser.getRealName());
+ one.setPrincipalUserId(newUser.getId());
+ one.setPrincipalPhone(newUser.getPhone());
+ one.setLocation(datum.getAddressName());
+ one.setPlaceName(datum.getPlaceName());
+ one.setIsNine(1);
+ if (StringUtils.isNotBlank(datum.getNineType())) {
+ one.setNineType(Integer.valueOf(datum.getNineType()));
+ }
+ bean.updateById(one);
+ } else {
+ if (one == null) {
+ one = bean.getOne(Wrappers.<PlaceEntity>lambdaQuery()
+ .eq(PlaceEntity::getHouseCode, datum.getHouseCode())
+ .eq(PlaceEntity::getIsDeleted, 0));
+ }
+ // 3.更新场所负责人
+ one.setIsNine(1);
+ if (StringUtils.isNotBlank(datum.getNineType())) {
+ one.setNineType(Integer.valueOf(datum.getNineType()));
+ }
+ one.setPrincipal(one1.getRealName());
+ one.setPrincipalUserId(one1.getId());
+ one.setPrincipalPhone(one1.getPhone());
+ one.setLocation(datum.getAddressName());
+ one.setPlaceName(datum.getPlaceName());
+ bean.updateById(one);
+ }
+ }
+ System.out.println("没有数据:" + JSON.toJSONString(objects));
+ System.out.println("没有数据2:" + JSON.toJSONString(objects2));
+ System.out.println("没有数据3:" + JSON.toJSONString(objects3));
+ System.out.println("没有数据4:" + JSON.toJSONString(objects4));
+ }
+
+
+ private String getPhone(String text) {
+ if (StringUtils.isBlank(text)) {
+ return "";
+ }
+ Pattern pattern = Pattern.compile("1[3-9]\\d{9}");
+ Matcher matcher = pattern.matcher(text);
+
+ while (matcher.find()) {
+ return matcher.group();
+ }
+ return "";
+ }
+
+ private String getName(String text) {
+ if (StringUtils.isBlank(text)) {
+ return "";
+ }
+ // Pattern pattern = Pattern.compile("[\\\\u4e00-\\\\u9fa5]+");
+ // Matcher matcher = pattern.matcher(text);
+
+ String result = text.replaceAll("[^\\u4e00-\\u9fa5]", "");
+ // while (matcher.find()) {
+ // return matcher.group();
+ // }
+ return result;
+ }
}
--
Gitblit v1.9.3