Helius
2022-01-27 bcca71194b658250f934828edee0bad5600e1834
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
package com.matrix.system.fenxiao.action;
 
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.excl.ExcelSheetPO;
import com.matrix.core.tools.excl.ExcelUtil;
import com.matrix.core.tools.excl.ExcelVersion;
import com.matrix.system.common.tools.ResponseHeadUtil;
import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderBasicDto;
import com.matrix.system.fenxiao.dto.LoadFenxiaoOrderListDto;
import com.matrix.system.fenxiao.dto.LoadSetOrderListDtoDto;
import com.matrix.system.fenxiao.dto.UpdateSetOrderDoneDto;
import com.matrix.system.fenxiao.service.ShopSalesmanOrderService;
import com.matrix.system.fenxiao.vo.FenxiaoOrderListExportVo;
import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderBasicVo;
import com.matrix.system.fenxiao.vo.LoadFenxiaoOrderListVo;
import com.matrix.system.fenxiao.vo.LoadSetOrderListDtoVo;
import com.matrix.system.hive.bean.SysProjServices;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
 
@RestController
@RequestMapping(value = "/fenXiao/fenXiaoOrder")
public class FenXiaoOrderAction {
    
    @Autowired
    private ShopSalesmanOrderService shopSalesmanOrderService;
    
    /**
     * 分销订单基本信息
     */
    @ApiOperation(value = "分销订单基本信息")
    @ApiResponses({
            @ApiResponse(code = 200, message = "OK",  response = LoadFenxiaoOrderBasicVo.class)
    })
    @PostMapping(value = "/loadFenxiaoOrderBasic")
    public @ResponseBody
    AjaxResult loadFenxiaoOrderBasic(@RequestBody LoadFenxiaoOrderBasicDto loadFenxiaoOrderBasicDto) {
        return shopSalesmanOrderService.loadFenxiaoOrderBasic(loadFenxiaoOrderBasicDto);
    }
    
    /**
     * 分销订单
     */
    @ApiOperation(value = "分销订单")
    @ApiResponses({
            @ApiResponse(code = 200, message = "OK",  response = LoadFenxiaoOrderListVo.class)
    })
    @PostMapping(value = "/loadFenxiaoOrderList")
    public @ResponseBody
    AjaxResult loadFenxiaoOrderList(@RequestBody LoadFenxiaoOrderListDto loadFenxiaoOrderListDto) {
        return shopSalesmanOrderService.loadFenxiaoOrderList(loadFenxiaoOrderListDto);
    }
    
    /**
     *批量结算分销订单
     */
    @ApiOperation(value = "批量结算分销订单")
    @PostMapping(value = "/updateSetOrderDone")
    public @ResponseBody
    AjaxResult updateSetOrderDone(@RequestBody UpdateSetOrderDoneDto updateSetOrderDoneDto) {
        return shopSalesmanOrderService.updateSetOrderDone(updateSetOrderDoneDto);
    }
    
    /**
     * 结算记录
     */
    @ApiOperation(value = "结算记录")
    @ApiResponses({
        @ApiResponse(code = 200, message = "OK",  response = LoadSetOrderListDtoVo.class)
    })
    @PostMapping(value = "/loadSetOrderList")
    public @ResponseBody
    AjaxResult loadSetOrderList(@RequestBody LoadSetOrderListDtoDto loadSetOrderListDto) {
        return shopSalesmanOrderService.loadSetOrderList(loadSetOrderListDto);
    }
 
    @RequestMapping(value = "/exportExcel")
    public void exportExcel(HttpServletResponse response, LoadFenxiaoOrderListDto loadFenxiaoOrderListDto) throws IOException {
        List<ExcelSheetPO> res = new ArrayList<>();
        ExcelSheetPO orderSheet = new ExcelSheetPO();
        String title = "分销订单明细";
        orderSheet.setSheetName(title);
        orderSheet.setTitle(title);
        String[] header = {"订单编号","实付金额(元)", "订单状态", "下单门店","客户", "推广员","收益类型","收益金额", "结算状态", "结算编号", "结算时间", "结算人"};
        orderSheet.setHeaders(header);
 
        List<FenxiaoOrderListExportVo> dataList = shopSalesmanOrderService.findFenxiaoOrderList(loadFenxiaoOrderListDto);
        List<List<Object>> list = new ArrayList<>();
        if (dataList.size() > 0) {
            for (FenxiaoOrderListExportVo item : dataList) {
                List<Object> temp = new ArrayList<>();
                temp.add(item.getOrderNo());
                temp.add(item.getActualBalance());
                temp.add(item.getOrderState());
                temp.add(item.getAddress());
                temp.add(item.getCustom());
                temp.add(item.getParentSale());
                temp.add(item.getProfitType());
                temp.add(item.getProfitBalance());
                temp.add(item.getSettleType());
                temp.add(item.getSettleNo());
                temp.add(DateUtil.dateToString(item.getSettleTime(), DateUtil.DATE_FORMAT_MM));
                temp.add(item.getSettler());
                list.add(temp);
            }
        }
        orderSheet.setDataList(list);
        res.add(orderSheet);
        response = ResponseHeadUtil.setExcelHead(response);
        response.setHeader("Content-Disposition",
                "attachment;filename=" + URLEncoder.encode(title + DateUtil.getTimeMark() + ".xlsx".trim(), "UTF-8"));
        OutputStream os = response.getOutputStream();
        ExcelUtil.createWorkbookAtOutStream(ExcelVersion.V2007, res, os, true);
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
 
}