李林
2023-10-07 658d4927d468c47208fd012d9128b09249c07eff
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
134
135
136
package com.chinaztt.mes.plan.controller;
 
import com.alibaba.excel.EasyExcel;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
import com.chinaztt.mes.plan.dto.OperationTaskProduceDTO;
import com.chinaztt.mes.plan.entity.OperationTaskProduce;
import com.chinaztt.mes.plan.excel.OperationTaskProduceData;
import com.chinaztt.mes.plan.excel.OperationTaskProduceUploadListener;
import com.chinaztt.mes.plan.service.OperationTaskProduceService;
import com.chinaztt.ztt.common.core.util.R;
import com.chinaztt.ztt.common.log.annotation.SysLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
 
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
 
/**
 * 工单产出批次
 *
 * @author xucg
 * @date 2022-07-20
 */
@RestController
@AllArgsConstructor
@RequestMapping("/operationTaskProduce")
@Api(value = "operationTaskProduce", tags = "工单产出批次")
public class OperationTaskProduceController {
 
    private final OperationTaskProduceService operationTaskProduceService;
 
    /**
     * 分页查询
     * @param page
     * @param operationTaskProduce
     */
    @ApiOperation(value = "分页查询", notes = "分页查询")
    @GetMapping("/page")
    public R<IPage<OperationTaskProduceDTO>> getOperationTaskProducePage(Page page, OperationTaskProduceDTO operationTaskProduce) {
        return R.ok(operationTaskProduceService.getPage(page, QueryWrapperUtil.gen(operationTaskProduce)));
    }
 
    /**
     * 列表查询
     * @param operationTaskProduce
     */
    @ApiOperation(value = "列表查询", notes = "列表查询")
    @GetMapping("/list")
    public R<List<OperationTaskProduce>> getOperationTaskProduceList(OperationTaskProduce operationTaskProduce) {
        return R.ok(operationTaskProduceService.list(QueryWrapperUtil.gen(operationTaskProduce)));
    }
 
    /**
     * 合并提交
     * @param taskProduces
     * @param type 01merge 02split
     */
    @ApiOperation(value = "合并提交", notes = "合并提交")
    @SysLog("合并提交")
    @PostMapping("/submit/{type}")
    public R submit(@RequestBody List<OperationTaskProduceDTO> taskProduces, @PathVariable String type) {
        return R.ok(operationTaskProduceService.submit(taskProduces, type));
    }
 
    /**
     * 批量更新
     */
    @ApiOperation(value = "批量更新", notes = "批量更新")
    @SysLog("批量更新")
    @PostMapping("/updateBatch")
    public R updateBatch(@RequestBody List<OperationTaskProduce> operationTaskProduces) {
        return R.ok(operationTaskProduceService.batchUpdate(operationTaskProduces));
    }
 
    /**
     * 导入工单批次
     *
     * @return
     */
    @ApiOperation(value = "导入", notes = "导入")
    @PostMapping("/upload")
    public R upload(@RequestParam("file") MultipartFile file) {
        try {
            EasyExcel.read(file.getInputStream(), OperationTaskProduceData.class, new OperationTaskProduceUploadListener(operationTaskProduceService)).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return R.ok();
    }
 
    /**
     * 导入模板下载
     *
     * @return
     */
    @ApiOperation(value = "导入模板下载", notes = "导入模板下载")
    @GetMapping("/export")
    public void export(HttpServletResponse response) throws IOException {
        operationTaskProduceService.export(response);
    }
 
    /**
     * 根据ids查询
     *
     * @param ids
     * @param idType customer 客户订单
     *               mps  生产计划
     *               mo   车间订单
     *               operationTask 工单
     * @return
     * @throws IOException
     */
    @ApiOperation(value = "根据ids查询", notes = "根据ids查询")
    @PostMapping("/getByIds/{idType}")
    public R getByIds(@RequestBody List<Long> ids, @PathVariable("idType") String idType) throws IOException {
        return R.ok(operationTaskProduceService.getByIds(ids, idType));
    }
 
    /**
     * 明细导出
     * @param ids
     */
    @ApiOperation(value = "明细导出", notes = "明细导出")
    @GetMapping("/exportData")
    public void exportData(HttpServletResponse response, @RequestParam String otcCustomerOrderNo) throws IOException {
        operationTaskProduceService.exportData(response, otcCustomerOrderNo);
    }
}