wl
2022-09-29 66eb1f32a2f3304f47ad21df6939156b297cfb7b
案件暂不处理
上传违建处置
上传违规处置
5个文件已修改
2个文件已添加
485 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/IllegalBuildingController.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/casePool/ViolationParam.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/dispatch/UploadDisposingResultParam.java 240 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/casePool/QuestionDisposeVO.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -2,6 +2,7 @@
import com.alibaba.druid.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
@@ -9,6 +10,7 @@
import com.ycl.dto.casePool.ViolationParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IDisposeRecordService;
import com.ycl.service.caseHandler.IIllegalBuildingService;
import com.ycl.service.caseHandler.IViolationsService;
import io.swagger.annotations.Api;
@@ -44,6 +46,10 @@
    @Autowired
    IIllegalBuildingService illegalBuildingService;
    @Autowired
    IDisposeRecordService iDisposeRecordService;
    @Autowired
    public void setBaseCaseService(IBaseCaseService baseCaseService) {
@@ -173,7 +179,6 @@
        return CommonResult.success(baseCaseService.saveIllegalBuildingCase(illegalBuildingParam, baseCase.getId()));
    }
    @ApiOperation(value = "案件详情")
    @GetMapping("/baseCaseDetail/{code}")
    @ApiImplicitParams({
@@ -188,7 +193,20 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer")
    })
    public CommonResult queryCaseImages(@RequestParam Integer id,@RequestParam Integer type){
        return CommonResult.success(baseCaseService.listCaseImages(id,type));
    public CommonResult queryCaseImages(@RequestParam Integer id, @RequestParam Integer type) {
        return CommonResult.success(baseCaseService.listCaseImages(id, type));
    }
    @ApiOperation("案件暂不处理")
    @GetMapping("/case_leave")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer")
    })
    public CommonResult updateCaseStatus(@RequestParam Integer caseId) {
        Integer leaveType = 8;
        return CommonResult.success(baseCaseService
                .update(new LambdaUpdateWrapper<BaseCase>()
                        .eq(BaseCase::getId, caseId)
                        .set(BaseCase::getState, leaveType)));
    }
}
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java
@@ -2,14 +2,20 @@
import com.ycl.api.CommonResult;
import com.ycl.bo.AdminUserDetails;
import com.ycl.dto.caseHandler.DispatchInfoParam;
import com.ycl.entity.caseHandler.DispatchInfo;
import com.ycl.service.caseHandler.IDispatchHandleService;
import com.ycl.dto.dispatch.UploadDisposingResultParam;
import com.ycl.entity.caseHandler.*;
import com.ycl.service.caseHandler.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
/**
 * <p>
@@ -20,14 +26,21 @@
 * @since 2022-09-28
 */
@RestController
@RequestMapping("/dispatch-handle")
@RequestMapping("/dispatch_handle")
@Api(tags = "调度处理")
public class DispatchHandleController {
    @Autowired
    IDispatchHandleService iDispatchHandleService;
    @Autowired
    IInvestigationService iInvestigationService;
    @Autowired
    IArrivalSituationService iArrivalSituationService;
    @Autowired
    IPartyInfoService iPartyInfoService;
    @Autowired
    IWritService iWritService;
    @ApiOperation(value = "调度")
    @RequestMapping(value = "/dispatch", method = RequestMethod.POST)
@@ -35,4 +48,43 @@
    public CommonResult<DispatchInfo> dispatch(@Validated @RequestBody DispatchInfoParam dispatchInfoParam) {
        return CommonResult.success(iDispatchHandleService.dispatch(dispatchInfoParam));
    }
    @ApiOperation(value = "上传违规/违建处置结果")
    @GetMapping("/addition_")
    public CommonResult searchDisposeList(@RequestParam Integer 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().intValue());
        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().intValue());
        iArrivalSituationService.save(arrivalSituation);
        //文书
        Integer illegalBuildingType = 02;
        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().intValue());
            iWritService.save(writ);
        }
        return CommonResult.success("add success");
    }
}
ycl-platform/src/main/java/com/ycl/controller/caseHandler/IllegalBuildingController.java
@@ -8,7 +8,6 @@
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
import com.ycl.entity.dict.DataDictionary;
import com.ycl.service.caseHandler.IIllegalBuildingService;
import com.ycl.service.dict.IDataDictionaryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -36,9 +35,9 @@
    IDataDictionaryService iDataDictionaryService;
    /**
     * @return com.ycl.api.CommonResult
     * @Description 查询违建类型
     * @Param [size, current, keyWord]
     * @return com.ycl.api.CommonResult
     **/
    @ApiOperation(value = "查询违建类型")
    @GetMapping("/query")
