package com.docus.demo.controller; import com.docus.demo.dto.SyncBasicDataDto; import com.docus.demo.dto.SyncFileDto; import com.docus.demo.dto.UploadJpgFileParam; import com.docus.demo.entity.CommonResult; import com.docus.demo.facade.ISyncBasicDataService; import com.docus.demo.facade.ISyncBasicFileService; import com.docus.demo.facade.IWebService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; import java.util.Collections; @Api(value = "数据同步接口", tags = "数据同步接口") @RestController("/sync") @Slf4j public class SyncBasicDataController { @Autowired private ISyncBasicDataService syncBasicDataService; @Autowired private ISyncBasicFileService syncBasicFileService; @Autowired private IWebService webService; @ApiOperation("去除文件不存在的数据") @PostMapping("/deleteSync") public CommonResult deleteSync(@RequestBody SyncBasicDataDto syncBasicDataDto){ return syncBasicFileService.deleteSync(syncBasicDataDto); } @ApiOperation("省厅-同步基础数据") @PostMapping("/syncBasicData") public CommonResult syncBasicData(@RequestBody SyncBasicDataDto syncBasicDataDto){ return syncBasicDataService.syncBasicData(syncBasicDataDto); } @ApiOperation("省厅-同步单个患者基础数据") @GetMapping("/syncSingleBasicData") public CommonResult syncSingleBasicData(@RequestParam(name = "disDate") String disDate,@RequestParam(name = "inpatientNo") String inpatientNo){ log.info("省厅-同步单个患者基础数据,disDate={},inpatientNo={}", disDate, inpatientNo); LocalDate localDate = LocalDate.parse(disDate); SyncBasicDataDto dto = new SyncBasicDataDto(); dto.setStartDate(localDate.toString()); dto.setEndDate(localDate.toString()); dto.setInpatientNoList(Collections.singletonList(inpatientNo)); dto.setLimit(100); return syncBasicDataService.syncBasicData(dto); } @ApiOperation("省厅-同步上个月基础数据") @GetMapping("/syncLastMonthBasicData") public CommonResult syncLastMonthBasicData(){ LocalDate today = LocalDate.now(); LocalDate firstDayOfLastMonth = today.minusMonths(1).with(TemporalAdjusters.firstDayOfMonth()); LocalDate lastDayOfLastMonth = today.minusMonths(1).with(TemporalAdjusters.lastDayOfMonth()); SyncBasicDataDto dto = new SyncBasicDataDto(); dto.setStartDate(firstDayOfLastMonth.toString()); dto.setEndDate(lastDayOfLastMonth.toString()); dto.setLimit(1000); return syncBasicDataService.syncBasicData(dto); } @ApiOperation("同步检验图片数据") @PostMapping("/syncInspection") public CommonResult syncInspection(@RequestBody SyncBasicDataDto syncBasicDataDto) { return webService.syncInspection(syncBasicDataDto); } @ApiOperation("联众-同步基础数据") @PostMapping("/syncLzBasicData") public CommonResult syncLzBasicData(@RequestBody SyncBasicDataDto syncBasicDataDto){ return syncBasicDataService.syncLzBasicData(syncBasicDataDto); } @ApiOperation("同步文件数据") @PostMapping("/syncBasicFile") public CommonResult syncBasicFile(@RequestBody SyncFileDto syncFileDto){ return syncBasicFileService.syncBasicFile(syncFileDto); } /** * @description: 文件上传 * @params: files * @params: uploadBatchFileParam * @author linjj * @date: 2024/6/28 10:38 */ @ApiOperation("联众同步文件上传") @PostMapping(value = "fileUploadJpg") @ResponseBody public CommonResult fileUploadJpg(@RequestPart("files") MultipartFile[] files, UploadJpgFileParam uploadJpgFileParam) { try { return syncBasicFileService.fileUploadJpg(files, uploadJpgFileParam); } catch (Exception e) { log.error("保存失败!异常处理" + e.getMessage(), e); return CommonResult.failed("保存失败!异常处理" + e.getMessage()); } } }