forked from gzzfw/backEnd/gz-dyh

zhouxiantao
2024-09-22 bfb5b0c14bec340af93779d6de1f9e6e8fe03c37
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseFeedbackService.java
@@ -4,14 +4,12 @@
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.cases.domain.po.CaseFeedbackHis;
import cn.huge.module.cases.domain.po.CaseInfoUnfold;
import cn.huge.module.cases.domain.po.CaseTask;
import cn.huge.module.cases.consts.CaseTaskConsts;
import cn.huge.module.cases.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.cases.dao.mapper.CaseFeedbackMapper;
import cn.huge.module.cases.domain.po.CaseFeedback;
import cn.huge.module.cust.dto.CtUserDTO;
import cn.huge.module.sys.dto.FileIdInfoBaseDTO;
import cn.huge.module.sys.dto.FileInfoBaseDTO;
@@ -69,6 +67,9 @@
    @Autowired
    private CaseTaskService caseTaskService;
    @Autowired
    private CaseAssistInfoService caseAssistInfoService;
    /**
    * 更新对象
@@ -162,24 +163,32 @@
    /**
     * 获取办理信息
     * @param caseTaskId
     * @param caseId
     * @param userId
     * @return
     */
    public Map<String, Object> getFeedbackInfo(String caseTaskId, String userId){
        // 临时给前端联调数据
    public Map<String, Object> getFeedbackInfo(String caseId, String caseTaskId, String userId){
        Map<String, Object> result = Maps.newHashMap();
        result.put("handleUnitName", "白云区教育局");
        result.put("handleUserName", "王一顺");
        result.put("assistUnitName", "白云区司法局");
        result.put("acceptTime", "2024-09-07 12:34");
//        CaseTask caseTask = caseTaskService.getById(caseTaskId);
//        if (ObjectUtils.isNotEmpty(caseTask)){
//            result.put("handleUnitName", caseTask.getCandeUnitName());
//            result.put("handleUserName", caseTask.getCandeUserName());
//            result.put("assistUnitName", caseTask.getCandeUnitName());
//            result.put("acceptTime", caseTask.getCreateTime());
//        }
        CaseInfoUnfold caseInfoUnfold = unfoldService.getById(caseId);
        CaseTask caseTask = caseTaskService.getById(caseTaskId);
        // 承办部门查询扩展表
        if (CaseTaskConsts.CASE_TASK_TYPE_1 == caseTask.getCaseTaskType()) {
            if (ObjectUtils.isNotEmpty(caseInfoUnfold)) {
                result.put("handleUserId", caseInfoUnfold.getMediatorId());
                result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
                result.put("handleUserName", caseInfoUnfold.getMediator());
                result.put("assistUnitName", caseInfoUnfold.getAssistUnitName());
                result.put("acceptTime", caseInfoUnfold.getAcceptTime());
            }
        }else {
            // 配合部门查询联合处置信息表
            CaseAssistInfo caseAssistInfo = caseAssistInfoService.getByCaseTaskId(caseTaskId);
            result.put("handleUnitName", caseInfoUnfold.getMediateUnitName());
            result.put("handleUserId", caseAssistInfo.getAssistUserId());
            result.put("handleUserName", caseAssistInfo.getAssistUserName());
            result.put("assistUnitName", caseAssistInfo.getAssistUnitName());
            result.put("acceptTime", caseAssistInfo.getAcceptTime());
        }
        return result;
    }
@@ -189,30 +198,36 @@
     * @return Page
     */
    public Map<String, Object> listFeedback(String id) {
        Map<String, Object> result = new HashMap<>();
        try {
            Map<String, Object> result = new HashMap<>();
            CaseInfoUnfold caseInfoUnfold = unfoldService.getById(id);
            if(ObjectUtils.isNotEmpty(caseInfoUnfold)){
                result.put("manager", caseInfoUnfold.getMediator());
            }
            QueryWrapper<CaseFeedback> caseFeedbackQueryWrapper = new QueryWrapper<>();
            caseFeedbackQueryWrapper.eq("case_id", id);
            List<CaseFeedback> caseFeedbackList = mapper.selectList(caseFeedbackQueryWrapper);
        CaseInfoUnfold caseInfoUnfold = unfoldService.getById(id);
        result.put("manager", caseInfoUnfold.getMediator());
        QueryWrapper<CaseFeedback> caseFeedbackQueryWrapper = new QueryWrapper<>();
        caseFeedbackQueryWrapper.eq("case_id", id);
        List<CaseFeedback> caseFeedbackList = mapper.selectList(caseFeedbackQueryWrapper);
            String ownerIds = caseFeedbackList.stream().map(CaseFeedback::getId).collect(Collectors.joining("','"));
            ownerIds = "'"+ ownerIds + "'";
            Map<String, Object> map = new HashMap<>();
            map.put("mainId", id);
            map.put("ownerIds", ownerIds);
            List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map);
        String ownerIds = caseFeedbackList.stream().map(CaseFeedback::getId).collect(Collectors.joining("','"));
        ownerIds = "'"+ ownerIds + "'";
        Map<String, Object> map = new HashMap<>();
        map.put("mainId", id);
        map.put("ownerIds", ownerIds);
        List<FileIdInfoBaseDTO> fileInfoList = sysClient.listIdInfoByOwnerIdList(map);
        for(CaseFeedback caseFeedback: caseFeedbackList){
            for(FileIdInfoBaseDTO fileInfo: fileInfoList){
                if(caseFeedback.getId().equals(fileInfo.getOwnerId())){
                    caseFeedback.setFileInfoList(fileInfo.getFileList());
            for(CaseFeedback caseFeedback: caseFeedbackList){
                for(FileIdInfoBaseDTO fileInfo: fileInfoList){
                    if(caseFeedback.getId().equals(fileInfo.getOwnerId())){
                        caseFeedback.setFileInfoList(fileInfo.getFileList());
                    }
                }
            }
            result.put("caseFeedbackList", caseFeedbackList);
            return result;
        }catch (Exception e){
            log.error("[caseFeedbackService.listFeedback]调用失败,异常信息:"+e, e);
            throw new ServiceException("caseFeedbackService.listFeedback", e);
        }
        result.put("caseFeedbackList", caseFeedbackList);
        return result;
    }
    /**
@@ -230,8 +245,14 @@
            Date nowDate = DateUtils.getNowDate();
            caseFeedback.setUpdateTime(nowDate);
            caseFeedback.setCreateTime(nowDate);
            //todo 承办、配合--查询task
            QueryWrapper<CaseInfoUnfold> caseInfoUnfoldQueryWrapper = new QueryWrapper<>();
            caseInfoUnfoldQueryWrapper.eq("id", caseFeedback.getCaseId());
            CaseInfoUnfold caseInfoUnfold = unfoldService.getOne(caseInfoUnfoldQueryWrapper);
            if(caseInfoUnfold.getMediateUnitId().equals(loginUser.getUnitId())){
                caseFeedback.setHandleType(1);
            }else{
                caseFeedback.setHandleType(2);
            }
            this.save(caseFeedback);
        }catch (Exception e){
            log.error("[caseFeedbackService.savecaseFeedback]调用失败,异常信息:"+e, e);
@@ -262,9 +283,8 @@
            caseFeedback.setHandleUserId(loginUser.getId());
            caseFeedback.setHandleUserName(loginUser.getTrueName());
            caseFeedback.setId(utilsClient.getNewTimeId());
            caseFeedback.setHandleType(caseFeedback1.getHandleType());
            caseFeedback.setUpdateTime(nowDate);
            //todo 承办、配合--查询task
            mapper.updateById(caseFeedback);
        }catch (Exception e){
            log.error("[caseFeedbackService.updateFeedback]调用失败,异常信息:"+e, e);