|
@ -8,7 +8,10 @@ |
|
|
|
|
|
|
|
|
package com.elink.esua.epdc.service.impl; |
|
|
package com.elink.esua.epdc.service.impl; |
|
|
|
|
|
|
|
|
|
|
|
import cn.afterturn.easypoi.excel.ExcelImportUtil; |
|
|
|
|
|
import cn.afterturn.easypoi.excel.entity.ImportParams; |
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
|
|
import cn.hutool.core.util.PinyinUtil; |
|
|
import cn.hutool.json.XML; |
|
|
import cn.hutool.json.XML; |
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.alibaba.fastjson.JSON; |
|
|
import com.alibaba.fastjson.JSONArray; |
|
|
import com.alibaba.fastjson.JSONArray; |
|
@ -29,6 +32,7 @@ import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; |
|
|
import com.elink.esua.epdc.commons.tools.security.user.UserDetail; |
|
|
import com.elink.esua.epdc.commons.tools.security.user.UserDetail; |
|
|
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.Result; |
|
|
import com.elink.esua.epdc.commons.tools.utils.Result; |
|
|
|
|
|
import com.elink.esua.epdc.commons.tools.utils.StreamUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.TreeUtils; |
|
|
import com.elink.esua.epdc.commons.tools.utils.TreeUtils; |
|
|
import com.elink.esua.epdc.constant.RoleTypeKeyConstant; |
|
|
import com.elink.esua.epdc.constant.RoleTypeKeyConstant; |
|
|
import com.elink.esua.epdc.dao.*; |
|
|
import com.elink.esua.epdc.dao.*; |
|
@ -41,6 +45,7 @@ import com.elink.esua.epdc.dto.epdc.result.ExportKpiResultDTO; |
|
|
import com.elink.esua.epdc.dto.epdc.result.SysDeptAreaCodeResultDTO; |
|
|
import com.elink.esua.epdc.dto.epdc.result.SysDeptAreaCodeResultDTO; |
|
|
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO; |
|
|
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO; |
|
|
import com.elink.esua.epdc.entity.*; |
|
|
import com.elink.esua.epdc.entity.*; |
|
|
|
|
|
import com.elink.esua.epdc.excel.SysDeptImportExcel; |
|
|
import com.elink.esua.epdc.feign.GroupFeignClient; |
|
|
import com.elink.esua.epdc.feign.GroupFeignClient; |
|
|
import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO; |
|
|
import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO; |
|
|
import com.elink.esua.epdc.rocketmq.producer.OrganizationModifyProducer; |
|
|
import com.elink.esua.epdc.rocketmq.producer.OrganizationModifyProducer; |
|
@ -64,8 +69,10 @@ import org.springframework.data.mongodb.core.query.Criteria; |
|
|
import org.springframework.data.mongodb.core.query.Query; |
|
|
import org.springframework.data.mongodb.core.query.Query; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile; |
|
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
import javax.annotation.Resource; |
|
|
|
|
|
import java.io.File; |
|
|
import java.io.InputStream; |
|
|
import java.io.InputStream; |
|
|
import java.net.HttpURLConnection; |
|
|
import java.net.HttpURLConnection; |
|
|
import java.net.URL; |
|
|
import java.net.URL; |
|
@ -85,6 +92,7 @@ import java.util.stream.Stream; |
|
|
@Slf4j |
|
|
@Slf4j |
|
|
@Service |
|
|
@Service |
|
|
public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntity> implements SysDeptService { |
|
|
public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntity> implements SysDeptService { |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private SysUserService sysUserService; |
|
|
private SysUserService sysUserService; |
|
|
|
|
|
|
|
@ -1557,6 +1565,57 @@ public class SysDeptServiceImpl extends BaseServiceImpl<SysDeptDao, SysDeptEntit |
|
|
return resultDTO; |
|
|
return resultDTO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public Result importExcel(MultipartFile file) { |
|
|
|
|
|
File f = StreamUtils.conversionFile(file); |
|
|
|
|
|
ImportParams importParams = new ImportParams(); |
|
|
|
|
|
List<SysDeptImportExcel> deptExcelList = ExcelImportUtil.importExcel(f, SysDeptImportExcel.class, importParams); |
|
|
|
|
|
String typekey = "grid_micro"; |
|
|
|
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
|
|
|
params.put("typeKey", "grid_party"); |
|
|
|
|
|
List<SysDeptEntity> deptList = baseDao.getList(params); |
|
|
|
|
|
Map<String, SysDeptEntity> deptMap = new HashMap<>(); |
|
|
|
|
|
if (null != deptList && deptList.size() > 0) { |
|
|
|
|
|
deptMap = deptList.stream().collect(Collectors.toMap(SysDeptEntity::getName, dept -> dept, (k1, k2) -> k1)); |
|
|
|
|
|
} |
|
|
|
|
|
Set<String> okList = new HashSet<>(); |
|
|
|
|
|
Set<String> errList = new HashSet<>(); |
|
|
|
|
|
if (null != deptExcelList && deptExcelList.size() > 0) { |
|
|
|
|
|
List<SysDeptEntity> entityList = new ArrayList<>(); |
|
|
|
|
|
int sort = 0; |
|
|
|
|
|
String tempName = ""; |
|
|
|
|
|
for (SysDeptImportExcel ex : deptExcelList) { |
|
|
|
|
|
String key = ex.getStreetName().concat(ex.getGridName()); |
|
|
|
|
|
if (StringUtils.isEmpty(tempName)) { |
|
|
|
|
|
tempName = key; |
|
|
|
|
|
} else if (StringUtils.isNotEmpty(tempName) && tempName.equals(key)) { |
|
|
|
|
|
sort++; |
|
|
|
|
|
} else { |
|
|
|
|
|
sort = 0; |
|
|
|
|
|
} |
|
|
|
|
|
if (null != deptMap.get(key)) { |
|
|
|
|
|
String streetName = key.length() == 4 ? deptMap.get(key).getParentName().concat(key) : key; |
|
|
|
|
|
if (streetName.equals(ex.getStreetName().concat(ex.getGridName()))) { |
|
|
|
|
|
SysDeptEntity entity = new SysDeptEntity(); |
|
|
|
|
|
entity.setName(streetName.concat(ex.getName())); |
|
|
|
|
|
entity.setPid(deptMap.get(key).getId()); |
|
|
|
|
|
entity.setPids(deptMap.get(key).getPids() + "," + deptMap.get(key).getId()); |
|
|
|
|
|
entity.setSort(sort); |
|
|
|
|
|
entity.setTypeKey(typekey); |
|
|
|
|
|
entity.setPartyCode(PinyinUtil.getAllFirstLetter(entity.getName())); |
|
|
|
|
|
entityList.add(entity); |
|
|
|
|
|
okList.add(key); |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
errList.add(key); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
insertBatch(entityList); |
|
|
|
|
|
} |
|
|
|
|
|
System.out.println("成功比对=" + okList.toString()); |
|
|
|
|
|
return new Result(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @return java.lang.String |
|
|
* @return java.lang.String |
|
|
* @describe: 访问外部接口获取部门(社区)地区编码 |
|
|
* @describe: 访问外部接口获取部门(社区)地区编码 |
|
|