package cn.huge.module.casebook.service; import cn.huge.base.common.constant.ReturnConsts; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.*; import cn.huge.module.casebook.domain.dto.CaseBookPageDTO; import cn.huge.module.casebook.domain.po.*; import cn.huge.module.client.api.impl.CustClientImpl; import cn.huge.module.client.api.impl.SysClientImpl; import cn.huge.module.client.api.impl.UtilsClientImpl; import cn.huge.module.casebook.dao.mapper.CasebookInfoMapper; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.sys.dto.FileInfoBaseDTO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; 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.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.*; /** * @title: dyh_casebook_info业务逻辑处理 * @Description dyh_casebook_info业务逻辑处理 * @company hugeinfo * @author liyj * @Time 2024-10-26 12:31:22 * @version 1.0.0 */ @Slf4j @Service @Transactional(rollbackFor = Exception.class) public class CasebookInfoService extends ServiceImpl{ @Autowired private CasebookInfoMapper mapper; @Autowired private UtilsClientImpl utilsClient; @Autowired private CustClientImpl custClient; @Autowired private SysClientImpl sysClient; @Autowired private CasebookPersonService casebookPersonService; @Autowired private CasebookAgentService casebookAgentService; @Autowired private CasebookAssistInfoService casebookAssistInfoService; @Autowired private CasebookFileService casebookFileService; /** * 更新对象 * @param entity 对象 */ public void updateCasebookInfo(CasebookInfo entity){ try{ mapper.updateCasebookInfo(entity); }catch (Exception e){ log.error("[CasebookInfoService.updateCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.updateCasebookInfo", e); } } /** * 条件更新对象 * @param entity 对象 * @param terms 条件 */ public void updateCasebookInfoTerms(CasebookInfo entity, Map terms){ try{ mapper.updateCasebookInfoTerms(entity, terms); }catch (Exception e){ log.error("[CasebookInfoService.updateCasebookInfoTerms]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.updateCasebookInfoTerms", e); } } /** * 根据编号物理删除 * @param id 查询条件集合 */ public void deleteCasebookInfo(String id){ try{ mapper.deleteCasebookInfo(id); }catch (Exception e){ log.error("[CasebookInfoService.deleteCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.deleteCasebookInfo", 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 casebookInfo 实体对象 */ public void saveCasebookInfo(CasebookInfo casebookInfo){ try{ Date nowDate = DateUtils.getNowDate(); // 判断是否新增 if (IdUtils.checkNewId(casebookInfo.getId())){ casebookInfo.setId(utilsClient.getNewTimeId()); casebookInfo.setCreateTime(nowDate); } casebookInfo.setUpdateTime(nowDate); this.saveOrUpdate(casebookInfo); }catch (Exception e){ log.error("[CasebookInfoService.saveCasebookInfo]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.saveCasebookInfo", e); } } /** * 条件分页查询-导入草稿 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageImportDraft(PageRequest page, Map terms){ long total = mapper.countImportDraft(terms); List content = mapper.pageImportDraft(page, terms); return new PageImpl(content, page, total); } /** * 条件分页查询-导入成功 * @param page 分页对象 * @param terms 条件 * @return Page */ public Page pageImportSuc(PageRequest page, Map terms){ long total = mapper.countImportSuc(terms); List content = mapper.pageImportSuc(page, terms); return new PageImpl(content, page, total); } /** * 案件导入-导入操作-通过Excel导入 * @param fileId * @param userId * @param request * @return */ public Object inputCaseByExcel(String fileId, String userId, HttpServletRequest request){ int row = 0; int cll = 0; int countFalse = 1; int countSuccess = 3; int all = 0; try{ CtUserDTO loginUser = custClient.clientGetUser(userId); Date nowDate = DateUtils.getNowDate(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy/MM/dd"); SimpleDateFormat sdf5 = new SimpleDateFormat("yyyy.MM.dd"); SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy年"); //当重复导入判断是否继续 String adopt = request.getParameter("adopt"); FileInfoBaseDTO fileInfo = sysClient.getFileInfoById(fileId); //判断是否近期内是否有重复导入 if(StringUtils.isBlank(adopt) && ObjectUtils.isNotEmpty(fileInfo)){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStart = sdf.format(DateUtils.addDay(nowDate, -1)); Map caseBookFileTerms = new HashMap<>(); caseBookFileTerms.put("fileName", fileInfo.getTrueName()); caseBookFileTerms.put("fileSize", fileInfo.getSize()); caseBookFileTerms.put("userId", loginUser.getId()); caseBookFileTerms.put("createTimeStart", dateStart); List caseBookFileList = casebookFileService.listTerms(caseBookFileTerms); if(CollectionUtils.isNotEmpty(caseBookFileList)){ return ReturnFailUtils.getAesInfo(ReturnConsts.ERROR_5, "", null); } } if (countFalse != all) { CasebookFile casebookFile = new CasebookFile(); casebookFile.setFileName(fileInfo.getTrueName()); casebookFile.setFileSize(String.valueOf(fileInfo.getSize())); casebookFile.setUserId(loginUser.getId()); casebookFile.setUserName(loginUser.getTrueName()); casebookFile.setCreateTime(nowDate); casebookFile.setUpdateTime(nowDate); casebookFile.setId(utilsClient.getNewTimeId()); casebookFile.setCustId(loginUser.getCustId()); casebookFileService.save(casebookFile); } List reasonList = new ArrayList<>(); String reason = "(1)序号14:纠纷受理时间数据格式错误"; reasonList.add(reason); Map result = new HashMap<>(); result.put("countSuccess", countSuccess); result.put("countFalse", countFalse); result.put("countFalseContent", reasonList); return ReturnSucUtils.getRepInfo(result); }catch (Exception e){ log.error("[CasebookInfoService.inputCaseByExcel]调用失败,异常信息:"+e, e); return ReturnFailUtils.getAesInfo("您导入Excel的内容不正确"); } } /** * 案件导入-删除草稿 * @param idList * @return */ public void deleteDraft(List idList){ try{ QueryWrapper caseBookQueryWrapper = new QueryWrapper<>(); caseBookQueryWrapper.in("id", idList); this.remove(caseBookQueryWrapper); QueryWrapper casebookAgentQueryWrapper = new QueryWrapper<>(); casebookAgentQueryWrapper.in("case_id", idList); casebookAgentService.remove(casebookAgentQueryWrapper); QueryWrapper casebookPersonQueryWrapper = new QueryWrapper<>(); casebookPersonQueryWrapper.in("case_id", idList); casebookPersonService.remove(casebookPersonQueryWrapper); QueryWrapper casebookAssistInfoQueryWrapper = new QueryWrapper<>(); casebookAssistInfoQueryWrapper.in("case_id", idList); casebookAssistInfoService.remove(casebookAssistInfoQueryWrapper); }catch (Exception e){ log.error("[CasebookInfoService.deleteDraft]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.deleteDraft", e); } } /** * 案件导入-草稿转入正式案件 * @param idList * @return */ public void importToCase(List idList, String userId){ try{ }catch (Exception e){ log.error("[CasebookInfoService.importToCase]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.importToCase", e); } } /** * 案件导入-全部草稿转入正式案件 * @param terms 条件 * @return Page */ public void importToCaseAll(Map terms){ try{ List caseBookPageDTOList = mapper.listImportDraft(terms); for (CaseBookPageDTO caseBookPageDTO: caseBookPageDTOList){ } }catch (Exception e){ log.error("[CasebookInfoService.importToCase]调用失败,异常信息:"+e, e); throw new ServiceException("CasebookInfoService.importToCase", e); } } }