package com.ycl.controller.caseHandler; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; import com.ycl.common.constant.BaseCaseStatus; import com.ycl.dto.caseHandler.DispatchInfoParam; 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; /** *

* 调度 前端控制器 *

* * @author mg * @since 2022-09-28 */ @RestController @RequestMapping("/dispatch_handle") @Api(tags = "调度处理") public class DispatchHandleController { @Autowired IDispatchHandleService iDispatchHandleService; @Autowired IInvestigationService iInvestigationService; @Autowired IArrivalSituationService iArrivalSituationService; @Autowired IPartyInfoService iPartyInfoService; @Autowired IWritService iWritService; @Autowired IBaseCaseService baseCaseService; @Autowired IDisposeRecordService iDisposeRecordService; @ApiOperation(value = "调度") @RequestMapping(value = "/dispatch", method = RequestMethod.POST) @ResponseBody public CommonResult dispatch(@Validated @RequestBody DispatchInfoParam dispatchInfoParam) { return CommonResult.success(iDispatchHandleService.dispatch(dispatchInfoParam)); } @ApiOperation(value = "上传违规/违建处置结果") @PostMapping("/addition_dispose_result") public CommonResult searchDisposeList(@RequestParam Integer caseId, @RequestParam Integer type, @RequestBody UploadDisposingResultParam uploadDisposingResultParam) { AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //修改案件状态为处置 BaseCase baseCase = new BaseCase(); baseCase.setId(caseId); baseCase.setState(BaseCaseStatus.DISPOSE); baseCaseService.updateById(baseCase); //当事人 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 = 2; if (type.equals(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); } baseCaseService.update(new LambdaUpdateWrapper().eq(BaseCase::getId, caseId).set(BaseCase::getState, BaseCaseStatus.CHECK)); DisposeRecord disposeRecord = new DisposeRecord(); disposeRecord.setBaseCaseId(caseId); disposeRecord.setState(0); disposeRecord.setCreateTime(LocalDateTime.now()); disposeRecord.setCreateUser(user.getUserId().intValue()); disposeRecord.setStepName("核查"); iDisposeRecordService.save(disposeRecord); return CommonResult.success("add success"); } }