2 天以前 3e5e22f5358156ff7430ee117546123ffe042611
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
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());
    }
}