package com.ruoyi.outsourcing.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
import com.ruoyi.framework.web.controller.BaseController;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import com.ruoyi.outsourcing.dto.OutsourcingPartnerDto;
|
import com.ruoyi.outsourcing.excel.OutsourcingPartnerExcelDto;
|
import com.ruoyi.outsourcing.service.IOutsourcingPartnerService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.servlet.http.HttpServletResponse;
|
import lombok.AllArgsConstructor;
|
import org.springframework.util.CollectionUtils;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.List;
|
|
/**
|
* 委外合作商档案 Controller
|
*/
|
@RestController
|
@RequestMapping("/outsourcing/partner")
|
@AllArgsConstructor
|
@Tag(name = "委外合作商档案")
|
public class OutsourcingPartnerController extends BaseController {
|
|
private final IOutsourcingPartnerService outsourcingPartnerService;
|
|
/**
|
* 新增合作商(含附件)
|
*/
|
@Operation(summary = "新增合作商")
|
@Log(title = "合作商档案", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
public AjaxResult add(@RequestBody OutsourcingPartnerDto dto) {
|
return AjaxResult.success(outsourcingPartnerService.savePartner(dto));
|
}
|
|
/**
|
* 修改合作商(含附件)
|
*/
|
@Operation(summary = "修改合作商")
|
@Log(title = "合作商档案", businessType = BusinessType.UPDATE)
|
@PostMapping("/update")
|
public AjaxResult update(@RequestBody OutsourcingPartnerDto dto) {
|
return toAjax(outsourcingPartnerService.updatePartner(dto));
|
}
|
|
/**
|
* 删除合作商
|
*/
|
@Operation(summary = "删除合作商")
|
@Log(title = "合作商档案", businessType = BusinessType.DELETE)
|
@DeleteMapping("/del")
|
public AjaxResult del(@RequestBody List<Long> ids) {
|
if (CollectionUtils.isEmpty(ids)) {
|
return AjaxResult.error("请选择至少一条数据");
|
}
|
return toAjax(outsourcingPartnerService.delPartner(ids));
|
}
|
|
/**
|
* 合作商详情(含附件回显)
|
*/
|
@Operation(summary = "合作商详情")
|
@GetMapping("/{id}")
|
public AjaxResult detail(@PathVariable("id") Long id) {
|
return AjaxResult.success(outsourcingPartnerService.partnerDetail(id));
|
}
|
|
/**
|
* 合作商分页查询
|
*/
|
@Operation(summary = "合作商分页查询")
|
@GetMapping("/listPage")
|
public AjaxResult listPage(Page page, OutsourcingPartnerDto dto) {
|
IPage<OutsourcingPartnerDto> result = outsourcingPartnerService.partnerListPage(page, dto);
|
return AjaxResult.success(result);
|
}
|
|
/**
|
* 合作商导出
|
*/
|
@Operation(summary = "合作商导出")
|
@Log(title = "合作商档案", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
public void export(HttpServletResponse response, OutsourcingPartnerDto dto) {
|
outsourcingPartnerService.partnerExport(response, dto);
|
}
|
|
/**
|
* 下载导入模板
|
*/
|
@Operation(summary = "下载合作商导入模板")
|
@Log(title = "合作商档案-下载模板", businessType = BusinessType.EXPORT)
|
@PostMapping("/downloadTemplate")
|
public void downloadTemplate(HttpServletResponse response) {
|
ExcelUtil<OutsourcingPartnerExcelDto> util = new ExcelUtil<>(OutsourcingPartnerExcelDto.class);
|
util.importTemplateExcel(response, "合作商档案模板");
|
}
|
|
/**
|
* 合作商导入
|
*/
|
@Operation(summary = "合作商导入")
|
@Log(title = "合作商档案导入", businessType = BusinessType.IMPORT)
|
@PostMapping("/import")
|
public AjaxResult importData(MultipartFile file) {
|
return outsourcingPartnerService.importData(file)
|
? AjaxResult.success("导入成功")
|
: AjaxResult.error("导入失败");
|
}
|
|
/**
|
* 合作商下拉选项
|
*/
|
@Operation(summary = "合作商下拉选项")
|
@GetMapping("/getOptions")
|
public AjaxResult getOptions() {
|
return AjaxResult.success(outsourcingPartnerService.options());
|
}
|
}
|