package cn.huge.module.byjudic.service; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.DateUtils; import cn.huge.base.common.utils.IdUtils; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.bycase.domain.dto.GZCaseDTO; import cn.huge.module.byjudic.dao.mapper.JudicAssistMapper; import cn.huge.module.byjudic.dao.mapper.JudicTaskMapper; import cn.huge.module.byjudic.domain.dto.GZJudicAssistDTO; import cn.huge.module.byjudic.domain.dto.GZJudicDTO; import cn.huge.module.byjudic.domain.dto.GZJudicInfoDTO; import cn.huge.module.byjudic.domain.po.JudicAssist; import cn.huge.module.byjudic.domain.po.JudicTask; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.byjudic.dao.mapper.JudicInfoMapper; import cn.huge.module.byjudic.domain.po.JudicInfo; import cn.huge.module.constant.BaseConsts; import cn.huge.module.mediate.constant.JudicBaseConstsEnum; import cn.huge.module.mediate.constant.TaskBaseConstsEnum; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Maps; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; 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 javax.annotation.PostConstruct; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** * @title: 司法确认信息表业务逻辑处理 * @Description 司法确认信息表业务逻辑处理 * @company hugeinfo * @author zhouxt * @Time 2024-12-30 10:58:12 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class JudicInfoService extends ServiceImpl{ @Autowired private JudicInfoMapper mapper; @Autowired private UtilsClientImpl utilsClient; @Autowired private JudicTaskMapper judicTaskMapper; @Autowired private JudicAssistMapper judicAssistMapper; /** * 更新对象 * @param entity 对象 */ public void updateJudicInfo(JudicInfo entity){ try{ mapper.updateJudicInfo(entity); }catch (Exception e){ log.error("[JudicInfoService.updateJudicInfo]调用失败,异常信息:"+e, e); throw new ServiceException("JudicInfoService.updateJudicInfo", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateJudicInfoTerms(JudicInfo entity, Map terms){ try{ mapper.updateJudicInfoTerms(entity, terms); }catch (Exception e){ log.error("[JudicInfoService.updateJudicInfoTerms]调用失败,异常信息:"+e, e); throw new ServiceException("JudicInfoService.updateJudicInfoTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteJudicInfo(String id){ try{ mapper.deleteJudicInfo(id); }catch (Exception e){ log.error("[JudicInfoService.deleteJudicInfo]调用失败,异常信息:"+e, e); throw new ServiceException("JudicInfoService.deleteJudicInfo", e); } } /** * 按条件查询 * @param terms 条件 * @return List */ public List listTerms(Map terms){ return mapper.listTerms(terms); } /** * 按条件统计 * @param terms 条件 * @return long */ public long countTerms(Map terms){ return mapper.countTerms(terms); } /** * 按条件分页查询 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageQuery(PageRequest page, Map terms){ long total = mapper.countTerms(terms); List content = mapper.pageTerms(page, terms); return new PageImpl(content, page, total); } /** * 新增或更新对象 * @param judicInfo 实体对象 */ public void saveJudicInfo(JudicInfo judicInfo){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(judicInfo.getId())){ judicInfo.setId(utilsClient.getNewTimeId()); judicInfo.setCreateTime(nowDate); } judicInfo.setUpdateTime(nowDate); this.saveOrUpdate(judicInfo); }catch (Exception e){ log.error("[JudicInfoService.saveJudicInfo]调用失败,异常信息:"+e, e); throw new ServiceException("JudicInfoService.saveJudicInfo", e); } } /** * 数据割接-已结束的纠纷案件信息 * @return */ public List byToGzJudic(int page, int size){ List gZJudicDTOList = new ArrayList<>(); Map terms = Maps.newHashMap(); Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); PageRequest pageRequest = PageRequest.of(page-1, size, sort); terms.put("deleteStatus","1"); List content = mapper.pageTerms(pageRequest, terms); if(ObjectUtils.isNotEmpty(content)){ for (JudicInfo judicInfo : content) { GZJudicDTO gzJudicDTO = new GZJudicDTO(); GZJudicInfoDTO gzJudicInfoDTO = new GZJudicInfoDTO(); BeanUtils.copyProperties(judicInfo, gzJudicInfoDTO); if(ObjectUtils.isNotEmpty(judicInfo.getJudicAudit()) && "22_00032-0".equals(judicInfo.getJudicAudit())){ gzJudicInfoDTO.setJudicAudit(JudicBaseConstsEnum.JUDIC_AUDIT_0.getIndex()); gzJudicInfoDTO.setJudicAuditName(JudicBaseConstsEnum.JUDIC_AUDIT_0.getDes()); gzJudicInfoDTO.setStatus(TaskBaseConstsEnum.TASK_STATUS_0.getIndex()); }else if(ObjectUtils.isNotEmpty(judicInfo.getJudicAudit()) && "22_00032-1".equals(judicInfo.getJudicAudit())){ gzJudicInfoDTO.setJudicAudit(JudicBaseConstsEnum.JUDIC_AUDIT_1.getIndex()); gzJudicInfoDTO.setJudicAuditName(JudicBaseConstsEnum.JUDIC_AUDIT_1.getDes()); gzJudicInfoDTO.setStatus(TaskBaseConstsEnum.TASK_STATUS_1.getIndex()); }else if(ObjectUtils.isNotEmpty(judicInfo.getJudicAudit()) && "22_00032-2".equals(judicInfo.getJudicAudit())){ gzJudicInfoDTO.setJudicAudit(JudicBaseConstsEnum.JUDIC_AUDIT_2.getIndex()); gzJudicInfoDTO.setJudicAuditName(JudicBaseConstsEnum.JUDIC_AUDIT_2.getDes()); gzJudicInfoDTO.setStatus(TaskBaseConstsEnum.TASK_STATUS_1.getIndex()); } List unFinishList = new ArrayList<>(); unFinishList.add(JudicBaseConstsEnum.JUDIC_PROCESS_1.getIndex()); unFinishList.add(JudicBaseConstsEnum.JUDIC_PROCESS_2.getIndex()); unFinishList.add(JudicBaseConstsEnum.JUDIC_PROCESS_3.getIndex()); List finishList = new ArrayList<>(); finishList.add(JudicBaseConstsEnum.JUDIC_PROCESS_4.getIndex()); finishList.add(JudicBaseConstsEnum.JUDIC_PROCESS_5.getIndex()); finishList.add(JudicBaseConstsEnum.JUDIC_PROCESS_6.getIndex()); if(unFinishList.contains(judicInfo.getProcess())){ gzJudicInfoDTO.setProcess(JudicBaseConstsEnum.JUDIC_PROCESS_3.getIndex()); gzJudicInfoDTO.setProcessName(JudicBaseConstsEnum.JUDIC_PROCESS_3.getDes()); }else if(finishList.contains(judicInfo.getProcess())){ gzJudicInfoDTO.setProcess(JudicBaseConstsEnum.JUDIC_PROCESS_4.getIndex()); gzJudicInfoDTO.setProcessName(JudicBaseConstsEnum.JUDIC_PROCESS_4.getDes()); } gzJudicInfoDTO.setDeleteStatus(BaseConsts.DELETE_STATUS_0+""); //查询任务 QueryWrapper judicTaskWrapper = new QueryWrapper<>(); judicTaskWrapper.eq("case_id",judicInfo.getCaseId()); judicTaskWrapper.eq("task_node","F22_00019-6"); judicTaskWrapper.eq("delete_status","1"); judicTaskWrapper.orderByDesc("create_time"); judicTaskWrapper.last("limit 1"); JudicTask judicTasks = judicTaskMapper.selectOne(judicTaskWrapper); if(ObjectUtils.isNotEmpty(judicTasks)){ gzJudicInfoDTO.setHandleUnitId(judicTasks.getHandlerUnitId()); gzJudicInfoDTO.setHandleUnitName(judicTasks.getHandlerUnitName()); gzJudicInfoDTO.setHandleDeptId(judicTasks.getHandlerDeptId()); gzJudicInfoDTO.setHandleDeptName(judicTasks.getHandlerDeptName()); gzJudicInfoDTO.setHandleUserId(judicTasks.getHandlerUserId()); gzJudicInfoDTO.setHandleUserName(judicTasks.getHandlerUserName()); gzJudicInfoDTO.setHandleContent(judicTasks.getHandleContent()); gzJudicInfoDTO.setHandleTime(judicTasks.getFinishTime()); if(ObjectUtils.isEmpty(gzJudicInfoDTO.getStatus())){ if("同意".equals(gzJudicInfoDTO.getHandleContent())){ gzJudicInfoDTO.setJudicAudit(JudicBaseConstsEnum.JUDIC_AUDIT_1.getIndex()); gzJudicInfoDTO.setJudicAuditName(JudicBaseConstsEnum.JUDIC_AUDIT_1.getDes()); gzJudicInfoDTO.setStatus(TaskBaseConstsEnum.TASK_STATUS_1.getIndex()); }else if("不同意".equals(gzJudicInfoDTO.getHandleContent())){ gzJudicInfoDTO.setJudicAudit(JudicBaseConstsEnum.JUDIC_AUDIT_2.getIndex()); gzJudicInfoDTO.setJudicAuditName(JudicBaseConstsEnum.JUDIC_AUDIT_2.getDes()); gzJudicInfoDTO.setStatus(TaskBaseConstsEnum.TASK_STATUS_1.getIndex()); } } } gzJudicDTO.setGzJudicInfoDTO(gzJudicInfoDTO); //司法确认参与人 QueryWrapper judicAssistWrapper = new QueryWrapper<>(); judicAssistWrapper.eq("judic_id", judicInfo.getId()); judicAssistWrapper.eq("delete_status","1"); List judicAssists = judicAssistMapper.selectList(judicAssistWrapper); if(ObjectUtils.isNotEmpty(judicAssists)){ List gzJudicAssistDTOList = new ArrayList<>(); for (JudicAssist judicAssist : judicAssists) { GZJudicAssistDTO gzJudicAssistDTO = new GZJudicAssistDTO(); BeanUtils.copyProperties(judicAssist, gzJudicAssistDTO); gzJudicAssistDTOList.add(gzJudicAssistDTO); } gzJudicDTO.setGzJudicAssistDTOList(gzJudicAssistDTOList); } gZJudicDTOList.add(gzJudicDTO); } } return gZJudicDTOList; } }