package com.ruoyi.web.controller.project; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.project.domain.ServiceTransport; import com.ruoyi.project.domain.ServiceTransportFile; import com.ruoyi.project.service.IServiceTransportService; import com.ruoyi.project.service.impl.ServiceTransportFileServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; import java.util.Map; /** * 供者转运登记Controller * * @author ruoyi * @date 2025-12-15 */ @Api(description = "供者转运登记") @RestController @RequestMapping("/project/transport") public class ServiceTransportController extends BaseController { @Autowired private IServiceTransportService serviceTransportService; @Autowired private ServiceTransportFileServiceImpl serviceTransportFileService; /** * 查询供者转运登记列表 */ @ApiOperation("查询供者转运登记列表") // @PreAuthorize("@ss.hasPermi('system:transport:list')") @PostMapping("/list") public Map list(ServiceTransport serviceTransport) { Page serviceTransportPage = serviceTransportService.queryList(serviceTransport); return getDataTable(serviceTransportPage.getRecords(), (int) serviceTransportPage.getTotal()); } /** * 导出供者转运登记列表 */ @ApiOperation("导出供者转运登记列表") // @PreAuthorize("@ss.hasPermi('system:transport:export')") @Log(title = "供者转运登记", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult export(ServiceTransport serviceTransport) { List list = serviceTransportService.queryList(serviceTransport).getRecords(); ExcelUtil util = new ExcelUtil(ServiceTransport.class); return util.exportExcel(list, "供者转运登记数据"); } /** * 获取供者转运登记详细信息 */ @ApiOperation("获取供者转运登记详细信息") // @PreAuthorize("@ss.hasPermi('system:transport:query')") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { ServiceTransport transport = serviceTransportService.getById(id); if (ObjectUtils.isNotEmpty(transport)) { //补充 附件 ServiceTransportFile serviceTransportFile = new ServiceTransportFile(); serviceTransportFile.setDelFlag(0); serviceTransportFile.setTransportId(transport.getId()); serviceTransportFile.setCaseNo(transport.getCaseNo()); List serviceTransportFiles = serviceTransportFileService.queryList(serviceTransportFile); transport.setAnnexfilesList(serviceTransportFiles); } return AjaxResult.success(transport); } /** * 新增供者转运登记 */ @ApiOperation("新增供者转运登记") // @PreAuthorize("@ss.hasPermi('system:transport:add')") @Log(title = "供者转运登记", businessType = BusinessType.INSERT) @PostMapping("/add") // @RepeatSubmit public AjaxResult add(@RequestBody ServiceTransport serviceTransport) { boolean save = serviceTransportService.save(serviceTransport); if (save) { serviceTransportFileService.addList(serviceTransport.getAnnexfilesList(), serviceTransport.getId(), serviceTransport.getCaseNo(), getNickName()); } return toAjax(save); } /** * 修改供者转运登记 */ @ApiOperation("修改供者转运登记") // @PreAuthorize("@ss.hasPermi('system:transport:edit')") @Log(title = "供者转运登记", businessType = BusinessType.UPDATE) @PostMapping("/edit") // @RepeatSubmit public AjaxResult edit(@RequestBody ServiceTransport serviceTransport) { boolean b = serviceTransportService.updateById(serviceTransport); if (b) { serviceTransportFileService.updateList(serviceTransport.getAnnexfilesList(), serviceTransport.getReportId(), serviceTransport.getCaseNo(), getNickName()); } return toAjax(b); } /** * 删除供者转运登记 */ @ApiOperation("删除供者转运登记") // @PreAuthorize("@ss.hasPermi('system:transport:remove')") @Log(title = "供者转运登记", businessType = BusinessType.DELETE) @GetMapping("/remove/{id}") public AjaxResult remove(@PathVariable Long id) { ServiceTransport serviceTransport = new ServiceTransport(); serviceTransport.setId(id); serviceTransport.setDelFlag(1); return toAjax(serviceTransportService.updateById(serviceTransport)); } }