模板
表结构
HSGD_base_GROUP_import_RECORD
HSGD_base_GROUP_import_COMPLETION
HSGD_base_GROUP_NOT_import_RECORD
代码
package com.zhgd.base.controller.api;
import com.zhgd.base.service.IZhgdSrbaseGroupimportService;
import com.zhgd.common.util.JsonUtil;
import com.zhgd.common.web.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.List;
@RestController
@Api(tags = "Zhgd Sr base Group import Controller")
@RequestMapping(value = "/api/srbaseGroupimport")
@Slf4j
public class ApiZhgdSrbaseGroupimportController {
@Resource
private IZhgdSrbaseGroupimportService iZhgdSrbaseGroupimportService;
@ApiOperation(value = "掌柜组织改版导入组织接口-V2版本", response = String.class, notes = "import base Group V2")
@PostMapping(value = "/11201/v2/importbaseGroup")
public ResponseResult> importbaseGroupV2(@RequestParam("importFile") MultipartFile importFile){
String importFileName1 = importFile != null ? importFile.getOriginalFilename() : "--";
log.info("[掌柜组织改版]导入部门组织,导入文件名:{}",importFileName1);
ResponseResult> result = new ResponseResult<>();
result.setData(iZhgdSrbaseGroupimportService.importbaseGroupProcessV2(importFile));
log.info("[掌柜组织改版]导入部门组织,导入文件名:{}", JsonUtil.toJSonString(result));
return result;
}
}
public interface IZhgdSrbaseGroupimportService {
void batchInsertAll(List recordList);
List importbaseGroupProcess(MultipartFile importFile);
void insert(HsgdbaseGroupimportRecord record);
HsgdbaseGroupSimpleVO getGroupSimpleByGroupNameAndLevel(String levelGroupName, Integer groupLevel);
HsgdbaseGroupSimpleVO getGroupSimpleByGroupNameAndParentIdAndLevel(String levelGroupName, Long groupId, Integer groupLevel);
List importbaseGroupProcessV2(MultipartFile importFile);
HsgdbaseGroupSimpleVO getGroupSimpleByGroupNameAndLevelAndParentId(String levelGroupName, Integer groupLevel,Long parentId);
}
package com.zhgd.base.service.impl;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.zhgd.base.domain.model.ZhgdSrGroupimportModel;
import com.zhgd.base.domain.vo.HsgdbaseGroupSimpleVO;
import com.zhgd.base.entity.*;
import com.zhgd.base.enums.HsgdbaseGroupLevelEnum;
import com.zhgd.base.listener.ZhgdSrbaseGroupimportExcelListener;
import com.zhgd.base.mapper.*;
import com.zhgd.base.service.IHsgdbaseGroupNotimportRecordService;
import com.zhgd.base.service.IZhgdSrbaseGroupimportHandleService;
import com.zhgd.base.service.IZhgdSrbaseGroupimportService;
import com.zhgd.common.util.JsonUtil;
import com.zhgd.common.util.UUIDUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
public class ZhgdSrbaseGroupimportServiceImpl implements IZhgdSrbaseGroupimportService {
private final String SYSTEM_USER_NAME = "system";
@Resource
private IZhgdSrbaseGroupimportHandleService iZhgdSrbaseGroupimportHandleService;
@Resource
private HsgdbaseGroupimportRecordMapper hsgdbaseGroupimportRecordMapper;
@Resource
private HsgdbaseGroupMapper hsgdbaseGroupMapper;
@Resource
private HsgdbaseGroupInfoMapper hsgdbaseGroupInfoMapper;
@Resource
private HsgdbaseGroupLabelDictMapper hsgdbaseGroupLabelDictMapper;
@Resource
private HsgdbaseGroupLabelMapper hsgdbaseGroupLabelMapper;
@Resource
private HsgdbaseGroupRegionMapper hsgdbaseGroupRegionMapper;
@Resource
private CrmRegionMapper crmRegionMapper;
@Resource
private HsgdbaseGroupimportCompletionMapper hsgdbaseGroupimportCompletionMapper;
@Resource
private IHsgdbaseGroupNotimportRecordService iHsgdbaseGroupNotimportRecordService;
@Override
public List importbaseGroupProcess(MultipartFile importFile) {
List importResultList = new ArrayList<>();
try {
String batchNo = UUIDUtils.getUUID();
// 1、导入数据
ZhgdSrbaseGroupimportExcelListener listener = new ZhgdSrbaseGroupimportExcelListener(iZhgdSrbaseGroupimportHandleService, batchNo);
EasyExcel.read(importFile.getInputStream(), ZhgdSrGroupimportModel.class, listener).sheet(0).doRead();
// 2、文件校验(待处理)
// 3、组织数据
int totalRecord = this.organizeAndSavebaseGroupCompletionData(batchNo);
this.savebaseGroupData(batchNo,totalRecord);
} catch (Exception e) {
log.info("组织改版组织导入异常", e);
importResultList.add("导入异常!" + e.getMessage());
return importResultList;
}
importResultList.add("导入成功!");
return importResultList;
}
private int organizeAndSavebaseGroupCompletionData(String batchNo) {
int importDataTotal = hsgdbaseGroupimportRecordMapper.countimportbaseGroupDataTotalByBatchNo(batchNo);
if (importDataTotal > 0) {
// 每页记录数
int pageSize = 500, startPage = 1;
// 总页数
int totalPage = importDataTotal % pageSize == 0 ? (importDataTotal / pageSize) : (importDataTotal / pageSize + 1);
String grouponeLevel = "";
String groupTwoLevel = "";
String groupThreeLevel = "";
String groupFourLevel = "";
String groupFiveLevel = "";
String groupSixLevel = "";
String groupSevenLevel = "";
for (int pageN = 0; pageN < totalPage; pageN++) {
PageHelper.startPage(startPage + pageN, pageSize, false);
List list = hsgdbaseGroupimportRecordMapper.selectListByBatchNo(batchNo);
if (CollectionUtils.isNotEmpty(list)) {
List completionList = new ArrayList<>();
HsgdbaseGroupimportCompletion completion;
for (int i = 0, listSize = list.size(); i < listSize; i++) {
HsgdbaseGroupimportRecord record = list.get(i);
completion = new HsgdbaseGroupimportCompletion();
if (StringUtils.isNotBlank(record.getLeveloneGroup())) {
grouponeLevel = record.getLeveloneGroup();
completion.setGroupLevel(HsgdbaseGroupLevelEnum.ONE.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelTwoGroup())) {
groupTwoLevel = record.getLevelTwoGroup();
record.setLeveloneGroup(groupOneLevel);
completion.setGroupLevel(HsgdbaseGroupLevelEnum.TWO.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelThreeGroup())) {
groupThreeLevel = record.getLevelThreeGroup();
record.setLeveloneGroup(groupOneLevel);
record.setLevelTwoGroup(groupTwoLevel);
completion.setGroupLevel(HsgdbaseGroupLevelEnum.THREE.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelFourGroup())) {
groupFourLevel = record.getLevelFourGroup();
record.setLeveloneGroup(groupOneLevel);
record.setLevelTwoGroup(groupTwoLevel);
record.setLevelThreeGroup(groupThreeLevel);
completion.setGroupLevel(HsgdbaseGroupLevelEnum.FOUR.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelFiveGroup())) {
groupFiveLevel = record.getLevelFiveGroup();
record.setLeveloneGroup(groupOneLevel);
record.setLevelTwoGroup(groupTwoLevel);
record.setLevelThreeGroup(groupThreeLevel);
record.setLevelFourGroup(groupFourLevel);
completion.setGroupLevel(HsgdbaseGroupLevelEnum.FIVE.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelSixGroup())) {
groupSixLevel = record.getLevelSixGroup();
record.setLeveloneGroup(groupOneLevel);
record.setLevelTwoGroup(groupTwoLevel);
record.setLevelThreeGroup(groupThreeLevel);
record.setLevelFourGroup(groupFourLevel);
record.setLevelFiveGroup(groupFiveLevel);
completion.setGroupLevel(HsgdbaseGroupLevelEnum.SIX.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelSevenGroup())) {
groupSevenLevel = record.getLevelSevenGroup();
record.setLeveloneGroup(groupOneLevel);
record.setLevelTwoGroup(groupTwoLevel);
record.setLevelThreeGroup(groupThreeLevel);
record.setLevelFourGroup(groupFourLevel);
record.setLevelFiveGroup(groupFiveLevel);
record.setLevelSixGroup(groupSixLevel);
completion.setGroupLevel(HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelEightGroup())) {
record.setLeveloneGroup(groupOneLevel);
record.setLevelTwoGroup(groupTwoLevel);
record.setLevelThreeGroup(groupThreeLevel);
record.setLevelFourGroup(groupFourLevel);
record.setLevelFiveGroup(groupFiveLevel);
record.setLevelSixGroup(groupSixLevel);
record.setLevelSevenGroup(groupSevenLevel);
completion.setGroupLevel(HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel());
}
BeanUtils.copyProperties(record, completion);
completionList.add(completion);
}
iZhgdSrbaseGroupimportHandleService.insertAllimportCompletion(completionList);
}
}
}
return importDataTotal;
}
private void savebaseGroupData(String batchNo,int totalRecord ) {
if(totalRecord > 0) {
// 每页记录数
int pageSize = 500, startPage = 1;
// 总页数
int totalPage = totalRecord % pageSize == 0 ? (totalRecord / pageSize) : (totalRecord / pageSize + 1);
Date nowDate = new Date();
Long parentId ;
Map grouponeLevelMap = new HashMap<>();
Map groupTwoLevelMap = new HashMap<>();
Map groupThreeLevelMap = new HashMap<>();
Map groupFourLevelMap = new HashMap<>();
Map groupFiveLevelMap = new HashMap<>();
Map groupSixLevelMap = new HashMap<>();
Map groupSevenLevelMap = new HashMap<>();
Map groupEightLevelMap = new HashMap<>();
Map labelMap = this.getGroupLabelMap();
Map regionMap = new HashMap<>();
for (int pageN = 0; pageN < totalPage; pageN++) {
PageHelper.startPage(startPage + pageN, pageSize, false);
List importCompletionList = hsgdbaseGroupimportCompletionMapper.selectListByBatchNo(batchNo);
if(CollectionUtils.isNotEmpty(importCompletionList)){
List errorRecordList = new ArrayList<>();
HsgdbaseGroupNotimportRecord notimportRecord;
this.getPageAllRegionToRegionMap(regionMap,importCompletionList);
for (HsgdbaseGroupimportCompletion completionVO : importCompletionList){
try {
if (HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(completionVO.getGroupLevel())) {
if (groupOneLevelMap.get(completionVO.getLeveloneGroup()) == null) {
HsgdbaseGroupSimpleVO simpleoneVO = this.getGroupSimpleByGroupNameAndLevel(completionVO.getLeveloneGroup(), completionVO.getGroupLevel());
if (simpleoneVO != null) {
groupOneLevelMap.put(completionVO.getLeveloneGroup(), simpleOneVO);
} else {
simpleoneVO = this.generatorGroupLevel(completionVO, nowDate, labelMap, regionMap, 0L);
groupOneLevelMap.put(completionVO.getLeveloneGroup(), simpleOneVO);
}
}
} else if (HsgdbaseGroupLevelEnum.TWO.getGroupLevel().equals(completionVO.getGroupLevel())) {
HsgdbaseGroupSimpleVO oneSiVO = groupOneLevelMap.get(completionVO.getLeveloneGroup());
parentId = oneSiVO.getGroupId();
if (groupTwoLevelMap.get(completionVO.getLevelTwoGroup()) == null) {
HsgdbaseGroupSimpleVO simpleTwoVO = this.getGroupSimpleByGroupNameAndLevel(completionVO.getLevelTwoGroup(), completionVO.getGroupLevel());
if (simpleTwoVO != null) {
groupTwoLevelMap.put(completionVO.getLevelTwoGroup(), simpleTwoVO);
} else {
simpleTwoVO = this.generatorGroupLevel(completionVO, nowDate, labelMap, regionMap, parentId);
groupTwoLevelMap.put(completionVO.getLevelTwoGroup(), simpleTwoVO);
}
}
} else if (HsgdbaseGroupLevelEnum.THREE.getGroupLevel().equals(completionVO.getGroupLevel())) {
HsgdbaseGroupSimpleVO twoSiVO = groupTwoLevelMap.get(completionVO.getLevelTwoGroup());
parentId = twoSiVO.getGroupId();
if (groupThreeLevelMap.get(completionVO.getLevelThreeGroup()) == null) {
HsgdbaseGroupSimpleVO simpleThreeVO = this.getGroupSimpleByGroupNameAndLevel(completionVO.getLevelThreeGroup(), completionVO.getGroupLevel());
if (simpleThreeVO != null) {
groupThreeLevelMap.put(completionVO.getLevelThreeGroup(), simpleThreeVO);
} else {
simpleThreeVO = this.generatorGroupLevel(completionVO, nowDate, labelMap, regionMap, parentId);
groupThreeLevelMap.put(completionVO.getLevelThreeGroup(), simpleThreeVO);
}
}
} else if (HsgdbaseGroupLevelEnum.FOUR.getGroupLevel().equals(completionVO.getGroupLevel())) {
HsgdbaseGroupSimpleVO threeSiVO = groupThreeLevelMap.get(completionVO.getLevelThreeGroup());
parentId = threeSiVO.getGroupId();
if (groupFourLevelMap.get(completionVO.getLevelFourGroup()) == null) {
HsgdbaseGroupSimpleVO simplefourVO = this.getGroupSimpleByGroupNameAndLevel(completionVO.getLevelFourGroup(), completionVO.getGroupLevel());
if (simplefourVO != null) {
groupFourLevelMap.put(completionVO.getLevelFourGroup(), simplefourVO);
} else {
simplefourVO = this.generatorGroupLevel(completionVO, nowDate, labelMap, regionMap, parentId);
groupFourLevelMap.put(completionVO.getLevelFourGroup(), simplefourVO);
}
}
} else if (HsgdbaseGroupLevelEnum.FIVE.getGroupLevel().equals(completionVO.getGroupLevel())) {
HsgdbaseGroupSimpleVO fourSiVO = groupFourLevelMap.get(completionVO.getLevelFourGroup());
parentId = fourSiVO.getGroupId();
String fiveKey = completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();
if (groupFiveLevelMap.get(fiveKey) == null) {
HsgdbaseGroupSimpleVO simplefourVO = this.getGroupSimpleByGroupNameAndParentIdAndLevel(completionVO.getLevelFiveGroup(), parentId, completionVO.getGroupLevel());
if (simplefourVO != null) {
groupFiveLevelMap.put(fiveKey, simplefourVO);
} else {
simplefourVO = this.generatorGroupLevel(completionVO, nowDate, labelMap, regionMap, parentId);
groupFiveLevelMap.put(fiveKey, simplefourVO);
}
}
} else if (HsgdbaseGroupLevelEnum.SIX.getGroupLevel().equals(completionVO.getGroupLevel())) {
HsgdbaseGroupSimpleVO fiveSiVO = groupFiveLevelMap.get(completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup());
parentId = fiveSiVO.getGroupId();
String sixKey = completionVO.getLevelFiveGroup() + "-" + completionVO.getLevelSixGroup();
if (groupSixLevelMap.get(sixKey) == null) {
HsgdbaseGroupSimpleVO simplefourVO = this.getGroupSimpleByGroupNameAndParentIdAndLevel(completionVO.getLevelSixGroup(), parentId, completionVO.getGroupLevel());
if (simplefourVO != null) {
groupSixLevelMap.put(sixKey, simplefourVO);
} else {
simplefourVO = this.generatorGroupLevel(completionVO, nowDate, labelMap, regionMap, parentId);
groupSixLevelMap.put(sixKey, simplefourVO);
}
}
} else if (HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel().equals(completionVO.getGroupLevel())) {
HsgdbaseGroupSimpleVO sixSiVO = groupSixLevelMap.get(completionVO.getLevelFiveGroup() + "-" + completionVO.getLevelSixGroup());
parentId = sixSiVO.getGroupId();
String sevenKey = completionVO.getLevelSixGroup() + "-" + completionVO.getLevelSevenGroup();
if (groupSevenLevelMap.get(sevenKey) == null) {
HsgdbaseGroupSimpleVO simplefourVO = this.getGroupSimpleByGroupNameAndParentIdAndLevel(completionVO.getLevelSixGroup(), parentId, completionVO.getGroupLevel());
if (simplefourVO != null) {
groupSevenLevelMap.put(sevenKey, simplefourVO);
} else {
simplefourVO = this.generatorGroupLevel(completionVO, nowDate, labelMap, regionMap, parentId);
groupSevenLevelMap.put(sevenKey, simplefourVO);
}
}
} else if (HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel().equals(completionVO.getGroupLevel())) {
HsgdbaseGroupSimpleVO sevenSiVO = groupSevenLevelMap.get(completionVO.getLevelSixGroup() + "-" + completionVO.getLevelSevenGroup());
parentId = sevenSiVO.getGroupId();
String eightKey = completionVO.getLevelSevenGroup() + "-" + completionVO.getLevelEightGroup();
if (groupEightLevelMap.get(eightKey) == null) {
HsgdbaseGroupSimpleVO simplefourVO = this.getGroupSimpleByGroupNameAndParentIdAndLevel(completionVO.getLevelEightGroup(), sevenSiVO.getGroupId(), completionVO.getGroupLevel());
if (simplefourVO != null) {
groupEightLevelMap.put(eightKey, simplefourVO);
} else {
simplefourVO = this.generatorGroupLevel(completionVO, nowDate, labelMap, regionMap, parentId);
groupEightLevelMap.put(eightKey, simplefourVO);
}
}
}
} catch (Exception e) {
log.info("组织{}导入失败", JsonUtil.toJSonString(completionVO));
log.info("组织"+JsonUtil.toJSonString(completionVO)+"导入失败",e);
notimportRecord = new HsgdbaseGroupNotimportRecord();
BeanUtils.copyProperties(completionVO,notimportRecord);
errorRecordList.add(notimportRecord);
}
}
if(CollectionUtils.isNotEmpty(errorRecordList)){
iHsgdbaseGroupNotimportRecordService.saveBatch(errorRecordList);
}
}
}
}
}
@Override
public List importbaseGroupProcessV2(MultipartFile importFile) {
List importResultList = new ArrayList<>();
try {
// 批次号
String batchNo = UUIDUtils.getUUID();
// 1、导入数据
ZhgdSrbaseGroupimportExcelListener listener = new ZhgdSrbaseGroupimportExcelListener(iZhgdSrbaseGroupimportHandleService, batchNo);
EasyExcel.read(importFile.getInputStream(), ZhgdSrGroupimportModel.class, listener).sheet(0).doRead();
// 2、组织整理数据
int totalRecord = this.organizeAndSavebaseGroupCompletionDataV2(batchNo);
// 3、保存组织数据
this.savebaseGroupDataV2(batchNo,totalRecord);
} catch (Exception e) {
log.info("组织改版组织导入异常", e);
importResultList.add("导入异常 :" + e.getMessage());
return importResultList;
}
importResultList.add("执行完成,请检查是否全部导入成功!");
return importResultList;
}
private int organizeAndSavebaseGroupCompletionDataV2(String batchNo) {
int importDataTotal = hsgdbaseGroupimportRecordMapper.countimportbaseGroupDataTotalByBatchNo(batchNo);
if (importDataTotal > 0) {
// 每页记录数,起始页
int pageSize = 120, startPage = 1;
// 总页数
int totalPage = importDataTotal % pageSize == 0 ? (importDataTotal / pageSize) : (importDataTotal / pageSize + 1);
String grouponeLevel = "";
String groupTwoLevel = "";
String groupThreeLevel = "";
String groupFourLevel = "";
String groupFiveLevel = "";
String groupSixLevel = "";
String groupSevenLevel = "";
String groupEightLevel = "";
String groupRecordRe = "";
int grouponeSort = 0;
int groupTwoSort = 0;
int groupThreeSort = 0;
int groupFourSort = 0;
int groupFiveSort = 0;
int groupSixSort = 0;
int groupSevenSort = 0;
int groupEightSort = 0;
for (int pageN = 0; pageN < totalPage; pageN++) {
PageHelper.startPage(startPage + pageN, pageSize, false);
List list = hsgdbaseGroupimportRecordMapper.selectListByBatchNo(batchNo);
if (CollectionUtils.isNotEmpty(list)) {
List completionList = new ArrayList<>();
HsgdbaseGroupimportCompletion completion;
for (int i = 0, listSize = list.size(); i < listSize; i++) {
HsgdbaseGroupimportRecord record = list.get(i);
completion = new HsgdbaseGroupimportCompletion();
BeanUtils.copyProperties(record, completion);
if (StringUtils.isNotBlank(record.getLeveloneGroup())) {
completion.setGroupLevel(HsgdbaseGroupLevelEnum.ONE.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelTwoGroup())) {
completion.setGroupLevel(HsgdbaseGroupLevelEnum.TWO.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelThreeGroup())) {
completion.setGroupLevel(HsgdbaseGroupLevelEnum.THREE.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelFourGroup())) {
completion.setGroupLevel(HsgdbaseGroupLevelEnum.FOUR.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelFiveGroup())) {
completion.setGroupLevel(HsgdbaseGroupLevelEnum.FIVE.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelSixGroup())) {
completion.setGroupLevel(HsgdbaseGroupLevelEnum.SIX.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelSevenGroup())) {
completion.setGroupLevel(HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel());
}
if (StringUtils.isNotBlank(record.getLevelEightGroup())) {
completion.setGroupLevel(HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel());
}
if (HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(completion.getGroupLevel())) {
groupRecordRe = completion.getLeveloneGroup();
if (! groupOneLevel.equals(groupRecordRe)) {
grouponeSort = grouponeSort + 1;
grouponeLevel = groupRecordRe;
groupTwoSort = 0;
groupThreeSort = 0;
groupFourSort = 0;
groupFiveSort = 0;
groupSixSort = 0;
groupSevenSort = 0;
groupEightSort = 0;
completion.setGroupSort(groupOneSort);
}else{
completion.setGroupSort(groupOneSort);
}
}
else if (HsgdbaseGroupLevelEnum.TWO.getGroupLevel().equals(completion.getGroupLevel())) {
groupRecordRe = completion.getLevelTwoGroup();
if (! groupTwoLevel.equals(groupRecordRe)) {
groupTwoSort = groupTwoSort + 1;
groupTwoLevel = groupRecordRe;
groupThreeSort = 0;
groupFourSort = 0;
groupFiveSort = 0;
groupSixSort = 0;
groupSevenSort = 0;
groupEightSort = 0;
completion.setGroupSort(groupTwoSort);
}else{
completion.setGroupSort(groupTwoSort);
}
}
else if (HsgdbaseGroupLevelEnum.THREE.getGroupLevel().equals(completion.getGroupLevel())) {
groupRecordRe = completion.getLevelThreeGroup();
if (! groupThreeLevel.equals(groupRecordRe)) {
groupThreeSort = groupThreeSort + 1;
groupThreeLevel = groupRecordRe;
groupFourSort = 0;
groupFiveSort = 0;
groupSixSort = 0;
groupSevenSort = 0;
groupEightSort = 0;
completion.setGroupSort(groupThreeSort);
}else{
completion.setGroupSort(groupThreeSort);
}
}
else if (HsgdbaseGroupLevelEnum.FOUR.getGroupLevel().equals(completion.getGroupLevel())) {
groupRecordRe = completion.getLevelFourGroup();
if (! groupFourLevel.equals(groupRecordRe)) {
groupFourSort = groupFourSort + 1;
groupFourLevel = groupRecordRe;
groupFiveSort = 0;
groupSixSort = 0;
groupSevenSort = 0;
groupEightSort = 0;
completion.setGroupSort(groupFourSort);
}else{
completion.setGroupSort(groupFourSort);
}
}
else if (HsgdbaseGroupLevelEnum.FIVE.getGroupLevel().equals(completion.getGroupLevel())) {
groupRecordRe = completion.getLevelFiveGroup();
if (! groupFiveLevel.equals(groupRecordRe)) {
groupFiveSort = groupFiveSort + 1;
groupFiveLevel = groupRecordRe;
groupSixSort = 0;
groupSevenSort = 0;
groupEightSort = 0;
completion.setGroupSort(groupFiveSort);
}else{
completion.setGroupSort(groupFiveSort);
}
}
else if (HsgdbaseGroupLevelEnum.SIX.getGroupLevel().equals(completion.getGroupLevel())) {
groupRecordRe = completion.getLevelSixGroup();
if (! groupSixLevel.equals(groupRecordRe)) {
groupSixSort = groupSixSort + 1;
groupSixLevel = groupRecordRe;
groupSevenSort = 0;
groupEightSort = 0;
completion.setGroupSort(groupSixSort);
}else{
completion.setGroupSort(groupSixSort);
}
}
else if (HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel().equals(completion.getGroupLevel())) {
groupRecordRe = completion.getLevelSevenGroup();
if (! groupSevenLevel.equals(groupRecordRe)) {
groupSevenSort = groupSevenSort + 1;
groupSevenLevel = groupRecordRe;
groupEightSort = 0;
completion.setGroupSort(groupSevenSort);
}else{
completion.setGroupSort(groupSevenSort);
}
}
else if (HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel().equals(completion.getGroupLevel())) {
groupRecordRe = completion.getLevelEightGroup();
if (! groupEightLevel.equals(groupRecordRe)) {
groupEightSort = groupEightSort + 1;
groupEightLevel = groupRecordRe;
completion.setGroupSort(groupEightSort);
}else{
completion.setGroupSort(groupEightSort);
}
}
completionList.add(completion);
}
iZhgdSrbaseGroupimportHandleService.insertAllimportCompletion(completionList);
}
}
}
return importDataTotal;
}
private void savebaseGroupDataV2(String batchNo, int totalRecord) {
if(totalRecord > 0) {
int pageSize = 120, startPage = 1;
int totalPage = totalRecord % pageSize == 0 ? (totalRecord / pageSize) : (totalRecord / pageSize + 1);
Date nowDate = new Date();
Long parentId;
String oneMapKey, twoMapKey, threeMapKey, fourMapKey, fiveMapKey, sixMapKey, sevenMapKey, eightMapKey;
Map regionMap = new HashMap<>();
Map labelMap = this.getGroupLabelMap();
Map grouponeLevelMap = new HashMap<>();
Map groupTwoLevelMap = new HashMap<>();
Map groupThreeLevelMap = new HashMap<>();
Map groupFourLevelMap = new HashMap<>();
Map groupFiveLevelMap = new HashMap<>();
Map groupSixLevelMap = new HashMap<>();
Map groupSevenLevelMap = new HashMap<>();
Map groupEightLevelMap = new HashMap<>();
for (int pageN = 0; pageN < totalPage; pageN++) {
PageHelper.startPage(startPage + pageN, pageSize, false);
List importCompletionList = hsgdbaseGroupimportCompletionMapper.selectListByBatchNoV2(batchNo);
if(CollectionUtils.isNotEmpty(importCompletionList)){
List errorRecordList = new ArrayList<>();
HsgdbaseGroupNotimportRecord notimportRecord;
this.getPageAllRegionToRegionMap(regionMap,importCompletionList);
for (HsgdbaseGroupimportCompletion completionVO : importCompletionList) {
try {
// 一级部门
if (HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(completionVO.getGroupLevel())) {
oneMapKey = completionVO.getLeveloneGroup();
if (groupOneLevelMap.get(oneMapKey) == null) {
this.handleoneLevelGroup(nowDate, regionMap, groupOneLevelMap, labelMap, oneMapKey, completionVO);
}
}
else if (HsgdbaseGroupLevelEnum.TWO.getGroupLevel().equals(completionVO.getGroupLevel())) {
oneMapKey = completionVO.getLeveloneGroup();
twoMapKey = completionVO.getLevelTwoGroup();
if (groupOneLevelMap.get(oneMapKey) == null) {
this.handleoneLevelGroup(nowDate, regionMap, groupOneLevelMap, labelMap, oneMapKey, completionVO);
}
if (groupTwoLevelMap.get(twoMapKey) == null) {
parentId = groupOneLevelMap.get(oneMapKey).getGroupId();
this.handleTwoLevelGroup(parentId, nowDate, regionMap, groupTwoLevelMap, labelMap, twoMapKey, completionVO);
}
}
else if (HsgdbaseGroupLevelEnum.THREE.getGroupLevel().equals(completionVO.getGroupLevel())) {
oneMapKey = completionVO.getLeveloneGroup();
twoMapKey = completionVO.getLevelTwoGroup();
threeMapKey = completionVO.getLevelThreeGroup();
if (groupOneLevelMap.get(oneMapKey) == null) {
this.handleoneLevelGroup(nowDate, regionMap, groupOneLevelMap, labelMap, oneMapKey, completionVO);
}
if(groupTwoLevelMap.get(twoMapKey) == null){
parentId = groupOneLevelMap.get(oneMapKey).getGroupId();
this.handleTwoLevelGroup(parentId, nowDate, regionMap, groupTwoLevelMap, labelMap, twoMapKey, completionVO);
}
if (groupThreeLevelMap.get(threeMapKey) == null) {
parentId = groupTwoLevelMap.get(twoMapKey).getGroupId();
this.handleThreeLevelGroup(parentId, nowDate, regionMap, groupThreeLevelMap, labelMap, threeMapKey, completionVO);
}
}
else if (HsgdbaseGroupLevelEnum.FOUR.getGroupLevel().equals(completionVO.getGroupLevel())) {
oneMapKey = completionVO.getLeveloneGroup();
twoMapKey = completionVO.getLevelTwoGroup();
threeMapKey = completionVO.getLevelThreeGroup();
fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
if (groupOneLevelMap.get(oneMapKey) == null) {
this.handleoneLevelGroup(nowDate, regionMap, groupOneLevelMap, labelMap, oneMapKey, completionVO);
}
if(groupTwoLevelMap.get(twoMapKey) == null){
parentId = groupOneLevelMap.get(oneMapKey).getGroupId();
this.handleTwoLevelGroup(parentId, nowDate, regionMap, groupTwoLevelMap, labelMap, twoMapKey, completionVO);
}
if (groupThreeLevelMap.get(threeMapKey) == null) {
parentId = groupTwoLevelMap.get(twoMapKey).getGroupId();
this.handleThreeLevelGroup(parentId, nowDate, regionMap, groupThreeLevelMap, labelMap, threeMapKey, completionVO);
}
if(groupFourLevelMap.get(fourMapKey) == null){
parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
this.handleFourLevelGroup(parentId, nowDate, regionMap, groupFourLevelMap, labelMap, fourMapKey, completionVO);
}
}
else if (HsgdbaseGroupLevelEnum.FIVE.getGroupLevel().equals(completionVO.getGroupLevel())) {
oneMapKey = completionVO.getLeveloneGroup();
twoMapKey = completionVO.getLevelTwoGroup();
threeMapKey = completionVO.getLevelThreeGroup();
fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
fiveMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();
if (groupOneLevelMap.get(oneMapKey) == null) {
this.handleoneLevelGroup(nowDate, regionMap, groupOneLevelMap, labelMap, oneMapKey, completionVO);
}
if(groupTwoLevelMap.get(twoMapKey) == null){
parentId = groupOneLevelMap.get(oneMapKey).getGroupId();
this.handleTwoLevelGroup(parentId, nowDate, regionMap, groupTwoLevelMap, labelMap, twoMapKey, completionVO);
}
if (groupThreeLevelMap.get(threeMapKey) == null) {
parentId = groupTwoLevelMap.get(twoMapKey).getGroupId();
this.handleThreeLevelGroup(parentId, nowDate, regionMap, groupThreeLevelMap, labelMap, threeMapKey, completionVO);
}
if(groupFourLevelMap.get(fourMapKey) == null){
parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
this.handleFourLevelGroup(parentId, nowDate, regionMap, groupFourLevelMap, labelMap, fourMapKey, completionVO);
}
if(groupFiveLevelMap.get(fiveMapKey) == null){
parentId = groupFourLevelMap.get(fourMapKey).getGroupId();
this.handleFiveLevelGroup(parentId, nowDate, regionMap, groupFiveLevelMap, labelMap, fiveMapKey, completionVO);
}
}
else if (HsgdbaseGroupLevelEnum.SIX.getGroupLevel().equals(completionVO.getGroupLevel())) {
oneMapKey = completionVO.getLeveloneGroup();
twoMapKey = completionVO.getLevelTwoGroup();
threeMapKey = completionVO.getLevelThreeGroup();
fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
fiveMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();
sixMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
+ "-" + completionVO.getLevelSixGroup();
if (groupOneLevelMap.get(oneMapKey) == null) {
this.handleoneLevelGroup(nowDate, regionMap, groupOneLevelMap, labelMap, oneMapKey, completionVO);
}
if(groupTwoLevelMap.get(twoMapKey) == null){
parentId = groupOneLevelMap.get(oneMapKey).getGroupId();
this.handleTwoLevelGroup(parentId, nowDate, regionMap, groupTwoLevelMap, labelMap, twoMapKey, completionVO);
}
if (groupThreeLevelMap.get(threeMapKey) == null) {
parentId = groupTwoLevelMap.get(twoMapKey).getGroupId();
this.handleThreeLevelGroup(parentId, nowDate, regionMap, groupThreeLevelMap, labelMap, threeMapKey, completionVO);
}
if(groupFourLevelMap.get(fourMapKey) == null){
parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
this.handleFourLevelGroup(parentId, nowDate, regionMap, groupFourLevelMap, labelMap, fourMapKey, completionVO);
}
if(groupFiveLevelMap.get(fiveMapKey) == null){
parentId = groupFourLevelMap.get(fourMapKey).getGroupId();
this.handleFiveLevelGroup(parentId, nowDate, regionMap, groupFiveLevelMap, labelMap, fiveMapKey, completionVO);
}
if(groupSixLevelMap.get(sixMapKey) == null){
parentId = groupFiveLevelMap.get(fiveMapKey).getGroupId();
this.handleSixLevelGroup(parentId, nowDate, regionMap, groupSixLevelMap, labelMap, sixMapKey, completionVO);
}
}
else if (HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel().equals(completionVO.getGroupLevel())) {
oneMapKey = completionVO.getLeveloneGroup();
twoMapKey = completionVO.getLevelTwoGroup();
threeMapKey = completionVO.getLevelThreeGroup();
fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
fiveMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();
sixMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
+ "-" + completionVO.getLevelSixGroup();
sevenMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
+ "-" + completionVO.getLevelSixGroup() + "-" + completionVO.getLevelSevenGroup();
if (groupOneLevelMap.get(oneMapKey) == null) {
this.handleoneLevelGroup(nowDate, regionMap, groupOneLevelMap, labelMap, oneMapKey, completionVO);
}
if(groupTwoLevelMap.get(twoMapKey) == null){
parentId = groupOneLevelMap.get(oneMapKey).getGroupId();
this.handleTwoLevelGroup(parentId, nowDate, regionMap, groupTwoLevelMap, labelMap, twoMapKey, completionVO);
}
if (groupThreeLevelMap.get(threeMapKey) == null) {
parentId = groupTwoLevelMap.get(twoMapKey).getGroupId();
this.handleThreeLevelGroup(parentId, nowDate, regionMap, groupThreeLevelMap, labelMap, threeMapKey, completionVO);
}
if(groupFourLevelMap.get(fourMapKey) == null){
parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
this.handleFourLevelGroup(parentId, nowDate, regionMap, groupFourLevelMap, labelMap, fourMapKey, completionVO);
}
if(groupFiveLevelMap.get(fiveMapKey) == null){
parentId = groupFourLevelMap.get(fourMapKey).getGroupId();
this.handleFiveLevelGroup(parentId, nowDate, regionMap, groupFiveLevelMap, labelMap, fiveMapKey, completionVO);
}
if(groupSixLevelMap.get(sixMapKey) == null){
parentId = groupFiveLevelMap.get(fiveMapKey).getGroupId();
this.handleSixLevelGroup(parentId, nowDate, regionMap, groupSixLevelMap, labelMap, sixMapKey, completionVO);
}
if(groupSevenLevelMap.get(sevenMapKey) == null){
parentId = groupSixLevelMap.get(sixMapKey).getGroupId();
this.handleSevenLevelGroup(parentId, nowDate, regionMap, groupSevenLevelMap, labelMap, sevenMapKey, completionVO);
}
}
else if (HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel().equals(completionVO.getGroupLevel())) {
oneMapKey = completionVO.getLeveloneGroup();
twoMapKey = completionVO.getLevelTwoGroup();
threeMapKey = completionVO.getLevelThreeGroup();
fourMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup();
fiveMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup();
sixMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
+ "-" + completionVO.getLevelSixGroup();
sevenMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
+ "-" + completionVO.getLevelSixGroup() + "-" + completionVO.getLevelSevenGroup();
eightMapKey = completionVO.getLevelThreeGroup() + "-" + completionVO.getLevelFourGroup() + "-" + completionVO.getLevelFiveGroup()
+ "-" + completionVO.getLevelSixGroup() + "-" + completionVO.getLevelSevenGroup() + "-" + completionVO.getLevelEightGroup();
if (groupOneLevelMap.get(oneMapKey) == null) {
this.handleoneLevelGroup(nowDate, regionMap, groupOneLevelMap, labelMap, oneMapKey, completionVO);
}
if(groupTwoLevelMap.get(twoMapKey) == null){
parentId = groupOneLevelMap.get(oneMapKey).getGroupId();
this.handleTwoLevelGroup(parentId, nowDate, regionMap, groupTwoLevelMap, labelMap, twoMapKey, completionVO);
}
if (groupThreeLevelMap.get(threeMapKey) == null) {
parentId = groupTwoLevelMap.get(twoMapKey).getGroupId();
this.handleThreeLevelGroup(parentId, nowDate, regionMap, groupThreeLevelMap, labelMap, threeMapKey, completionVO);
}
if(groupFourLevelMap.get(fourMapKey) == null){
parentId = groupThreeLevelMap.get(threeMapKey).getGroupId();
this.handleFourLevelGroup(parentId, nowDate, regionMap, groupFourLevelMap, labelMap, fourMapKey, completionVO);
}
if(groupFiveLevelMap.get(fiveMapKey) == null){
parentId = groupFourLevelMap.get(fourMapKey).getGroupId();
this.handleFiveLevelGroup(parentId, nowDate, regionMap, groupFiveLevelMap, labelMap, fiveMapKey, completionVO);
}
if(groupSixLevelMap.get(sixMapKey) == null){
parentId = groupFiveLevelMap.get(fiveMapKey).getGroupId();
this.handleSixLevelGroup(parentId, nowDate, regionMap, groupSixLevelMap, labelMap, sixMapKey, completionVO);
}
if(groupSevenLevelMap.get(sevenMapKey) == null){
parentId = groupSixLevelMap.get(sixMapKey).getGroupId();
this.handleSevenLevelGroup(parentId, nowDate, regionMap, groupSevenLevelMap, labelMap, sevenMapKey, completionVO);
}
if(groupEightLevelMap.get(eightMapKey) == null){
parentId = groupSevenLevelMap.get(sevenMapKey).getGroupId();
this.handleEightLevelGroup(parentId, nowDate, regionMap, groupEightLevelMap, labelMap, eightMapKey, completionVO);
}
}
} catch (Exception e) {
log.info("组织"+JsonUtil.toJSonString(completionVO)+"导入失败",e);
log.info("组织{}导入失败", JsonUtil.toJSonString(completionVO));
notimportRecord = new HsgdbaseGroupNotimportRecord();
BeanUtils.copyProperties(completionVO,notimportRecord);
errorRecordList.add(notimportRecord);
}
}
if(CollectionUtils.isNotEmpty(errorRecordList)){
iHsgdbaseGroupNotimportRecordService.saveBatch(errorRecordList);
}
}
}
}
}
@Override
public void insert(HsgdbaseGroupimportRecord record) {
hsgdbaseGroupimportRecordMapper.insert(record);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void batchInsertAll(List recordList) {
hsgdbaseGroupimportRecordMapper.insertAll(recordList);
}
private void getPageAllRegionToRegionMap(Map regionMap, List importCompletionList) {
if (CollectionUtils.isNotEmpty(importCompletionList)) {
List regionInfoList = new ArrayList<>();
for (HsgdbaseGroupimportCompletion completiondata: importCompletionList) {
if(StringUtils.isNotBlank(completionData.getGroupRegion())){
List regionList = Arrays.asList(completionData.getGroupRegion().split(","));
for ( String regionCode : regionList){
if(regionMap.get(regionCode) == null){
regionInfoList.add(regionCode);
}
}
}
}
if(CollectionUtils.isNotEmpty(regionInfoList)){
List regions = crmRegionMapper.selectCrmRegionsByCodes(regionInfoList);
for ( CrmRegion crmRegion : regions){
regionMap.put(crmRegion.getRegionCode(),crmRegion);
}
}
}
}
@Override
public HsgdbaseGroupSimpleVO getGroupSimpleByGroupNameAndParentIdAndLevel(String levelGroupName, Long groupId, Integer groupLevel) {
return hsgdbaseGroupMapper.getGroupSimpleByGroupNameAndParentIdAndLevel(levelGroupName,groupId, groupLevel);
}
private HsgdbaseGroupSimpleVO generatorGroupLevel(HsgdbaseGroupimportCompletion completionVO, Date nowDate,
Map labelMap, Map regionMap, Long parentId) {
HsgdbaseGroupSimpleVO resultVo = new HsgdbaseGroupSimpleVO();
Long parentIdTop = 0L;
Integer recordStatus = 1;
Integer level = completionVO.getGroupLevel();
// 表HSGD_base_GROUP
HsgdbaseGroup hsgdbaseGroup = new HsgdbaseGroup();
hsgdbaseGroup.setGroupName(this.getGroupNameByLevel(completionVO));
if(HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(level)){
hsgdbaseGroup.setParentId(parentIdTop);
}else {
hsgdbaseGroup.setParentId(parentId);
}
hsgdbaseGroup.setStatus(recordStatus);
hsgdbaseGroup.setCreated(nowDate);
hsgdbaseGroup.setCreatedBy(SYSTEM_USER_NAME);
hsgdbaseGroup.setUpdated(nowDate);
hsgdbaseGroup.setUpdatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupMapper.insert(hsgdbaseGroup);
long groupId = hsgdbaseGroup.getId();
resultVo.setGroupId(groupId);
resultVo.setGroupName(hsgdbaseGroup.getGroupName());
resultVo.setParentId(hsgdbaseGroup.getParentId());
resultVo.setGroupLevel(level);
// 表HSGD_base_GROUP_INFO
HsgdbaseGroupInfo hsgdbaseGroupInfo = new HsgdbaseGroupInfo();
hsgdbaseGroupInfo.setGroupId(groupId);
hsgdbaseGroupInfo.setStatus(recordStatus);
hsgdbaseGroupInfo.setGroupLevel(completionVO.getGroupLevel());
hsgdbaseGroupInfo.setGroupLevelInfo(getGroupLevelInfoByLevel(completionVO));
hsgdbaseGroupInfo.setRegionFlag(0);
if(StringUtils.isNotBlank(completionVO.getGroupRegion())){
hsgdbaseGroupInfo.setRegionFlag(1);
}
hsgdbaseGroupInfo.setCustomerNumber(0);
hsgdbaseGroupInfo.setEmployeeNumber(0);
hsgdbaseGroupInfo.setCreated(nowDate);
hsgdbaseGroupInfo.setCreatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupInfo.setUpdated(nowDate);
hsgdbaseGroupInfo.setUpdatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupInfoMapper.insert(hsgdbaseGroupInfo);
// 表 HSGD_base_GROUP_LABEL
if(StringUtils.isNotBlank(completionVO.getGroupLabel())){
HsgdbaseGroupLabel hsgdbaseGroupLabel = new HsgdbaseGroupLabel();
hsgdbaseGroupLabel.setGroupId(groupId);
hsgdbaseGroupLabel.setLabelId(labelMap.get(completionVO.getGroupLabel()));
hsgdbaseGroupLabel.setCreated(nowDate);
hsgdbaseGroupLabel.setCreatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupLabel.setUpdated(nowDate);
hsgdbaseGroupLabel.setUpdatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupLabelMapper.insert(hsgdbaseGroupLabel);
}
if(StringUtils.isNotBlank(completionVO.getGroupRegion())){
List regionCodeList = Arrays.asList(completionVO.getGroupRegion().split(","));
List regionList = new ArrayList<>();
HsgdbaseGroupRegion region = null;
for (String regionCode : regionCodeList ){
region = new HsgdbaseGroupRegion();
region.setGroupId(groupId);
region.setGroupName(hsgdbaseGroup.getGroupName());
region.setStatus(recordStatus);
CrmRegion crmRegion = regionMap.get(regionCode);
if(crmRegion !=null){
region.setProvinceCode(crmRegion.getProvinceCode());
region.setCityCode(crmRegion.getCityCode());
region.setCountyCode(crmRegion.getCountyCode());
}
region.setRegionCode(regionCode);
region.setStatus(recordStatus);
region.setCreated(nowDate);
region.setCreatedBy(SYSTEM_USER_NAME);
region.setUpdated(nowDate);
region.setUpdatedBy(SYSTEM_USER_NAME);
regionList.add(region);
}
hsgdbaseGroupRegionMapper.batchInsert(regionList);
}
return resultVo;
}
@Override
public HsgdbaseGroupSimpleVO getGroupSimpleByGroupNameAndLevel(String levelGroupName, Integer groupLevel) {
return hsgdbaseGroupMapper.selectByGroupNameAndLevel(levelGroupName, groupLevel);
}
@Override
public HsgdbaseGroupSimpleVO getGroupSimpleByGroupNameAndLevelAndParentId(String levelGroupName, Integer groupLevel,Long parentId) {
return hsgdbaseGroupMapper.selectByGroupNameAndLevelAndParentId(levelGroupName, groupLevel,parentId);
}
public Map getGroupLabelMap(){
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("ID");
List labelList = hsgdbaseGroupLabelDictMapper.selectList(queryWrapper);
Map labelMap = labelList.stream().collect(Collectors.toMap(HsgdbaseGroupLabelDict::getLabelName,HsgdbaseGroupLabelDict::getId,(key1,key2)-> key2));
return labelMap;
}
private HsgdbaseGroupSimpleVO generatorGroupLevelNew(HsgdbaseGroupimportCompletion completionVO, Date nowDate,
Map labelMap, Map regionMap, Long parentId,Integer groupLevel) {
HsgdbaseGroupSimpleVO resultVo = new HsgdbaseGroupSimpleVO();
Integer recordStatus = 1;
Integer createSource = 1;
Long userId = -1L;
// 表HSGD_base_GROUP
HsgdbaseGroup hsgdbaseGroup = new HsgdbaseGroup();
hsgdbaseGroup.setGroupName(this.getGroupNameByLevelNew(completionVO, groupLevel));
hsgdbaseGroup.setParentId(parentId);
hsgdbaseGroup.setStatus(recordStatus);
hsgdbaseGroup.setCreated(nowDate);
hsgdbaseGroup.setCreatedBy(SYSTEM_USER_NAME);
hsgdbaseGroup.setCreatedById(userId);
hsgdbaseGroup.setCreatedSource(createSource);
hsgdbaseGroup.setUpdated(nowDate);
hsgdbaseGroup.setUpdatedBy(SYSTEM_USER_NAME);
hsgdbaseGroup.setUpdatedById(userId);
hsgdbaseGroup.setUpdatedSource(createSource);
hsgdbaseGroupMapper.insert(hsgdbaseGroup);
long groupId = hsgdbaseGroup.getId();
resultVo.setGroupId(groupId);
resultVo.setGroupName(hsgdbaseGroup.getGroupName());
resultVo.setParentId(hsgdbaseGroup.getParentId());
resultVo.setGroupLevel(groupLevel);
// 表HSGD_base_GROUP_INFO
HsgdbaseGroupInfo hsgdbaseGroupInfo = new HsgdbaseGroupInfo();
hsgdbaseGroupInfo.setGroupId(groupId);
hsgdbaseGroupInfo.setGroupLevelInfo(getGroupLevelInfoByLevelNew(completionVO,groupLevel));
hsgdbaseGroupInfo.setRegionFlag(0);
if(completionVO.getGroupLevel().equals(groupLevel)) {
if (StringUtils.isNotBlank(completionVO.getGroupRegion())) {
hsgdbaseGroupInfo.setRegionFlag(1);
}
}
hsgdbaseGroupInfo.setStatus(recordStatus);
hsgdbaseGroupInfo.setCustomerNumber(0);
hsgdbaseGroupInfo.setEmployeeNumber(0);
hsgdbaseGroupInfo.setCreated(nowDate);
hsgdbaseGroupInfo.setCreatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupInfo.setCreatedById(userId);
hsgdbaseGroupInfo.setUpdated(nowDate);
hsgdbaseGroupInfo.setUpdatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupInfo.setUpdatedById(userId);
hsgdbaseGroupInfo.setGroupLevel(groupLevel);
hsgdbaseGroupInfoMapper.insert(hsgdbaseGroupInfo);
if(completionVO.getGroupLevel().equals(groupLevel)){
// 表 HSGD_base_GROUP_LABEL
if(StringUtils.isNotBlank(completionVO.getGroupLabel())){
HsgdbaseGroupLabel hsgdbaseGroupLabel = new HsgdbaseGroupLabel();
hsgdbaseGroupLabel.setGroupId(groupId);
hsgdbaseGroupLabel.setLabelId(labelMap.get(completionVO.getGroupLabel()));
hsgdbaseGroupLabel.setCreated(nowDate);
hsgdbaseGroupLabel.setCreatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupLabel.setCreatedById(userId);
hsgdbaseGroupLabel.setUpdated(nowDate);
hsgdbaseGroupLabel.setUpdatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupLabel.setUpdatedById(userId);
hsgdbaseGroupLabelMapper.insert(hsgdbaseGroupLabel);
}
if (StringUtils.isNotBlank(completionVO.getGroupRegion())) {
List regionCodeList = Arrays.asList(completionVO.getGroupRegion().split(","));
List regionList = new ArrayList<>();
HsgdbaseGroupRegion region;
for (String regionCode : regionCodeList) {
region = new HsgdbaseGroupRegion();
region.setGroupName(hsgdbaseGroup.getGroupName());
region.setGroupId(groupId);
region.setRegionCode(regionCode);
CrmRegion crmRegion = regionMap.get(regionCode);
if (crmRegion != null) {
region.setProvinceCode(crmRegion.getProvinceCode());
region.setCityCode(crmRegion.getCityCode());
region.setCountyCode(crmRegion.getCountyCode());
}
region.setStatus(recordStatus);
region.setCreated(nowDate);
region.setCreatedBy(SYSTEM_USER_NAME);
region.setCreatedById(userId);
region.setUpdated(nowDate);
region.setUpdatedBy(SYSTEM_USER_NAME);
region.setUpdatedById(userId);
regionList.add(region);
}
hsgdbaseGroupRegionMapper.batchInsert(regionList);
}
}
return resultVo;
}
public String getGroupNameByLevel(HsgdbaseGroupimportCompletion completionVO) {
Integer level = completionVO.getGroupLevel();
String groupName = "";
if (HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(level)) {
groupName = completionVO.getLeveloneGroup();
} else if (HsgdbaseGroupLevelEnum.TWO.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelTwoGroup();
} else if (HsgdbaseGroupLevelEnum.THREE.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelThreeGroup();
} else if (HsgdbaseGroupLevelEnum.FOUR.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelFourGroup();
} else if (HsgdbaseGroupLevelEnum.FIVE.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelFiveGroup();
} else if (HsgdbaseGroupLevelEnum.SIX.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelSixGroup();
} else if (HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelSevenGroup();
} else if (HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelEightGroup();
}
return groupName;
}
public String getGroupNameByLevelNew(HsgdbaseGroupimportCompletion completionVO,Integer groupLevel) {
Integer level = groupLevel;
String groupName = "";
if (HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(level)) {
groupName = completionVO.getLeveloneGroup();
} else if (HsgdbaseGroupLevelEnum.TWO.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelTwoGroup();
} else if (HsgdbaseGroupLevelEnum.THREE.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelThreeGroup();
} else if (HsgdbaseGroupLevelEnum.FOUR.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelFourGroup();
} else if (HsgdbaseGroupLevelEnum.FIVE.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelFiveGroup();
} else if (HsgdbaseGroupLevelEnum.SIX.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelSixGroup();
} else if (HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelSevenGroup();
} else if (HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel().equals(level)) {
groupName = completionVO.getLevelEightGroup();
}
return groupName;
}
public String getGroupLevelInfoByLevel(HsgdbaseGroupimportCompletion completionVO) {
Integer level = completionVO.getGroupLevel();
String groupLevelInfoname = "";
if (HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup();
} else if (HsgdbaseGroupLevelEnum.TWO.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup();
} else if (HsgdbaseGroupLevelEnum.THREE.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup();
} else if (HsgdbaseGroupLevelEnum.FOUR.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup();
} else if (HsgdbaseGroupLevelEnum.FIVE.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup()
+ "->" + completionVO.getLevelFiveGroup();
} else if (HsgdbaseGroupLevelEnum.SIX.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup()
+ "->" + completionVO.getLevelFiveGroup() + "->" + completionVO.getLevelSixGroup();
} else if (HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup()
+ "->" + completionVO.getLevelFiveGroup() + "->" + completionVO.getLevelSixGroup() + "->" + completionVO.getLevelSevenGroup();
} else if (HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup()
+ "->" + completionVO.getLevelFiveGroup() + "->" + completionVO.getLevelSixGroup() + "->" + completionVO.getLevelSevenGroup() + "->" + completionVO.getLevelEightGroup();
}
return groupLevelInfoName;
}
public String getGroupLevelInfoByLevelNew(HsgdbaseGroupimportCompletion completionVO,Integer groupLevel) {
Integer level = groupLevel;
String groupLevelInfoname = "";
if (HsgdbaseGroupLevelEnum.ONE.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup();
} else if (HsgdbaseGroupLevelEnum.TWO.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup();
} else if (HsgdbaseGroupLevelEnum.THREE.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup();
} else if (HsgdbaseGroupLevelEnum.FOUR.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup();
} else if (HsgdbaseGroupLevelEnum.FIVE.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup()
+ "->" + completionVO.getLevelFiveGroup();
} else if (HsgdbaseGroupLevelEnum.SIX.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup()
+ "->" + completionVO.getLevelFiveGroup() + "->" + completionVO.getLevelSixGroup();
} else if (HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup()
+ "->" + completionVO.getLevelFiveGroup() + "->" + completionVO.getLevelSixGroup() + "->" + completionVO.getLevelSevenGroup();
} else if (HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel().equals(level)) {
groupLevelInfoname = completionVO.getLeveloneGroup() + "->" + completionVO.getLevelTwoGroup() + "->" + completionVO.getLevelThreeGroup() + "->" + completionVO.getLevelFourGroup()
+ "->" + completionVO.getLevelFiveGroup() + "->" + completionVO.getLevelSixGroup() + "->" + completionVO.getLevelSevenGroup() + "->" + completionVO.getLevelEightGroup();
}
return groupLevelInfoName;
}
private void handleoneLevelGroup(Date nowDate, Map regionMap, Map groupOneLevelMap, Map labelMap,
String oneMapKey, HsgdbaseGroupimportCompletion completionVO) {
HsgdbaseGroupSimpleVO simpleoneVO = this.getGroupSimpleByGroupNameAndLevel(completionVO.getLeveloneGroup(), HsgdbaseGroupLevelEnum.ONE.getGroupLevel());
if (simpleoneVO != null) {
this.updateGroupLabelAndRegion(simpleOneVO,completionVO,labelMap,regionMap,nowDate,HsgdbaseGroupLevelEnum.ONE.getGroupLevel());
groupOneLevelMap.put(oneMapKey, simpleOneVO);
} else {
simpleoneVO = this.generatorGroupLevelNew(completionVO, nowDate, labelMap, regionMap, null, HsgdbaseGroupLevelEnum.ONE.getGroupLevel());
groupOneLevelMap.put(oneMapKey, simpleOneVO);
}
}
// 生成二级组织
private void handleTwoLevelGroup(Long parentId, Date nowDate, Map regionMap, Map groupTwoLevelMap, Map labelMap,
String twoMapKey, HsgdbaseGroupimportCompletion completionVO) {
HsgdbaseGroupSimpleVO simpleTwoVO = this.getGroupSimpleByGroupNameAndLevel(completionVO.getLevelTwoGroup(), HsgdbaseGroupLevelEnum.TWO.getGroupLevel());
if (simpleTwoVO != null) {
this.updateGroupLabelAndRegion(simpleTwoVO,completionVO,labelMap,regionMap,nowDate,HsgdbaseGroupLevelEnum.TWO.getGroupLevel());
groupTwoLevelMap.put(twoMapKey, simpleTwoVO);
} else {
simpleTwoVO = this.generatorGroupLevelNew(completionVO, nowDate, labelMap, regionMap, parentId, HsgdbaseGroupLevelEnum.TWO.getGroupLevel());
groupTwoLevelMap.put(twoMapKey, simpleTwoVO);
}
}
// 生成三级组织
private void handleThreeLevelGroup(Long parentId, Date nowDate, Map regionMap, Map groupThreeLevelMap, Map labelMap,
String threeMapKey, HsgdbaseGroupimportCompletion completionVO) {
HsgdbaseGroupSimpleVO simpleThreeVO = this.getGroupSimpleByGroupNameAndLevel(completionVO.getLevelThreeGroup(), HsgdbaseGroupLevelEnum.THREE.getGroupLevel());
if (simpleThreeVO != null) {
this.updateGroupLabelAndRegion(simpleThreeVO,completionVO,labelMap,regionMap,nowDate,HsgdbaseGroupLevelEnum.THREE.getGroupLevel());
groupThreeLevelMap.put(threeMapKey, simpleThreeVO);
} else {
simpleThreeVO = this.generatorGroupLevelNew(completionVO, nowDate, labelMap, regionMap, parentId, HsgdbaseGroupLevelEnum.THREE.getGroupLevel());
groupThreeLevelMap.put(threeMapKey, simpleThreeVO);
}
}
// 生成四级组织
private void handleFourLevelGroup(Long parentId, Date nowDate, Map regionMap, Map groupFourLevelMap, Map labelMap,
String fourMapKey, HsgdbaseGroupimportCompletion completionVO) {
HsgdbaseGroupSimpleVO simpleFourVO = this.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelFourGroup(), HsgdbaseGroupLevelEnum.FOUR.getGroupLevel(),parentId);
if (simpleFourVO != null) {
this.updateGroupLabelAndRegion(simpleFourVO,completionVO,labelMap,regionMap,nowDate,HsgdbaseGroupLevelEnum.FOUR.getGroupLevel());
groupFourLevelMap.put(fourMapKey, simpleFourVO);
} else {
simpleFourVO = this.generatorGroupLevelNew(completionVO, nowDate, labelMap, regionMap, parentId, HsgdbaseGroupLevelEnum.FOUR.getGroupLevel());
groupFourLevelMap.put(fourMapKey, simpleFourVO);
}
}
// 生成五级组织
private void handleFiveLevelGroup(Long parentId, Date nowDate, Map regionMap, Map groupFiveLevelMap, Map labelMap,
String fiveMapKey, HsgdbaseGroupimportCompletion completionVO) {
HsgdbaseGroupSimpleVO simpleFiveVO = this.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelFiveGroup(), HsgdbaseGroupLevelEnum.FIVE.getGroupLevel(),parentId);
if (simpleFiveVO != null) {
this.updateGroupLabelAndRegion(simpleFiveVO,completionVO,labelMap,regionMap,nowDate,HsgdbaseGroupLevelEnum.FIVE.getGroupLevel());
groupFiveLevelMap.put(fiveMapKey, simpleFiveVO);
} else {
simpleFiveVO = this.generatorGroupLevelNew(completionVO, nowDate, labelMap, regionMap, parentId, HsgdbaseGroupLevelEnum.FIVE.getGroupLevel());
groupFiveLevelMap.put(fiveMapKey, simpleFiveVO);
}
}
// 生成六级组织
private void handleSixLevelGroup(Long parentId, Date nowDate, Map regionMap, Map groupSixLevelMap, Map labelMap,
String sixMapKey, HsgdbaseGroupimportCompletion completionVO) {
HsgdbaseGroupSimpleVO simpleSixVO = this.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelSixGroup(), HsgdbaseGroupLevelEnum.SIX.getGroupLevel(), parentId);
if (simpleSixVO != null) {
this.updateGroupLabelAndRegion(simpleSixVO,completionVO,labelMap,regionMap,nowDate,HsgdbaseGroupLevelEnum.SIX.getGroupLevel());
groupSixLevelMap.put(sixMapKey, simpleSixVO);
} else {
simpleSixVO = this.generatorGroupLevelNew(completionVO, nowDate, labelMap, regionMap, parentId, HsgdbaseGroupLevelEnum.SIX.getGroupLevel());
groupSixLevelMap.put(sixMapKey, simpleSixVO);
}
}
// 生成七级组织
private void handleSevenLevelGroup(Long parentId, Date nowDate, Map regionMap, Map groupSevenLevelMap, Map labelMap,
String sevenMapKey, HsgdbaseGroupimportCompletion completionVO) {
HsgdbaseGroupSimpleVO simpleSevenVO = this.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelSevenGroup(), HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel(), parentId);
if (simpleSevenVO != null) {
this.updateGroupLabelAndRegion(simpleSevenVO,completionVO,labelMap,regionMap,nowDate,HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel());
groupSevenLevelMap.put(sevenMapKey, simpleSevenVO);
} else {
simpleSevenVO = this.generatorGroupLevelNew(completionVO, nowDate, labelMap, regionMap, parentId, HsgdbaseGroupLevelEnum.SEVEN.getGroupLevel());
groupSevenLevelMap.put(sevenMapKey, simpleSevenVO);
}
}
// 生成八级组织
private void handleEightLevelGroup(Long parentId, Date nowDate, Map regionMap, Map groupEightLevelMap, Map labelMap,
String eightMapKey, HsgdbaseGroupimportCompletion completionVO) {
HsgdbaseGroupSimpleVO simpleEightVO = this.getGroupSimpleByGroupNameAndLevelAndParentId(completionVO.getLevelEightGroup(), HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel(), parentId);
if (simpleEightVO != null) {
this.updateGroupLabelAndRegion(simpleEightVO,completionVO,labelMap,regionMap,nowDate,HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel());
groupEightLevelMap.put(eightMapKey, simpleEightVO);
} else {
simpleEightVO = this.generatorGroupLevelNew(completionVO, nowDate, labelMap, regionMap, parentId, HsgdbaseGroupLevelEnum.EIGHT.getGroupLevel());
groupEightLevelMap.put(eightMapKey, simpleEightVO);
}
}
private void updateGroupLabelAndRegion(HsgdbaseGroupSimpleVO simpleOneVO, HsgdbaseGroupimportCompletion completionVO,
Map labelMap, Map regionMap,Date nowDate,Integer groupLvel) {
// 表 HSGD_base_GROUP_LABEL
Long userId = -1L;
Integer recordStatus = 1;
Long groupId = simpleOneVO.getGroupId();
if(completionVO.getGroupLevel().equals(groupLvel)){
if(StringUtils.isNotBlank(completionVO.getGroupLabel())){
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("GROUP_ID",groupId);
Long labelCount = hsgdbaseGroupLabelMapper.selectCount(queryWrapper);
if (labelCount > 0) {
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("GROUP_ID",groupId);
HsgdbaseGroupLabel updateLabel = new HsgdbaseGroupLabel();
updateLabel.setLabelId(labelMap.get(completionVO.getGroupLabel()));
updateLabel.setUpdated(nowDate);
updateLabel.setUpdatedBy(SYSTEM_USER_NAME);
updateLabel.setUpdatedById(userId);
hsgdbaseGroupLabelMapper.update(updateLabel,updateWrapper);
} else {
HsgdbaseGroupLabel hsgdbaseGroupLabel = new HsgdbaseGroupLabel();
hsgdbaseGroupLabel.setGroupId(groupId);
hsgdbaseGroupLabel.setLabelId(labelMap.get(completionVO.getGroupLabel()));
hsgdbaseGroupLabel.setCreated(nowDate);
hsgdbaseGroupLabel.setCreatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupLabel.setCreatedById(userId);
hsgdbaseGroupLabel.setUpdated(nowDate);
hsgdbaseGroupLabel.setUpdatedBy(SYSTEM_USER_NAME);
hsgdbaseGroupLabel.setUpdatedById(userId);
hsgdbaseGroupLabelMapper.insert(hsgdbaseGroupLabel);
}
}
if (StringUtils.isNotBlank(completionVO.getGroupRegion())) {
List regionCodeList = Arrays.asList(completionVO.getGroupRegion().split(","));
List regionList = new ArrayList<>();
HsgdbaseGroupRegion region;
for (String regionCode : regionCodeList) {
region = new HsgdbaseGroupRegion();
region.setGroupName(simpleOneVO.getGroupName());
region.setGroupId(groupId);
region.setRegionCode(regionCode);
CrmRegion crmRegion = regionMap.get(regionCode);
if (crmRegion != null) {
region.setProvinceCode(crmRegion.getProvinceCode());
region.setCityCode(crmRegion.getCityCode());
region.setCountyCode(crmRegion.getCountyCode());
}
region.setStatus(recordStatus);
region.setCreated(nowDate);
region.setCreatedBy(SYSTEM_USER_NAME);
region.setCreatedById(userId);
region.setUpdated(nowDate);
region.setUpdatedBy(SYSTEM_USER_NAME);
region.setUpdatedById(userId);
regionList.add(region);
}
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("GROUP_ID",groupId);
queryWrapper.eq("STATUS",1);
Long existsRegionNum = hsgdbaseGroupRegionMapper.selectCount(queryWrapper);
if(existsRegionNum > 0){
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("GROUP_ID",groupId);
HsgdbaseGroupRegion updateRegion = new HsgdbaseGroupRegion();
updateRegion.setStatus(0);
updateRegion.setUpdated(nowDate);
updateRegion.setUpdatedBy(SYSTEM_USER_NAME);
updateRegion.setUpdatedById(userId);
hsgdbaseGroupRegionMapper.update(updateRegion,updateWrapper);
}
hsgdbaseGroupRegionMapper.batchInsert(regionList);
}
}
}
}
package com.zhgd.base.listener; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.zhgd.base.domain.model.ZhgdSrGroupimportModel; import com.zhgd.base.service.IZhgdSrbaseGroupimportHandleService; import com.zhgd.common.util.JsonUtil; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; import java.util.List; @Slf4j public class ZhgdSrbaseGroupimportExcelListener extends AnalysisEventListener{ private List dataList = new ArrayList<>(); private static final int BATCH_COUNT = 120; private IZhgdSrbaseGroupimportHandleService iZhgdSrbaseGroupimportHandleService; private String batchNo; public ZhgdSrbaseGroupimportExcelListener(IZhgdSrbaseGroupimportHandleService iZhgdSrbaseGroupimportHandleService,String batchNo) { this.iZhgdSrbaseGroupimportHandleService = iZhgdSrbaseGroupimportHandleService; this.batchNo = batchNo; } @Override public void invoke(ZhgdSrGroupimportModel model, AnalysisContext analysisContext) { log.debug("读取数据:{}", JsonUtil.toJSonString(model)); model.setBatchNo(batchNo); dataList.add(model); if(dataList.size() >= BATCH_COUNT){ iZhgdSrbaseGroupimportHandleService.saveSrbaseGroupimportDataList(dataList); dataList.clear(); } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { iZhgdSrbaseGroupimportHandleService.saveSrbaseGroupimportDataList(dataList); dataList.clear(); } }
package com.zhgd.base.service;
import com.zhgd.base.domain.model.ZhgdSrGroupimportModel;
import com.zhgd.base.entity.HsgdbaseGroupimportCompletion;
import java.util.List;
public interface IZhgdSrbaseGroupimportHandleService {
void saveSrbaseGroupimportDataList(List dataList);
void saveSrbaseGroupimportData(ZhgdSrGroupimportModel dataList);
void insertAllimportCompletion(List completionList);
}
package com.zhgd.base.service.impl;
import com.zhgd.base.domain.model.ZhgdSrGroupimportModel;
import com.zhgd.base.entity.HsgdbaseGroupimportCompletion;
import com.zhgd.base.entity.HsgdbaseGroupimportRecord;
import com.zhgd.base.mapper.HsgdbaseGroupimportCompletionMapper;
import com.zhgd.base.service.IZhgdSrbaseGroupimportHandleService;
import com.zhgd.base.service.IZhgdSrbaseGroupimportService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
@Slf4j
public class ZhgdSrbaseGroupimportHandleServiceImpl implements IZhgdSrbaseGroupimportHandleService {
@Resource
private IZhgdSrbaseGroupimportService iZhgdSrbaseGroupimportService;
@Resource
private HsgdbaseGroupimportCompletionMapper hsgdbaseGroupimportCompletionMapper;
@Override
public void saveSrbaseGroupimportDataList(List dataList) {
Date nowDate = new Date();
final String userName = "system";
if(CollectionUtils.isNotEmpty(dataList)){
List recordList = new ArrayList();
HsgdbaseGroupimportRecord record = null;
for (int i=0,len = dataList.size();i< len;i++){
ZhgdSrGroupimportModel importModel = dataList.get(i);
record = new HsgdbaseGroupimportRecord();
BeanUtils.copyProperties(importModel,record);
record.setCreated(nowDate);
record.setCreatedBy(userName);
record.setUpdated(nowDate);
record.setUpdatedBy(userName);
recordList.add(record);
};
iZhgdSrbaseGroupimportService.batchInsertAll(recordList);
}
}
@Override
public void saveSrbaseGroupimportData(ZhgdSrGroupimportModel data) {
Date nowDate = new Date();
final String userName = "system";
if(data != null){
HsgdbaseGroupimportRecord record = new HsgdbaseGroupimportRecord();
BeanUtils.copyProperties(data,record);
record.setCreated(nowDate);
record.setCreatedBy(userName);
record.setUpdated(nowDate);
record.setUpdatedBy(userName);
iZhgdSrbaseGroupimportService.insert(record);
}
}
@Transactional
@Override
public void insertAllimportCompletion(List completionList) {
hsgdbaseGroupimportCompletionMapper.insertAll(completionList);
}
}
导入之后
HSGD_base_GROUP_import_RECORD
HSGD_base_GROUP_import_COMPLETION


![[Java] easyExcel导入组织结构精选 [Java] easyExcel导入组织结构精选](http://www.mshxw.com/aiimages/31/336447.png)
