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; }