wl
2022-10-26 6b0c99943f1ae73a55f54a721473b7cc8ddd1c24
我的待办处置人查询 上传处置重构
5个文件已修改
244 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java
@@ -69,68 +69,7 @@
    public CommonResult searchDisposeList(@RequestParam Long caseId,
                                          @RequestParam Integer type,
                                          @RequestBody UploadDisposingResultParam uploadDisposingResultParam) {
        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        //当事人
        PartyInfo partyInfo = new PartyInfo();
        BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo);
        partyInfo.setCreateUser(user.getUserId().intValue());
        partyInfo.setCreateTime(LocalDateTime.now());
        iPartyInfoService.save(partyInfo);
        //调查取证
        Investigation investigation = new Investigation();
        BeanUtils.copyProperties(uploadDisposingResultParam, investigation);
        investigation.setBaseCaseId(caseId);
        investigation.setCreateTime(LocalDateTime.now());
        investigation.setCreateUser(user.getUserId());
        investigation.setPartyId(partyInfo.getId());
        iInvestigationService.save(investigation);
        //到达
        ArrivalSituation arrivalSituation = new ArrivalSituation();
        BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation);
        arrivalSituation.setBaseCaseId(caseId);
        arrivalSituation.setCreateTime(LocalDateTime.now());
        arrivalSituation.setCreateUser(user.getUserId());
        iArrivalSituationService.save(arrivalSituation);
        //文书
        Integer illegalBuildingType = 2;
        Integer violation = 1;
        String handType = "02";
        ImageResources imageResources = new ImageResources();
        imageResources.setType(handType);
        imageResources.setBelongToId(caseId);
        imageResources.setCreateTime(LocalDateTime.now());
        imageResources.setCreateUser(user.getUserId());
        if (type == violation) {
            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic()));
            iImageResourcesService.save(imageResources);
        }
        if (type==illegalBuildingType) {
            Writ writ = new Writ();
            BeanUtils.copyProperties(uploadDisposingResultParam, writ);
            writ.setBaseCaseId(caseId);
            writ.setIllegalBuildingId(caseId);
            writ.setCreateTime(LocalDateTime.now());
            writ.setCreateUser(user.getUserId());
            iWritService.save(writ);
            imageResources.setUrl(StringUtils
                    .joinWith(",", uploadDisposingResultParam.getPic()
                            , uploadDisposingResultParam.getSituationPic()
                            , uploadDisposingResultParam.getOriginalPic()
                            , uploadDisposingResultParam.getOtherPic()
                            , uploadDisposingResultParam.getRectifiedPic()
                            , uploadDisposingResultParam.getWritPic()));
            iImageResourcesService.save(imageResources);
        }
        baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, caseId).set(BaseCase::getState, BaseCaseStatus.DISPOSE));
        String stepName = StepName.CHECK.getName();
        DisposeRecord disposeRecord = new DisposeRecord();
        disposeRecord.setBaseCaseId(caseId);
        disposeRecord.setState(0);
        disposeRecord.setCreateTime(LocalDateTime.now());
        disposeRecord.setCreateUser(user.getUserId());
        disposeRecord.setStepName(stepName);
        disposeRecord.setStartTime(LocalDateTime.now());
        iDisposeRecordService.addRecord(disposeRecord);
        iDisposeRecordService.saveUpload(caseId,type,uploadDisposingResultParam);
        return CommonResult.success("add success");
    }
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java
@@ -1,6 +1,7 @@
package com.ycl.service.caseHandler;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.dto.dispatch.UploadDisposingResultParam;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.ycl.vo.MyBacklogVO;
@@ -18,5 +19,5 @@
    List<MyBacklogVO> listMyTask(String num, Long userId);
    Boolean addRecord(DisposeRecord disposeRecord);
    Boolean saveUpload(Long caseId, Integer type, UploadDisposingResultParam uploadDisposingResultParam);
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -1,30 +1,30 @@
package com.ycl.service.caseHandler.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.AdminUserDetails;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.StepName;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.ycl.entity.caseHandler.WorkflowConfigStep;
import com.ycl.entity.user.UmsAdminRoleRelation;
import com.ycl.dto.dispatch.UploadDisposingResultParam;
import com.ycl.entity.caseHandler.*;
import com.ycl.exception.ApiException;
import com.ycl.mapper.caseHandler.BaseCaseMapper;
import com.ycl.mapper.caseHandler.DisposeRecordMapper;
import com.ycl.mapper.caseHandler.WorkflowConfigStepMapper;
import com.ycl.mapper.user.UmsAdminRoleRelationMapper;
import com.ycl.service.caseHandler.IDisposeRecordService;
import com.ycl.service.caseHandler.*;
import com.ycl.vo.MyBacklogVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -45,21 +45,94 @@
    @Resource
    WorkflowConfigStepMapper workflowConfigStepMapper;
    @Resource
    UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
    @Autowired
    IInvestigationService iInvestigationService;
    @Autowired
    IArrivalSituationService iArrivalSituationService;
    @Autowired
    IPartyInfoService iPartyInfoService;
    @Autowired
    IWritService iWritService;
    @Autowired
    IBaseCaseService baseCaseService;
    @Autowired
    IDisposeRecordService iDisposeRecordService;
    @Autowired
    IImageResourcesService iImageResourcesService;
    @Override
    public List<MyBacklogVO> listMyTask(String num, Long userId) {
        return disposeRecordMapper.selectMyBackList(userId,num);
        return disposeRecordMapper.selectMyBackList(userId, num);
    }
    @Override
    public Boolean addRecord(DisposeRecord disposeRecord) {
    @Transactional(rollbackFor = Exception.class)
    public Boolean saveUpload(Long caseId, Integer type, UploadDisposingResultParam uploadDisposingResultParam) {
        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        //当事人
        PartyInfo partyInfo = new PartyInfo();
        BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo);
        partyInfo.setCreateUser(user.getUserId().intValue());
        partyInfo.setCreateTime(LocalDateTime.now());
        iPartyInfoService.save(partyInfo);
        //调查取证
        Investigation investigation = new Investigation();
        BeanUtils.copyProperties(uploadDisposingResultParam, investigation);
        investigation.setBaseCaseId(caseId);
        investigation.setCreateTime(LocalDateTime.now());
        investigation.setCreateUser(user.getUserId());
        investigation.setPartyId(partyInfo.getId());
        iInvestigationService.save(investigation);
        //到达
        ArrivalSituation arrivalSituation = new ArrivalSituation();
        BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation);
        arrivalSituation.setBaseCaseId(caseId);
        arrivalSituation.setCreateTime(LocalDateTime.now());
        arrivalSituation.setCreateUser(user.getUserId());
        iArrivalSituationService.save(arrivalSituation);
        //文书
        Integer illegalBuildingType = 2;
        Integer violation = 1;
        String handType = "02";
        ImageResources imageResources = new ImageResources();
        imageResources.setType(handType);
        imageResources.setBelongToId(caseId);
        imageResources.setCreateTime(LocalDateTime.now());
        imageResources.setCreateUser(user.getUserId());
        if (type == violation) {
            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic()));
            iImageResourcesService.save(imageResources);
        }
        if (type == illegalBuildingType) {
            Writ writ = new Writ();
            BeanUtils.copyProperties(uploadDisposingResultParam, writ);
            writ.setBaseCaseId(caseId);
            writ.setIllegalBuildingId(caseId);
            writ.setCreateTime(LocalDateTime.now());
            writ.setCreateUser(user.getUserId());
            iWritService.save(writ);
            imageResources.setUrl(StringUtils
                    .joinWith(",", uploadDisposingResultParam.getPic()
                            , uploadDisposingResultParam.getSituationPic()
                            , uploadDisposingResultParam.getOriginalPic()
                            , uploadDisposingResultParam.getOtherPic()
                            , uploadDisposingResultParam.getRectifiedPic()
                            , uploadDisposingResultParam.getWritPic()));
            iImageResourcesService.save(imageResources);
        }
        baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, caseId).set(BaseCase::getState, BaseCaseStatus.DISPOSE));
        String stepName = StepName.CHECK.getName();
        DisposeRecord disposeRecord = new DisposeRecord();
        disposeRecord.setBaseCaseId(caseId);
        disposeRecord.setState(0);
        disposeRecord.setCreateTime(LocalDateTime.now());
        disposeRecord.setCreateUser(user.getUserId());
        disposeRecord.setStepName(stepName);
        disposeRecord.setStartTime(LocalDateTime.now());
        //结束上传处置流程
        String stepName = StepName.DISPOSE.getName();
        QueryWrapper<WorkflowConfigStep> qureyDispatch = new QueryWrapper<>();
        qureyDispatch.eq("name", stepName);
        qureyDispatch.eq("name", StepName.DISPOSE.getName());
        WorkflowConfigStep dispatchStep = workflowConfigStepMapper.selectOne(qureyDispatch);
        UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
