package com.ruoyi.web.controller.bussiness;
|
|
import com.alibaba.excel.EasyExcelFactory;
|
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
|
import com.ruoyi.bussiness.domain.PlacementBatchAsset;
|
import com.ruoyi.bussiness.domain.PlacementBatchHousehold;
|
import com.ruoyi.bussiness.object.request.placementApply.PlacementApplyIdRequest;
|
import com.ruoyi.bussiness.object.request.placementBatch.*;
|
import com.ruoyi.bussiness.object.response.placementBatch.PlacementBatchDetailResponse;
|
import com.ruoyi.bussiness.object.response.placementBatch.PlacementBatchPageResponse;
|
import com.ruoyi.bussiness.service.PlacementBatchService;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.core.domain.BaseResult;
|
import com.ruoyi.common.core.domain.ResponseUtils;
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
import com.ruoyi.common.easyExcel.MultiDropdownWriteHandler;
|
import com.ruoyi.common.exception.GlobalException;
|
import com.ruoyi.common.utils.file.FileUtils;
|
import com.ruoyi.system.service.ISysDictTypeService;
|
import com.ruoyi.bussiness.enums.TemplateFileTypeEnum;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.MediaType;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import javax.validation.Valid;
|
import java.io.IOException;
|
import java.lang.reflect.Method;
|
import java.util.Collections;
|
import java.util.List;
|
import java.util.Objects;
|
|
@Validated
|
@Api(value = "安置批次",tags = "安置批次")
|
@RestController
|
@RequestMapping(value = "/placement-batch")
|
public class PlacementBatchController {
|
|
@Autowired
|
private PlacementBatchService placementBatchService;
|
@Autowired
|
private ISysDictTypeService dictTypeService;
|
|
@ApiOperation(value = "安置批次-列表", notes = "安置批次-列表")
|
@PostMapping(value = "/page")
|
public BaseResult<PlacementBatchPageResponse> page(@RequestBody PlacementBatchPageRequest request) {
|
PlacementBatchPageResponse response = placementBatchService.page(request);
|
return ResponseUtils.successResponse(response);
|
}
|
|
@ApiOperation(value = "下载安置批次模版(3资金表,4房产表)", notes = "下载安置批次模版(3资金表,4房产表)")
|
@PostMapping(value = "/download-template/{type}")
|
public void downloadTemplate(@PathVariable Integer type, HttpServletResponse response) throws IOException {
|
try {
|
//街道
|
List<SysDictData> street = dictTypeService.selectDictDataByType("street");
|
TemplateFileTypeEnum pathByFileType = TemplateFileTypeEnum.getEnumByFileType(type);
|
Method generateExampleDataMethod = pathByFileType.getClazz().getMethod("generateExampleData");
|
Method generateHeaderDataMethod = pathByFileType.getClazz().getMethod("generateHeaderData", List.class);
|
Object exampleData = generateExampleDataMethod.invoke(null);
|
Object headerData = generateHeaderDataMethod.invoke(null, street);
|
|
FileUtils.setExcelResponseHeader(response, pathByFileType.getFileName());
|
ExcelWriterBuilder write = EasyExcelFactory.write(response.getOutputStream(), pathByFileType.getClazz());
|
if (Objects.nonNull(headerData)) {
|
write.registerWriteHandler((MultiDropdownWriteHandler) headerData);
|
}
|
write.sheet("sheet")
|
.doWrite(Collections.singletonList(exampleData));
|
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
} catch (Exception e) {
|
throw new GlobalException("导出模版失败");
|
}
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "导入", notes = "导入")
|
@PostMapping(value = "/imports")
|
public BaseResult<Object> imports(PlacementBatchImportRequest request) {
|
placementBatchService.imports(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@ApiOperation(value = "安置批次-详情",notes="安置批次-详情")
|
@PostMapping(value = "/detail")
|
public BaseResult<PlacementBatchDetailResponse> detail(@Valid @RequestBody PlacementBatchDetailRequest request) {
|
PlacementBatchDetailResponse responses = placementBatchService.detail(request);
|
return ResponseUtils.successResponse(responses);
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "数据审核", notes = "数据审核")
|
@PostMapping(value = "/data-approve")
|
public BaseResult<Object> dataApprove(@RequestBody PlacementBatchIdRequest request){
|
placementBatchService.dataApprove(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "资金数据核对", notes = "资金数据核对")
|
@PostMapping(value = "/asset-check")
|
public BaseResult<Object> assetCheck(@Valid @RequestBody IdRequest request){
|
placementBatchService.assetCheck(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "购房数据核对", notes = "资金数据核对")
|
@PostMapping(value = "/household-check")
|
public BaseResult<Object> householdCheck(@Valid @RequestBody IdRequest request){
|
placementBatchService.householdCheck(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@ApiOperation(value = "安置批次-删除",notes = "安置批次-删除")
|
@PostMapping(value = "/del")
|
public BaseResult<Object> del(@Valid @RequestBody PlacementBatchIdRequest request){
|
placementBatchService.del(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "安置批次-资金记录编辑",notes="安置批次-资金记录编辑")
|
@PostMapping(value = "/asset-edit")
|
public BaseResult<Object> assetEdit(@RequestBody PlacementBatchAsset request){
|
placementBatchService.assetEdit(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "安置批次-购房记录编辑",notes="安置批次-购房记录编辑")
|
@PostMapping(value = "/household-edit")
|
public BaseResult<Object> householdEdit(@RequestBody PlacementBatchHousehold request){
|
placementBatchService.householdEdit(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "安置批次-资金记录删除",notes="安置批次-资金记录删除")
|
@PostMapping(value = "/asset-del")
|
public BaseResult<Object> assetDel(@RequestBody IdRequest request){
|
placementBatchService.assetDel(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "安置批次-购房记录删除",notes="安置批次-购房记录删除")
|
@PostMapping(value = "/household-del")
|
public BaseResult<Object> householdDel(@RequestBody IdRequest request){
|
placementBatchService.householdDel(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "安置批次-资金记录添加",notes="安置批次-资金记录添加")
|
@PostMapping(value = "/asset-add")
|
public BaseResult<Object> assetAdd(@RequestBody PlacementBatchAsset request){
|
placementBatchService.assetAdd(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "安置批次-购房记录添加",notes="安置批次-购房记录添加")
|
@PostMapping(value = "/household-add")
|
public BaseResult<Object> householdAdd(@RequestBody PlacementBatchHousehold request){
|
placementBatchService.householdAdd(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@ApiOperation(value = "安置批次-资金记录详情",notes="安置批次-资金记录详情")
|
@PostMapping(value = "/asset-detail")
|
public BaseResult<PlacementBatchAsset> assetDetail(@RequestBody IdRequest request){
|
PlacementBatchAsset response = placementBatchService.assetDetail(request);
|
return ResponseUtils.successResponse(response);
|
}
|
|
@ApiOperation(value = "安置批次-购房记录详情",notes="安置批次-购房记录详情")
|
@PostMapping(value = "/household-detail")
|
public BaseResult<PlacementBatchHousehold> householdDetail(@RequestBody IdRequest request){
|
PlacementBatchHousehold response = placementBatchService.householdDetail(request);
|
return ResponseUtils.successResponse(response);
|
}
|
|
@RepeatSubmit
|
@ApiOperation(value = "安置批次-审核",notes="安置批次-审核")
|
@PostMapping(value = "/approve")
|
public BaseResult<Object> approve(@RequestBody ApproveRequest request){
|
placementBatchService.approve(request);
|
return ResponseUtils.successResponse();
|
}
|
|
@ApiOperation(value = "安置批次-问题数据导出")
|
@PostMapping(value = "/problem-export")
|
public void problemExport(@RequestBody ProblemExportRequest request, HttpServletResponse response) throws IOException {
|
placementBatchService.problemExport(request,response);
|
}
|
|
}
|