|
|
@ -29,19 +29,22 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; |
|
|
|
import com.elink.esua.epdc.commons.tools.utils.DateUtils; |
|
|
|
import com.elink.esua.epdc.commons.tools.utils.Result; |
|
|
|
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; |
|
|
|
import com.elink.esua.epdc.modules.smile.conflict.dao.ConflictMediateDao; |
|
|
|
import com.elink.esua.epdc.modules.smile.conflict.entity.ConflictMediateEntity; |
|
|
|
import com.elink.esua.epdc.modules.smile.conflict.service.ConflictMediateService; |
|
|
|
import com.elink.esua.epdc.modules.smile.feign.AdminFeignClient; |
|
|
|
import com.elink.esua.epdc.modules.smile.rocketmq.dto.OrganizationModifyDTO; |
|
|
|
import com.elink.esua.epdc.smile.dto.conflict.ConflictMediateDTO; |
|
|
|
import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateFormDTO; |
|
|
|
import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateHistoryFormDTO; |
|
|
|
import com.elink.esua.epdc.smile.dto.conflict.result.ConflictMediateDetailResultDTO; |
|
|
|
import com.elink.esua.epdc.smile.dto.conflict.result.ConflictMediateHistoryResultDTO; |
|
|
|
import com.elink.esua.epdc.modules.smile.conflict.dao.ConflictMediateDao; |
|
|
|
import com.elink.esua.epdc.modules.smile.conflict.entity.ConflictMediateEntity; |
|
|
|
import com.elink.esua.epdc.modules.smile.conflict.service.ConflictMediateService; |
|
|
|
import com.elink.esua.epdc.modules.smile.feign.AdminFeignClient; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
@ -143,6 +146,19 @@ public class ConflictMediateServiceImpl extends BaseServiceImpl<ConflictMediateD |
|
|
|
return resultDto; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void modifyOrganizationInfo(OrganizationModifyDTO dto) { |
|
|
|
// 查询需要修改组织机构信息话题
|
|
|
|
List<ConflictMediateDTO> conflictMediateDTOS = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString()); |
|
|
|
if (null != conflictMediateDTOS && conflictMediateDTOS.size() > 0) { |
|
|
|
// 组织机构信息处理
|
|
|
|
List<ConflictMediateEntity> entities = handleOrganizationInfo(dto, conflictMediateDTOS); |
|
|
|
// 更新事件组织机构信息
|
|
|
|
updateBatchById(entities); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 根据网格ID获取冗余的组织机构信息 |
|
|
|
* |
|
|
@ -160,4 +176,44 @@ public class ConflictMediateServiceImpl extends BaseServiceImpl<ConflictMediateD |
|
|
|
} |
|
|
|
return adminResult.getData(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 组织机构信息处理 |
|
|
|
* |
|
|
|
* @param dto, conflictList |
|
|
|
* @return java.util.List<com.elink.esua.epdc.modules.smile.conflict.entity.ConflictMediateEntity> |
|
|
|
* @author zhy |
|
|
|
* @date 2020/7/23 14:46 |
|
|
|
*/ |
|
|
|
private List<ConflictMediateEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<ConflictMediateDTO> conflictList) { |
|
|
|
List<ConflictMediateEntity> entities = new ArrayList<>(); |
|
|
|
for (ConflictMediateDTO conflictMediateDTO : conflictList) { |
|
|
|
ConflictMediateEntity entity = new ConflictMediateEntity(); |
|
|
|
if (StringUtils.isNotEmpty(conflictMediateDTO.getParentDeptIds()) && StringUtils.isNotEmpty(conflictMediateDTO.getParentDeptNames())) { |
|
|
|
List<String> parentDeptIds = Arrays.asList(conflictMediateDTO.getParentDeptIds().split(",")); |
|
|
|
List<String> parentDeptNames = Arrays.asList(conflictMediateDTO.getParentDeptNames().split("-")); |
|
|
|
int index = parentDeptIds.indexOf(dto.getDeptId().toString()); |
|
|
|
if (index >= 0 && parentDeptNames.size() > index) { |
|
|
|
parentDeptNames.set(index, dto.getNewDeptName()); |
|
|
|
entity.setId(conflictMediateDTO.getId()); |
|
|
|
entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(conflictMediateDTO.getAllDeptIds()) && StringUtils.isNotEmpty(conflictMediateDTO.getAllDeptNames())) { |
|
|
|
List<String> allDeptIds = Arrays.asList(conflictMediateDTO.getAllDeptIds().split(",")); |
|
|
|
List<String> allDeptNames = Arrays.asList(conflictMediateDTO.getAllDeptNames().split("-")); |
|
|
|
int index = allDeptIds.indexOf(dto.getDeptId().toString()); |
|
|
|
if (index >= 0 && allDeptNames.size() > index) { |
|
|
|
allDeptNames.set(index, dto.getNewDeptName()); |
|
|
|
entity.setId(conflictMediateDTO.getId()); |
|
|
|
entity.setAllDeptNames(StringUtils.join(allDeptNames, "-")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
entities.add(entity); |
|
|
|
} |
|
|
|
|
|
|
|
return entities; |
|
|
|
} |
|
|
|
} |