guoyuji
2025-02-13 cb35b3d514fd0d1d519d9c284fe7e485bc43983b
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
package com.example.erp.controller.sd;
 
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.example.erp.common.Constants;
import com.example.erp.common.Result;
import com.example.erp.dto.sd.OrderDTO;
import com.example.erp.dto.sd.OrderDetailProductDTO;
import com.example.erp.entity.sd.Order;
import com.example.erp.entity.sd.OrderDetail;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.exception.ServiceException;
import com.example.erp.service.sd.OrderService;
import com.example.erp.tools.DownExcel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
 
@RestController
@RequestMapping("/order")
@Api(value="订单controller",tags={"订单操作接口"})
public class OrderController {
    private final OrderService orderService;
 
    public OrderController(OrderService orderService) {
        this.orderService = orderService;
    }
 
 
    @ApiOperation("订单保存")
    @PostMapping("/saveOrder")
    @SaCheckPermission("createOrder.add")
    public Result saveOrder(@RequestBody Map<String, Object> orderMap) throws Exception {
        if(orderService.saveOrder(orderMap))    {
            return Result.seccess(true);
        }else{
            throw new ServiceException(Constants.Code_500,Constants.Code_msg);
        }
    }
    @ApiOperation("其他系统传输订单保存")
    @PostMapping("/saveOtherSystemOrder")
    public Result saveOtherSystemOrder(@RequestBody Map<String, Object> orderMap) throws Exception {
        if(orderService.saveOrder(orderMap))    {
            return Result.seccess(true);
        }else{
            throw new ServiceException(Constants.Code_500,Constants.Code_msg);
        }
    }
 
    @ApiOperation("订单表头保存")
    @PostMapping("/saveOrderTitle")
    @SaCheckPermission("createOrder.add")
    public Result saveOrderTitle(@RequestBody Map<String, Object> orderMap) throws Exception {
        if(orderService.saveOrderTitle(orderMap))    {
            return Result.seccess(true);
        }else{
            throw new ServiceException(Constants.Code_500,Constants.Code_msg);
        }
    }
 