@@ -80,7 +153,6 @@
        //设置流程环节数据
        disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId());
        disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId());
        baseMapper.insert(disposeRecord);
        return true;
        return baseMapper.insert(disposeRecord) == 1 ? true : false;
    }
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
@@ -86,8 +86,8 @@
        stepNextRecord.setBaseCaseId(baseCase.getId());
        stepNextRecord.setWorkflowConfigStepId(stepNext.getId());
        stepNextRecord.setStepName(stepNext.getName());
        stepNextRecord.setHandlerRoleId(stepNext.getRoleId());
        stepNextRecord.setLimitTime(dispatchInfoParam.getDisposeDate());
        stepNextRecord.setHandlerId(dispatchInfoParam.getLawEnforcer());
        //上传处置未结束
        stepNextRecord.setState(0);
        stepNextRecord.setStartTime(LocalDateTime.now());
ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml
@@ -4,41 +4,63 @@
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.entity.caseHandler.DisposeRecord">
        <id column="id" property="id" />
        <result column="base_case_id" property="baseCaseId" />
        <result column="workflow_config_step_id" property="workflowConfigStepId" />
        <result column="step_name" property="stepName" />
        <result column="start_time" property="startTime" />
        <result column="handler_role_id" property="handlerRoleId" />
        <result column="end_time" property="endTime" />
        <result column="state" property="state" />
        <result column="handler_id" property="handlerId" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <id column="id" property="id"/>
        <result column="base_case_id" property="baseCaseId"/>
        <result column="workflow_config_step_id" property="workflowConfigStepId"/>
        <result column="step_name" property="stepName"/>
        <result column="start_time" property="startTime"/>
        <result column="handler_role_id" property="handlerRoleId"/>
        <result column="end_time" property="endTime"/>
        <result column="state" property="state"/>
        <result column="handler_id" property="handlerId"/>
        <result column="create_user" property="createUser"/>
        <result column="create_time" property="createTime"/>
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, base_case_id, step_name, start_time, handler_role_id, end_time, state, handler_id, create_user, create_time
        id
        , base_case_id, step_name, start_time, handler_role_id, end_time, state, handler_id, create_user, create_time
    </sql>
    <select id="selectMyBackList" resultType="com.ycl.vo.MyBacklogVO">
        SELECT
            t3.event_source,
            t3.category,
            t2.step_name,
            t3.`code`,
            t2.create_time
        t3.event_source,
        t3.category,
        t2.step_name,
        t3.`code`,
        t2.create_time,
        t2.limit_time
        FROM
            ums_admin_role_relation t1
                JOIN ums_dispose_record t2 ON t1.role_id = t2.handler_role_id
                JOIN ums_base_case t3 ON t2.base_case_id=t3.id
        ums_admin_role_relation t1
        JOIN ums_dispose_record t2 ON t1.role_id = t2.handler_role_id
        JOIN ums_base_case t3 ON t2.base_case_id=t3.id
        <where>
            t1.admin_id = #{id}
            AND ISNULL( t2.end_time )
        <if test="code!='' and code!=null">
            and t3.`code` LIKE CONCAT('%',#{code},'%')
        </if>
            <if test="code!='' and code!=null">
                and t3.`code` LIKE CONCAT('%',#{code},'%')
            </if>
        </where>
        union all
        SELECT
        t3.event_source,
        t3.category,
        t2.step_name,
        t3.`code`,
        t2.create_time,
        t2.limit_time
        FROM
        ums_dispose_record t2
        LEFT JOIN ums_base_case t3 ON t2.base_case_id = t3.id
        <where>
            t2.handler_id = #{id}
            AND ISNULL(
            t2.end_time
            )
            <if test="code!='' and code!=null">
                and t3.`code` LIKE CONCAT('%',#{code},'%')
            </if>
        </where>
    </select>
</mapper>