@@ -48,85 +47,85 @@
        Page<DataDictionary> dataDictionaryPage = new Page<>();
        dataDictionaryPage.setSize(size);
        dataDictionaryPage.setCurrent(current);
        return CommonResult.success(iDataDictionaryService.listIllegalBuildingSettings(dataDictionaryPage,keyWord));
        return CommonResult.success(iDataDictionaryService.listIllegalBuildingSettings(dataDictionaryPage, keyWord));
    }
    /**
     * @Description  delete illegal building by id
     * @Param [id]
     * @return com.ycl.api.CommonResult
     * @Description delete illegal building by id
     * @Param [id]
     **/
    @ApiOperation(value = "删除违建类型")
    @DeleteMapping("/delete")
    public CommonResult removeIllegalBuilding(@RequestParam Integer id){
    public CommonResult removeIllegalBuilding(@RequestParam Integer id) {
        return CommonResult.success(iDataDictionaryService.removeById(id));
    }
    /**
     * @return com.ycl.api.CommonResult
     * @Description batch delete illegal building
     * @Param [ids]
     * @return com.ycl.api.CommonResult
     **/
    @ApiOperation(value = "批量删除违规类型")
    @DeleteMapping("/batch_delete")
    public CommonResult removeIllegalBuildings(@RequestParam String[] ids){
    public CommonResult removeIllegalBuildings(@RequestParam String[] ids) {
        return CommonResult.success(iDataDictionaryService.removeBatchByIds(Arrays.asList(ids)));
    }
    /**
     * @return com.ycl.api.CommonResult
     * @Description search illegal building  type first
     * @Param []
     * @return com.ycl.api.CommonResult
     **/
    @ApiOperation(value = "查询所属类型")
    @GetMapping("/query/type_first")
    public  CommonResult searchIllegalBuildingTypeFirst(){
        String typeLevel="1";
        String typeCode="06";
    public CommonResult searchIllegalBuildingTypeFirst() {
        String typeLevel = "1";
        String typeCode = "06";
        return CommonResult.success(iDataDictionaryService
                .list(new LambdaQueryWrapper<DataDictionary>()
                        .eq(DataDictionary::getLevel,typeLevel)
                        .eq(DataDictionary::getTypeCode,typeCode)));
                        .eq(DataDictionary::getLevel, typeLevel)
                        .eq(DataDictionary::getTypeCode, typeCode)));
    }
    /**
     * @return com.ycl.api.CommonResult
     * @Description search illegal building type second
     * @Param []
     * @return com.ycl.api.CommonResult
     **/
    @ApiOperation(value = "查询所属类别")
    @GetMapping("/query/type_second")
    public  CommonResult searchIllegalBuildingTypeSecond(){
        String typeLevel="2";
        String typeCode="06";
    public CommonResult searchIllegalBuildingTypeSecond() {
        String typeLevel = "2";
        String typeCode = "06";
        return CommonResult.success(iDataDictionaryService
                .list(new LambdaQueryWrapper<DataDictionary>()
                        .eq(DataDictionary::getLevel,typeLevel)
                        .eq(DataDictionary::getTypeCode,typeCode)));
                        .eq(DataDictionary::getLevel, typeLevel)
                        .eq(DataDictionary::getTypeCode, typeCode)));
    }
    /**
     * @return com.ycl.api.CommonResult
     * @Description modify illegal building type
     * @Param [typeFirst, id]
     * @return com.ycl.api.CommonResult
     **/
    @ApiOperation(value = "修改所属类型/类别")
    @PutMapping("/modification/type")
    public  CommonResult modifyIllegalBuildingType(@RequestParam String type,@RequestParam Integer id){
        return  CommonResult.success(iDataDictionaryService
    public CommonResult modifyIllegalBuildingType(@RequestParam String type, @RequestParam Integer id) {
        return CommonResult.success(iDataDictionaryService
                .update(new LambdaUpdateWrapper<DataDictionary>()
                        .eq(DataDictionary::getId,id)
                        .set(StringUtils.isNotBlank(type),DataDictionary::getName,type)));
                        .eq(DataDictionary::getId, id)
                        .set(StringUtils.isNotBlank(type), DataDictionary::getName, type)));
    }
    /**
     * @return com.ycl.api.CommonResult
     * @Description addition illegal building  type
     * @Param [dataDictionary]
     * @return com.ycl.api.CommonResult
     **/
    @ApiOperation(value = "添加所属类型/类别")
    @PostMapping("/addition/type")
    public  CommonResult addIllegalBuildingTypeFirst(@RequestBody @Validated DataDictionary dataDictionary){
    public CommonResult addIllegalBuildingTypeFirst(@RequestBody @Validated DataDictionary dataDictionary) {
        return CommonResult.success(iDataDictionaryService.save(dataDictionary));
    }
ycl-platform/src/main/java/com/ycl/dto/casePool/ViolationParam.java
@@ -30,6 +30,13 @@
    private Integer typeId;
    /**
     * 案件等级
     */
    @ApiModelProperty(value = "案件等级")
    @NotNull(message = "不允许案件等级为空")
    private Integer gradeId;
    /**
     * 所属街道
     */
    @ApiModelProperty(value = "所属街道")
ycl-platform/src/main/java/com/ycl/dto/dispatch/UploadDisposingResultParam.java
New file
@@ -0,0 +1,240 @@
package com.ycl.dto.dispatch;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class UploadDisposingResultParam {
    //承办队员
    /**
     * 承办队员
     */
    @ApiModelProperty(value = "承办队员")
    private String undertaker;
    /**
     * 协办队员
     */
    @ApiModelProperty(value = "协办队员")
    private String assistant;
    /**
     * 时间
     */
    @ApiModelProperty(value = "时间")
    private LocalDateTime investigationTime;
    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    private String address;
    /**
     * 案由
     */
    @ApiModelProperty(value = "案由")
    private String caseAction;
//    /**
//     * 当事人id
//     */
//    @ApiModelProperty(value = "当事人id")
//    private Integer partyId;
    /**
     * 情况描述
     */
    @ApiModelProperty(value = "情况描述")
    private String description;
    /**
     * 照片
     */
    @ApiModelProperty(value = "照片")
    private String pic;
    //现场
    /**
     * 到达时间
     */
    @ApiModelProperty(value = "到达时间")
    private LocalDateTime arrivalTime;
    /**
     * 到达地址
     */
    @ApiModelProperty(value = "到达地址")
    private String arrivalAddress;
    /**
     * 现场情况说明
     */
    @ApiModelProperty(value = "现场情况说明")
    private String situationExplain;
    /**
     * 信访回复说明
     */
    @ApiModelProperty(value = "信访回复说明")
    private String replyExplain;
    /**
     * 现场情况照片
     */
    @ApiModelProperty(value = "现场情况照片")
    private String situationPic;
    //文书
    /**
     * 文书种类
     */
    @ApiModelProperty(value = "文书种类")
    private Integer writType;
    /**
     * 文书编号
     */
    @ApiModelProperty(value = "文书编号")
    private String writCode;
    /**
     * 违法类型
     */
    @ApiModelProperty(value = "违法类型")
    private Integer illegalType;
    /**
     * 文书发放时间
     */
    @ApiModelProperty(value = "文书发放时间")
    private LocalDateTime sendTime;
    /**
     * 文书限定时间
     */
    @ApiModelProperty(value = "文书限定时间")
    private LocalDateTime limitTime;
    /**
     * 文书发放内容
     */
    @ApiModelProperty(value = "文书发放内容")
    private String sendContent;
    /**
     * 实际整改时间
     */
    @ApiModelProperty(value = "实际整改时间")
    private LocalDateTime rectifyTime;
    /**
     * 整改情况
     */
    @ApiModelProperty(value = "整改情况")
    private String rectifySituation;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 文书照片上传
     */
    @ApiModelProperty(value = "文书照片上传")
    private String writPic;
    /**
     * 整改前照片
     */
    @ApiModelProperty(value = "整改前照片")
    private String originalPic;
    /**
     * 整改后照片
     */
    @ApiModelProperty(value = "整改后照片")
    private String rectifiedPic;
    /**
     * 其他照片
     */
    @ApiModelProperty(value = "其他照片")
    private String otherPic;
    //当事人
    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    private String name;
    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    private String phoneCode;
    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型")
    private String certificateType;
    /**
     * 证件号
     */
    @ApiModelProperty(value = "证件号")
    private String certificateCode;
    /**
     * 文化程度
     */
    @ApiModelProperty(value = "文化程度")
    private String educationDegree;
    /**
     * 职业
     */
    @ApiModelProperty(value = "职业")
    private String career;
    /**
     * 工作单位及职务
     */
    @ApiModelProperty(value = "工作单位及职务")
    private String work;
    /**
     * 民族
     */
    @ApiModelProperty(value = "民族")
    private String nation;
    /**
     * 籍贯
     */
    @ApiModelProperty(value = "籍贯")
    private String nativePlace;
    /**
     * 现住地址
     */
    @ApiModelProperty(value = "现住地址")
    private String liveAddress;
    /**
     * 户籍所在地
     */
    @ApiModelProperty(value = "户籍所在地")
    private String registerAddress;
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -12,8 +12,8 @@
import com.ycl.entity.video.VideoAlarmReport;
import com.ycl.mapper.caseHandler.*;
import com.ycl.mapper.dict.DataDictionaryMapper;
import com.ycl.remote.dto.EventAddParamDto;
import com.ycl.remote.dto.EventProcessParamDto;
import com.ycl.remote.dto.*;
import com.ycl.remote.service.CityPlatformService;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.video.IVideoAlarmReportService;
@@ -184,9 +184,7 @@
    @Override
    public Boolean saveViolationCase(ViolationParam violationParam, Integer id) {
        BaseCase baseCase = new BaseCase();
        Violations violations = new Violations();
        BeanUtils.copyProperties(violationParam, baseCase);
        BeanUtils.copyProperties(violationParam, violations);
        violations.setId(id);
        Integer value = 1;
@@ -195,9 +193,7 @@
    @Override
    public Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Integer id) {
        BaseCase baseCase = new BaseCase();
        IllegalBuilding illegalBuilding = new IllegalBuilding();
        BeanUtils.copyProperties(illegalBuilding, baseCase);
        BeanUtils.copyProperties(illegalBuilding, illegalBuildingParam);
        illegalBuilding.setBaseCaseId(id);
        Integer value = 1;
@@ -218,7 +214,7 @@
        QueryWrapper<WorkflowConfig> wrapperWc = new QueryWrapper<>();
        wrapperWc.lambda().eq(WorkflowConfig::getCode, "ddlc").or().eq(WorkflowConfig::getCode, "wtcllc");
        List<WorkflowConfig> wcs = workflowConfigMapper.selectList(wrapperWc);
        Integer ddlcId=0,wtcllcId=0;
        Integer ddlcId = 0, wtcllcId = 0;
        for (WorkflowConfig wc : wcs) {
            if ("ddlc".equals(wc.getCode())) {
                ddlcId = wc.getId();
ycl-platform/src/main/java/com/ycl/vo/casePool/QuestionDisposeVO.java
New file
@@ -0,0 +1,91 @@
package com.ycl.vo.casePool;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
/**
 * <p>
 * 处置流程记录
 * </p>
 *
 * @author wl
 * @since 2022-09-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class QuestionDisposeVO {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 案件id
     */
    private Integer baseCaseId;
    /**
     * 环节名称
     */
    @ApiModelProperty(value = "环节名称")
    private String stepName;
    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private LocalDateTime startTime;
    /**
     * 处理人角色id
     */
    @ApiModelProperty(value = "处理人角色id")
    private String handlerRoleName;
    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private LocalDateTime endTime;
    /**
     * 环节状态
     */
    @ApiModelProperty(value = "环节状态")
    private Integer state;
    /**
     * 实际处理人
     */
    @ApiModelProperty(value = "实际处理人")
    private String handlerName;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Integer createUser;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    /**
     * 结果
     */
    @ApiModelProperty(value = "结果")
    private String result;
    /**
     * 限制时限
     */
    @ApiModelProperty(value = "限制时限")
    private LocalDateTime limitTime;
}