    @ApiOperation("重复订单查询")
    @SaCheckPermission("createOrder.search")
    @PostMapping("/selectOrder")
    public Result selectOrder(@RequestBody Map<String, Object> orderMap) throws Exception {
        return Result.seccess(orderService.selectOrder(orderMap));
    }
    @ApiOperation("订单分页筛选查询")
    @SaCheckPermission("selectOrder.search")
    @PostMapping("/getOrderList/{pageNum}/{pageSize}/{orderType}/{selectDate}")
    public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Map<String,Object> config)  {
        return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, config,orderType));
    }
    @ApiOperation("删除订单")
    @SaCheckPermission("selectOrder.delete")
    @PostMapping("/deleteOrder/{id}")
    public Result deleteOrder(@PathVariable String id)  {
        return Result.seccess(orderService.deleteOrder(id));
    }
 
    @ApiOperation("订单作废")
    @SaCheckPermission("createOrder.cancel")
    @PostMapping("/cancelOrder/{id}")
    public Result cancelOrder(@PathVariable String id)  {
        return Result.seccess(orderService.cancelOrder(id));
    }
 
    @ApiOperation("根据id获取订单信息")
    @PostMapping("/getOrderById/{id}")
    public Result getOrderById(@PathVariable String id)  {
        return  Result.seccess(orderService.getOrderById(id));
    }
 
    @ApiOperation("根据id获取订单明细信息")
    @SaCheckPermission("selectOrder.search")
    @PostMapping("/getOrderDetailById/{id}")
    public Result getOrderDetailById(@PathVariable String id)  {
        return  Result.seccess(orderService.getOrderDetailById(id));
    }
 
 
 
 
    @ApiOperation("查询订单工艺")
    @SaCheckPermission("updateOrderCraft.search")
    @PostMapping("/getOrderCraftById/{id}")
    public Result getOrderCraftById(@PathVariable String id)  {
        return  Result.seccess(orderService.getOrderCraftById(id));
    }
 
    @PostMapping("/getOrderCraftDetailById/{id}")
    public Result getOrderCraftDetailById(@PathVariable String id)  {
        return  Result.seccess(orderService.getOrderCraftDetailById(id));
    }
    @ApiOperation("审核订单")
    @SaCheckPermission("createOrder.review")
    @PostMapping("/reviewOrderById/{id}/{status}/{userId}/{userName}")
    public Result reviewOrderById(@PathVariable String id,
                                  @PathVariable Integer status
                                      ,@PathVariable String userId,@PathVariable String userName)  {
        return  Result.seccess(orderService.reviewOrderById(id,status,userId,userName));
    }
 
    @ApiOperation("审核工艺")
    @SaCheckPermission("updateOrderCraft.review")
    @PostMapping("/reviewProcessById/{id}/{status}")
    public Result reviewProcessById(@PathVariable String id,@PathVariable Integer status,@RequestBody List<OrderGlassDetail> orderGlassDetails)  {
        return  Result.seccess(orderService.reviewProcessById(id,status,orderGlassDetails));
    }
 
    @ApiOperation("更新订单金额单价")
    @SaCheckPermission("createOrder.amountReset")
    @PostMapping("/updateOrderMoney")
    public Result updateOrderMoney(@RequestBody Map<String,Object> map)  {
        return  Result.seccess(orderService.updateOrderMoney(map));
    }
 
    @SaCheckPermission("orderReport.search")
    @ApiOperation("查询订单报表")
    @PostMapping("/getOrderReport/{pageNum}/{pageSize}/{selectDate}")
    public Result getOrderReport(@PathVariable Integer pageNum,
                                 @PathVariable Integer pageSize,
                                 @PathVariable List<String> selectDate,
                                 @RequestBody OrderDetail orderDetail)  {
        return  Result.seccess(orderService.getOrderReport(pageNum,pageSize,selectDate,orderDetail));
 
    }
 
    //@SaCheckPermission("orderProductSummary.search")
    @ApiOperation("查询订单产品汇总报表")
    @PostMapping("/getOrderProductSummary/{pageNum}/{pageSize}/{selectDate}")
    public Result getOrderProductSummary(@PathVariable Integer pageNum,
                                 @PathVariable Integer pageSize,
                                 @PathVariable List<String> selectDate,
                                 @RequestBody OrderDetail orderDetail)  {
        return  Result.seccess(orderService.getOrderProductSummary(pageNum,pageSize,selectDate,orderDetail));
 
    }
 
    @SaCheckPermission("orderReport.search")
    @ApiOperation("查询订单总报表")
    @PostMapping("/getOrderSummaryReport/{pageNum}/{pageSize}/{selectDate}")
    public Result getOrderSummaryReport(@PathVariable Integer pageNum,
                                 @PathVariable Integer pageSize,
                                 @PathVariable List<String> selectDate,
                                 @RequestBody Order order)  {
        return  Result.seccess(orderService.getOrderSummaryReport(pageNum,pageSize,selectDate,order));
 
    }
 
    @ApiOperation("订单报表导出")
    @PostMapping("/exportOrderReport")
    public void exportOrderReport(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
 
        //参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字
        DownExcel.download(response, OrderDTO.class, orderService.exportOrderReport(dates),"orderReport");
    }
 
    @ApiOperation("订单产品汇总报表导出")
    @PostMapping("/exportOrderProductSummary")
    public void exportOrderProductSummary(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
        //参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字
        DownExcel.download(response, OrderDTO.class, orderService.exportOrderProductSummary(dates),"orderReport");
    }
 
    @ApiOperation("订单总报表导出")
    @PostMapping("/exportOrderSummary")
    public void exportOrderSummary(HttpServletResponse response, @RequestBody List<LocalDate> dates) throws IOException, IllegalAccessException, InstantiationException {
 
        //参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字
        DownExcel.download(response, Order.class, orderService.exportOrderSummary(dates),"orderReport");
    }
 
 
    @ApiOperation("订单小片标签")
    @PostMapping("/getOrderProductDetailTag/{orderId}")
    public Result getOrderProductDetailTag(@PathVariable String orderId)  {
        return   Result.seccess(orderService.getOrderProductDetailTag(orderId));
    }
 
    @ApiOperation("订单加工单打印-成品")
    @GetMapping ("/printOrderProductDetail/{orderId}")
    public Result printOrderProductDetail(@PathVariable String orderId)  {
 
        return   Result.seccess(orderService.printOrderProductDetail(orderId));
    }
 
    @ApiOperation("订单加工单打印-小片明细")
    @GetMapping ("/printOrderProductGlassDetail/{orderId}")
    public Result printOrderProductGlassDetail(@PathVariable String orderId)  {
        return   Result.seccess(orderService.printOrderProductGlassDetail(orderId));
    }
    @ApiOperation("订单加工单打印-小片明细1")
    @PostMapping ("/printOrderProductGlassDetailMonolithic/{orderId}")
    public Result printOrderProductGlassDetailMonolithic(@PathVariable String orderId,@RequestBody List<String> selectedValues)  {
        return   Result.seccess(orderService.printOrderProductGlassDetailMonolithic(orderId,selectedValues));
    }
    @ApiOperation("订单加工单打印-成品2")
    @GetMapping ("/printOrderProductDetail/{orderId}/{selectedValues}")
    public Result printOrderProductDetail(@PathVariable String orderId,@PathVariable List<String> selectedValues)  {
 
        return   Result.seccess(orderService.printOrderProductDetails(orderId,selectedValues));
    }
 
    @ApiOperation("订单打印计数")
    @PostMapping ("/updateOrderPrintNumber/{orderId}")
    public Result updateOrderPrintNumber(@PathVariable String orderId)  {
 
        return  Result.seccess(orderService.updateOrderPrintNumber(orderId));
    }
 
    @ApiOperation("修改订单号")
    @SaCheckPermission("createOrder.amountReset")
    @PostMapping("/updateOrderId")
    public Result updateOrderId(@RequestBody Map<String,Object> map)  {
        return  Result.seccess(orderService.updateOrderId(map));
    }
 
    @ApiOperation("订单反审是否存在手动大小片")
    @PostMapping("/selectDifferentSize/{orderId}")
    public Result selectDifferentSize(@PathVariable String orderId)  {
        return  Result.seccess(orderService.selectDifferentSize(orderId));
    }
 
    @ApiOperation("退回流程")
    @PostMapping("/processBack/{orderId}")
    public Result processBack(@PathVariable String orderId)  {
        return  Result.seccess(orderService.processBack(orderId));
    }
 
 
}