package cn.huge.module.ctuser.service;
|
|
import cn.huge.base.common.exception.ServiceException;
|
import cn.huge.base.common.utils.*;
|
import cn.huge.module.constant.BaseConsts;
|
import cn.huge.module.constant.ByBaseConsts;
|
import cn.huge.module.constant.ByUserConsts;
|
import cn.huge.module.ctuser.dao.mapper.CtUnitMapper;
|
import cn.huge.module.ctuser.domain.dto.GZCtUnitDTO;
|
import cn.huge.module.ctuser.domain.po.ByRegion;
|
import cn.huge.module.ctuser.domain.po.CtUnit;
|
import cn.huge.module.cust.constant.UserBaseConsts;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import javax.annotation.PostConstruct;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @title: 客户组织表业务逻辑处理
|
* @Description 客户组织表业务逻辑处理
|
* @company hugeinfo
|
* @author liyj
|
* @Time 2024-10-17 17:31:46
|
* @version 1.0.0
|
*/
|
@Slf4j
|
@Service
|
@Transactional(rollbackFor = Exception.class)
|
public class CtUnitService extends ServiceImpl<CtUnitMapper, CtUnit>{
|
|
@Autowired
|
private CtUnitMapper mapper;
|
|
@Autowired
|
private ByRegionService byRegionService;
|
|
/**
|
* 更新对象
|
* @param entity 对象
|
*/
|
public void updateCtUnit(CtUnit entity){
|
try{
|
mapper.updateCtUnit(entity);
|
}catch (Exception e){
|
log.error("[CtUnitService.updateCtUnit]调用失败,异常信息:"+e, e);
|
throw new ServiceException("CtUnitService.updateCtUnit", e);
|
}
|
}
|
|
/**
|
* 条件更新对象
|
* @param entity 对象
|
* @param terms 条件
|
*/
|
public void updateCtUnitTerms(CtUnit entity, Map<String, Object> terms){
|
try{
|
mapper.updateCtUnitTerms(entity, terms);
|
}catch (Exception e){
|
log.error("[CtUnitService.updateCtUnitTerms]调用失败,异常信息:"+e, e);
|
throw new ServiceException("CtUnitService.updateCtUnitTerms", e);
|
}
|
}
|
|
/**
|
* 根据编号物理删除
|
* @param id 查询条件集合
|
*/
|
public void deleteCtUnit(String id){
|
try{
|
mapper.deleteCtUnit(id);
|
}catch (Exception e){
|
log.error("[CtUnitService.deleteCtUnit]调用失败,异常信息:"+e, e);
|
throw new ServiceException("CtUnitService.deleteCtUnit", e);
|
}
|
}
|
|
/**
|
* 按条件查询
|
* @param terms 条件
|
* @return List
|
*/
|
public List<CtUnit> listTerms(Map<String, Object> terms){
|
return mapper.listTerms(terms);
|
}
|
|
/**
|
* 按条件统计
|
* @param terms 条件
|
* @return long
|
*/
|
public long countTerms(Map<String, Object> terms){
|
return mapper.countTerms(terms);
|
}
|
|
/**
|
* 按条件分页查询
|
* @param page 分页对象
|
* @param terms 条件
|
* @return Page
|
*/
|
public Page<CtUnit> pageQuery(PageRequest page, Map<String, Object> terms){
|
long total = mapper.countTerms(terms);
|
List<CtUnit> content = mapper.pageTerms(page, terms);
|
return new PageImpl<CtUnit>(content, page, total);
|
}
|
|
/**
|
* 数据割接-组织信息
|
* @return
|
*/
|
public List<GZCtUnitDTO> byToGzCtUnit(){
|
List<GZCtUnitDTO> gzCtUnitDTOList = new ArrayList<>();
|
List<CtUnit> ctUnitList = this.list();
|
for (CtUnit ctUnit: ctUnitList){
|
GZCtUnitDTO gzCtUnitDTO = new GZCtUnitDTO();
|
BeanUtils.copyProperties(ctUnit, gzCtUnitDTO);
|
// 映射层级
|
if (ByUserConsts.UNIT_TYPE_1.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setLevel(2);
|
}else if (ByUserConsts.UNIT_TYPE_2.equals(ctUnit.getUnitType())
|
|| ByUserConsts.UNIT_TYPE_3.equals(ctUnit.getUnitType())
|
|| ByUserConsts.UNIT_TYPE_7.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setLevel(3);
|
}else {
|
gzCtUnitDTO.setLevel(4);
|
}
|
gzCtUnitDTO.setParentId(ctUnit.getParentId());
|
// 映射级别
|
if (ByUserConsts.UNIT_TYPE_1.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitGrade(UserBaseConsts.UNIT_GRADE_2);
|
}else if (ByUserConsts.UNIT_TYPE_2.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitGrade(UserBaseConsts.UNIT_GRADE_2);
|
}else if (ByUserConsts.UNIT_TYPE_3.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitGrade(UserBaseConsts.UNIT_GRADE_3);
|
}else if (ByUserConsts.UNIT_TYPE_4.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitGrade(UserBaseConsts.UNIT_GRADE_4);
|
}else if (ByUserConsts.UNIT_TYPE_5.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitGrade(UserBaseConsts.UNIT_GRADE_2);
|
}else if (ByUserConsts.UNIT_TYPE_6.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitGrade(UserBaseConsts.UNIT_GRADE_2);
|
}else if (ByUserConsts.UNIT_TYPE_7.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitGrade(UserBaseConsts.UNIT_GRADE_3);
|
}else if (ByUserConsts.UNIT_TYPE_9.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitGrade(UserBaseConsts.UNIT_GRADE_2);
|
}
|
// 映射组织职能
|
if (ByUserConsts.UNIT_TYPE_1.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitFun(UserBaseConsts.UNIT_FUN_2);
|
}else {
|
gzCtUnitDTO.setUnitFun(UserBaseConsts.UNIT_FUN_1);
|
}
|
// 映射组织类型
|
if (ByUserConsts.UNIT_TYPE_1.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitType(UserBaseConsts.UNIT_TYPE_201);
|
}else if (ByUserConsts.UNIT_TYPE_2.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitType(UserBaseConsts.UNIT_TYPE_102);
|
}else if (ByUserConsts.UNIT_TYPE_3.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitType(UserBaseConsts.UNIT_TYPE_101);
|
}else if (ByUserConsts.UNIT_TYPE_4.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitType(UserBaseConsts.UNIT_TYPE_103);
|
}else if (ByUserConsts.UNIT_TYPE_5.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitType(UserBaseConsts.UNIT_TYPE_107);
|
}else if (ByUserConsts.UNIT_TYPE_6.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitType(UserBaseConsts.UNIT_TYPE_108);
|
}else if (ByUserConsts.UNIT_TYPE_7.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitType(UserBaseConsts.UNIT_TYPE_199);
|
}else if (ByUserConsts.UNIT_TYPE_9.equals(ctUnit.getUnitType())){
|
gzCtUnitDTO.setUnitType(UserBaseConsts.UNIT_TYPE_102);
|
}
|
// 映射是否是法院
|
if (ByUserConsts.COURT_STATUS_2.equals(ctUnit.getCourtStatus())) {
|
gzCtUnitDTO.setCourtStatus(UserBaseConsts.COURT_STATUS_1);
|
}else {
|
gzCtUnitDTO.setCourtStatus(UserBaseConsts.COURT_STATUS_0);
|
}
|
// 映射组织名称
|
gzCtUnitDTO.setUnitName(ctUnit.getName());
|
// 映射描述
|
gzCtUnitDTO.setUnitDes(ctUnit.getDes());
|
// 映射是否可以找他调
|
if (ByUserConsts.FIND_STATUS_2.equals(ctUnit.getFindStatus())) {
|
gzCtUnitDTO.setFindStatus(UserBaseConsts.FIND_STATUS_1);
|
}else {
|
gzCtUnitDTO.setFindStatus(UserBaseConsts.FIND_STATUS_0);
|
}
|
// 映射是否参与自动调度
|
if (ByUserConsts.DISP_STATUS_2.equals(ctUnit.getDispStatus())) {
|
gzCtUnitDTO.setDispStatus(UserBaseConsts.DISP_STATUS_1);
|
}else {
|
gzCtUnitDTO.setDispStatus(UserBaseConsts.DISP_STATUS_0);
|
}
|
// 映射删除状态
|
if (ByBaseConsts.DELETE_STATUS_1.equals(ctUnit.getDeleteStatus())) {
|
gzCtUnitDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0);
|
}else {
|
gzCtUnitDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_1);
|
}
|
// 清除调解专长、调解范围
|
gzCtUnitDTO.setGoodField(null);
|
gzCtUnitDTO.setGoodFieldName(null);
|
gzCtUnitDTO.setCanField(null);
|
gzCtUnitDTO.setCanFieldName(null);
|
|
// 修改地域编码
|
gzCtUnitDTO.setArea("440111");
|
// 镇街级
|
if (StringUtils.isNotEmpty(gzCtUnitDTO.getRoad())){
|
QueryWrapper<ByRegion> byRegionQueryWrapper = new QueryWrapper<>();
|
byRegionQueryWrapper.eq("region_id", gzCtUnitDTO.getRoad());
|
ByRegion byRegion = byRegionService.getOne(byRegionQueryWrapper);
|
if (ObjectUtils.isNotEmpty(byRegion)){
|
gzCtUnitDTO.setRoad(byRegion.getThirdCode());
|
}
|
}
|
// 村社级
|
if (UserBaseConsts.UNIT_GRADE_4 == gzCtUnitDTO.getUnitGrade()){
|
try{
|
QueryWrapper<ByRegion> byRegionQueryWrapper = new QueryWrapper<>();
|
String thirdName = gzCtUnitDTO.getUnitName().replace("居委会", "")
|
.replace("人民调解委员会", "");
|
byRegionQueryWrapper.like("third_name", thirdName);
|
ByRegion byRegion = byRegionService.getOne(byRegionQueryWrapper);
|
if (ObjectUtils.isNotEmpty(byRegion)){
|
gzCtUnitDTO.setVillage(byRegion.getThirdCode());
|
gzCtUnitDTO.setVillageName(byRegion.getThirdName());
|
}
|
}catch (Exception e){
|
log.error("报错村社:id-"+gzCtUnitDTO.getId()+",name-"+gzCtUnitDTO.getUnitName());
|
}
|
}
|
gzCtUnitDTOList.add(gzCtUnitDTO);
|
}
|
return gzCtUnitDTOList;
|
}
|
|
}
|