| | |
| | | package com.ruoyi.web.controller.project; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | import com.ruoyi.project.domain.BaseOrganization; |
| | | import com.ruoyi.project.domain.ServiceDonatebaseinfo; |
| | | import com.ruoyi.project.domain.vo.DonateOrganVO; |
| | | import com.ruoyi.project.domain.vo.NumberOfOrgans; |
| | | import com.ruoyi.project.domain.vo.TimeVO; |
| | | import com.ruoyi.project.mapper.BaseOrganizationMapper; |
| | | import com.ruoyi.project.service.IServiceDonatebaseinfoService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.annotation.NotRepeatCommit; |
| | | import com.ruoyi.common.annotation.RepeatSubmit; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.project.domain.ServiceDonateorgan; |
| | | import com.ruoyi.project.service.IServiceDonateorganService; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.bean.DtoConversionUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.project.domain.ServiceDonatecomporgan; |
| | | import com.ruoyi.project.domain.ServiceDonateorgan; |
| | | import com.ruoyi.project.domain.ServiceDonateorganVO; |
| | | import com.ruoyi.project.domain.ServiceOrganallocation; |
| | | import com.ruoyi.project.domain.vo.DonateOrganVO; |
| | | import com.ruoyi.project.domain.vo.TimeVO; |
| | | import com.ruoyi.project.service.IServiceDonateorganService; |
| | | import com.ruoyi.project.service.IServiceOrganallocationService; |
| | | 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.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 捐献器官管理Controller |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | * @date 2021-11-10 |
| | | */ |
| | | @Slf4j |
| | | @Api("捐献器官管理") |
| | | @RestController |
| | | @RequestMapping("/project/donateorgan") |
| | | public class ServiceDonateorganController extends BaseController |
| | | { |
| | | public class ServiceDonateorganController extends BaseController { |
| | | @Autowired |
| | | private IServiceDonateorganService serviceDonateorganService; |
| | | |
| | | @Autowired |
| | | private IServiceOrganallocationService serviceOrganallocationService; |
| | | |
| | | |
| | | /** |
| | | * 查询捐献器官管理列表 |
| | | */ |
| | | @ApiOperation("捐献器官列表") |
| | | //@PreAuthorize("@ss.hasPermi('project:donateorgan:list')") |
| | | //// @PreAuthorize("@ss.hasPermi('project:donateorgan:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(ServiceDonateorgan serviceDonateorgan) |
| | | { |
| | | public TableDataInfo list(ServiceDonateorgan serviceDonateorgan) { |
| | | startPage(); |
| | | List<ServiceDonateorgan> list = serviceDonateorganService.queryList(serviceDonateorgan); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 器官分配累计 |
| | | */ |
| | | @ApiOperation("器官分配累计") |
| | | @GetMapping("/countList") |
| | | public TableDataInfo countList(ServiceDonateorgan serviceDonateorgan) { |
| | | startPage(); |
| | | List<ServiceDonateorgan> list = serviceDonateorganService.countList(serviceDonateorgan); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | @GetMapping("/listnew") |
| | | public TableDataInfo listnew (DonateOrganVO donateOrganVO) |
| | | { |
| | | public TableDataInfo listnew(DonateOrganVO donateOrganVO) { |
| | | startPage(); |
| | | List<DonateOrganVO> list = serviceDonateorganService.selectVOList(donateOrganVO); |
| | | return getDataTable(list); |
| | |
| | | * 导出捐献器官管理列表 |
| | | */ |
| | | @ApiOperation("导出捐献器官列表") |
| | | //@PreAuthorize("@ss.hasPermi('project:donateorgan:export')") |
| | | //// @PreAuthorize("@ss.hasPermi('project:donateorgan:export')") |
| | | @Log(title = "捐献器官管理", businessType = BusinessType.EXPORT) |
| | | @GetMapping("/export") |
| | | public AjaxResult export(ServiceDonateorgan serviceDonateorgan) |
| | | { |
| | | public AjaxResult export(ServiceDonateorgan serviceDonateorgan) { |
| | | List<ServiceDonateorgan> list = serviceDonateorganService.queryList(serviceDonateorgan); |
| | | ExcelUtil<ServiceDonateorgan> util = new ExcelUtil<ServiceDonateorgan>(ServiceDonateorgan.class); |
| | | return util.exportExcel(list, "捐献器官管理数据"); |
| | |
| | | * 获取捐献器官管理详细信息 |
| | | */ |
| | | @ApiOperation("通过id获得捐献器官信息") |
| | | //@PreAuthorize("@ss.hasPermi('project:donateorgan:query')") |
| | | //// @PreAuthorize("@ss.hasPermi('project:donateorgan:query')") |
| | | @GetMapping(value = "/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) |
| | | { |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) { |
| | | return AjaxResult.success(serviceDonateorganService.getById(id)); |
| | | } |
| | | |
| | |
| | | * 新增捐献器官管理 |
| | | */ |
| | | @ApiOperation("新增捐献器官信息") |
| | | //@PreAuthorize("@ss.hasPermi('project:donateorgan:add')") |
| | | //// @PreAuthorize("@ss.hasPermi('project:donateorgan:add')") |
| | | @Log(title = "捐献器官管理", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | @PostMapping("/add") |
| | | @RepeatSubmit |
| | | public AjaxResult add(@RequestBody ServiceDonateorgan serviceDonateorgan) |
| | | { |
| | | public AjaxResult add(@RequestBody ServiceDonateorgan serviceDonateorgan) { |
| | | String organNumber = serviceDonateorgan.getDonorno() + "." + serviceDonateorgan.getOrganno(); |
| | | if (organNumber == "") |
| | | { |
| | | if (organNumber == "") { |
| | | return AjaxResult.error("新增时生成的编号为空,创建失败!"); |
| | | } |
| | | else |
| | | { |
| | | } else { |
| | | ServiceDonateorgan serviceDonateorgan1 = new ServiceDonateorgan(); |
| | | serviceDonateorgan1.setOrgannumber(organNumber); |
| | | List<ServiceDonateorgan> listrecord = serviceDonateorganService.queryList(serviceDonateorgan); |
| | | if (listrecord.size()>0) |
| | | { |
| | | return AjaxResult.error("新增时生成的编号"+ organNumber +"已存在,无法保存!"); |
| | | if (listrecord.size() > 0) { |
| | | return AjaxResult.error("新增时生成的编号" + organNumber + "已存在,无法保存!"); |
| | | } |
| | | } |
| | | serviceDonateorgan.setOrgannumber(organNumber); |
| | | return toAjax(serviceDonateorganService.save(serviceDonateorgan)); |
| | | boolean save = serviceDonateorganService.save(serviceDonateorgan); |
| | | return AjaxResult.success(serviceDonateorgan); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 新增捐献器官管理 |
| | | */ |
| | | @ApiOperation("新增捐献器官信息") |
| | | //// @PreAuthorize("@ss.hasPermi('project:donateorgan:add')") |
| | | @Log(title = "捐献器官管理", businessType = BusinessType.INSERT) |
| | | @PostMapping("/addData") |
| | | @RepeatSubmit |
| | | public TableDataInfo addData(@RequestBody List<ServiceDonateorgan> serviceDonateorgans) { |
| | | List<ServiceDonateorgan> serviceDonateorgans1 = serviceDonateorganService.saveData(serviceDonateorgans); |
| | | return saveDataTable(serviceDonateorgans1); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 修改器官分配 |
| | | */ |
| | | @ApiOperation("修改器官分配信息") |
| | | //// @PreAuthorize("@ss.hasPermi('project:organallocation:edit')") |
| | | @Log(title = "器官分配", businessType = BusinessType.UPDATE) |
| | | @PostMapping("/editarraydata") |
| | | @RepeatSubmit |
| | | public AjaxResult editArrayData(@RequestBody List<ServiceDonateorgan> serviceDonateorgans) { |
| | | return AjaxResult.success(serviceDonateorganService.editArrayData(serviceDonateorgans)); |
| | | } |
| | | |
| | | /** |
| | | * 修改捐献器官管理 |
| | | */ |
| | | @ApiOperation("修改捐献器官信息") |
| | | //@PreAuthorize("@ss.hasPermi('project:donateorgan:edit')") |
| | | //// @PreAuthorize("@ss.hasPermi('project:donateorgan:edit')") |
| | | @Log(title = "捐献器官管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | @RepeatSubmit |
| | | public AjaxResult edit(@RequestBody ServiceDonateorgan serviceDonateorgan) |
| | | { |
| | | @PostMapping("/edit") |
| | | @RepeatSubmit |
| | | public AjaxResult edit(@RequestBody ServiceDonateorgan serviceDonateorgan) { |
| | | return toAjax(serviceDonateorganService.updateById(serviceDonateorgan)); |
| | | } |
| | | |
| | |
| | | * 删除捐献器官管理 |
| | | */ |
| | | @ApiOperation("删除捐献器官信息") |
| | | //@PreAuthorize("@ss.hasPermi('project:donateorgan:remove')") |
| | | //// @PreAuthorize("@ss.hasPermi('project:donateorgan:remove')") |
| | | @Log(title = "捐献器官管理", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) |
| | | { |
| | | @GetMapping("/remove/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | return toAjax(serviceDonateorganService.removeByIds(Arrays.asList(ids))); |
| | | } |
| | | |
| | | @ApiOperation("得到浙江各市下的捐献信息") |
| | | @GetMapping("/numberOfOrgans") |
| | | public AjaxResult numberOfOrgans(){ |
| | | public AjaxResult numberOfOrgans() { |
| | | return AjaxResult.success(serviceDonateorganService.getNumberOfOrgans()); |
| | | } |
| | | |
| | | @ApiOperation("得到各医院的捐献信息") |
| | | @PostMapping("/OrgansOfHospital") |
| | | public AjaxResult OrgansOfHospital(String cityName){ |
| | | public AjaxResult OrgansOfHospital(String cityName) { |
| | | return AjaxResult.success(serviceDonateorganService.getOrgansOfHospital(cityName)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("全省捐献器官信息汇总") |
| | | @GetMapping("/allOrgansInfo") |
| | | public AjaxResult allOrgansInfo(TimeVO timeVO){ |
| | | public AjaxResult allOrgansInfo(TimeVO timeVO) { |
| | | return AjaxResult.success(serviceDonateorganService.getAllOrgansInfo(timeVO)); |
| | | } |
| | | |
| | |
| | | |
| | | @ApiOperation("按月度统计的各医院的捐献信息") |
| | | @GetMapping("/OrgansOfHospitalByMonth") |
| | | public AjaxResult OrgansOfHospitalByMonth(TimeVO timeVO){ |
| | | public AjaxResult OrgansOfHospitalByMonth(TimeVO timeVO) { |
| | | return AjaxResult.success(serviceDonateorganService.OrgansOfHospitalByMonth(timeVO)); |
| | | } |
| | | |
| | | @ApiOperation("按时间统计的各医院的捐献信息") |
| | | @GetMapping("/OrgansOfHospitalByTime") |
| | | public AjaxResult OrgansOfHospitalByTime(TimeVO timeVO){ |
| | | public AjaxResult OrgansOfHospitalByTime(TimeVO timeVO) { |
| | | return AjaxResult.success(serviceDonateorganService.OrgansOfHospitalByTime(timeVO)); |
| | | } |
| | | |
| | | @ApiOperation("每百万人口的捐献率") |
| | | @GetMapping("/getPMPRate") |
| | | public AjaxResult getPMPRate(TimeVO timeVO){ |
| | | public AjaxResult getPMPRate(TimeVO timeVO) { |
| | | return AjaxResult.success(serviceDonateorganService.getPMPRate(timeVO)); |
| | | } |
| | | |
| | | @ApiOperation("根据地市返回捐献、完成、器官数") |
| | | @GetMapping("/getDistrictDonateCalculate") |
| | | public AjaxResult getDistrictDonateCalculate(){ |
| | | public AjaxResult getDistrictDonateCalculate() { |
| | | return AjaxResult.success(serviceDonateorganService.getDistrictDonateCalculate()); |
| | | } |
| | | |
| | | @ApiOperation("根据时间地市返回捐献、完成、器官数") |
| | | @GetMapping("/getDistrictDonateCalculateByTime") |
| | | public AjaxResult getDistrictDonateCalculateByTime(TimeVO timeVO){ |
| | | public AjaxResult getDistrictDonateCalculateByTime(TimeVO timeVO) { |
| | | return AjaxResult.success(serviceDonateorganService.getDistrictDonateCalculateByTime(timeVO)); |
| | | } |
| | | |
| | | @ApiOperation("根据机构返回器官总数") |
| | | @GetMapping("/getOrganNumberByOrg") |
| | | public AjaxResult getOrganNumberByOrg(TimeVO timeVO){ |
| | | public AjaxResult getOrganNumberByOrg(TimeVO timeVO) { |
| | | return AjaxResult.success(serviceDonateorganService.getOrganNumberByOrg(timeVO)); |
| | | } |
| | | |
| | | @ApiOperation("返回器官总数") |
| | | @GetMapping("/getOrganCount") |
| | | public AjaxResult getOrganCount(TimeVO timeVO){ |
| | | public AjaxResult getOrganCount(TimeVO timeVO) { |
| | | return AjaxResult.success(serviceDonateorganService.getOrganCount(timeVO)); |
| | | } |
| | | |
| | | |
| | | @RepeatSubmit |
| | | @ApiOperation("新增或修改捐献器官管理") |
| | | @Log(title = "捐献完成", businessType = BusinessType.UPDATE) |
| | | @PostMapping("/saveOrUpdateDonateorgan") |
| | | public AjaxResult saveOrUpdateDonateorgan(@RequestBody List<ServiceDonateorgan> serviceDonateorganList) { |
| | | if (CollectionUtils.isEmpty(serviceDonateorganList)) { |
| | | throw new BaseException("请检查需要新增或修改的捐献器官管理参数是否完整"); |
| | | } |
| | | Boolean i = null; |
| | | for (ServiceDonateorgan serviceDonateorgan : serviceDonateorganList) { |
| | | log.info("捐献器官移植id是否为空 : {},基础表的id为 : {}", serviceDonateorgan.getId(), serviceDonateorgan.getInfoid()); |
| | | if (serviceDonateorgan.getId() == null) { |
| | | i = serviceDonateorganService.save(serviceDonateorgan); |
| | | } else { |
| | | i = serviceDonateorganService.updateById(serviceDonateorgan); |
| | | } |
| | | } |
| | | return toAjax(i); |
| | | } |
| | | |
| | | } |