liu
10 天以前 dd1a51612fcd3c839d31dfa0df83b3d3071c8145
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
package com.ruoyi.unattended.controller;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.pojo.Account;
import com.ruoyi.account.service.AccountService;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.unattended.pojo.UnattendedOperation;
import com.ruoyi.unattended.service.UnattendedOperationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
 
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
 
/**
 * 无人值守
 */
@RestController
@RequestMapping("/environmentAccess")
@Api(tags = "无人值守")
public class UnattendedOperationController {
 
    @Resource
    private UnattendedOperationService unattendedOperationService;
 
 
    /**
     * 新增
     * @param unattendedOperation
     * @return
     */
    @PostMapping("/weighbridgeSystemAdd")
    @ApiOperation("新增")
    public AjaxResult add(@RequestBody UnattendedOperation unattendedOperation) {
        UnattendedOperation result = unattendedOperationService.autoWeigh(unattendedOperation);
        unattendedOperationService.save(result);
        return AjaxResult.success(result);
    }
 
    /**
     * 删除
     * @param ids
     * @return
     */
    @DeleteMapping("/weighbridgeSystemDelete")
    @ApiOperation("删除")
    public AjaxResult delQualityInspect(@RequestBody List<Integer> ids) {
        if(CollectionUtils.isEmpty(ids)){
            return AjaxResult.error("请选择至少一条数据");
        }
        //删除检验单
        return AjaxResult.success(unattendedOperationService.removeBatchByIds(ids));
    }
 
    /**
     * 修改
     * @param unattendedOperation
     * @return
     */
    @PutMapping("/weighbridgeSystemUpdate")
    @ApiOperation("修改")
    public AjaxResult update(@RequestBody UnattendedOperation unattendedOperation) {
        return AjaxResult.success(unattendedOperationService.updateById(unattendedOperation));
    }
 
    /**
     *分页查询
     * @param page
     * @return
     */
    @GetMapping("/weighbridgeSystemPage")
    @ApiOperation("分页查询")
    public AjaxResult weighbridgeSystemPage(Page page,UnattendedOperation unattendedOperation) {
        if (ObjectUtils.isNotNull(unattendedOperation.getPlateNumber())){
            return AjaxResult.success(unattendedOperationService.page(page, new QueryWrapper<UnattendedOperation>().lambda()
                    .eq(UnattendedOperation::getPlateNumber, unattendedOperation.getPlateNumber())));
        }
        return AjaxResult.success(unattendedOperationService.page(page));
    }
 
    /**
     *详情
     * @return
     */
    @GetMapping("/weighbridgeSystemInfo")
    @ApiOperation("详情")
    public AjaxResult accountListPage(Long id) {
        return AjaxResult.success(unattendedOperationService.getById(id));
    }
 
    /**
     * 无人值守自动称重:计算净重、红外防作弊、订单匹配、生成磅单号/二维码并保存
     */
    @PostMapping("/weighbridgeAutoWeigh")
    @ApiOperation("自动称重")
    public AjaxResult autoWeigh(@RequestBody UnattendedOperation operation) {
        try {
            UnattendedOperation result = unattendedOperationService.autoWeigh(operation);
            unattendedOperationService.save(result);
            return AjaxResult.success(result);
        } catch (IllegalArgumentException e) {
            return AjaxResult.error(e.getMessage());
        }
    }
 
    /**
     * 推送 ERP
     */
    @PostMapping("/weighbridgePushErp/{id}")
    @ApiOperation("推送ERP")
    public AjaxResult pushErp(@PathVariable Long id) {
        try {
            return AjaxResult.success(unattendedOperationService.pushErp(id));
        } catch (IllegalArgumentException e) {
            return AjaxResult.error(e.getMessage());
        }
    }
 
    /**
     * 承运商绩效分析
     */
    @GetMapping("/carrierPerformance")
    @ApiOperation("承运商绩效分析")
    public AjaxResult carrierPerformance(String startDate, String endDate) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        return AjaxResult.success(unattendedOperationService.carrierPerformance(
                LocalDateTime.parse(startDate, formatter), LocalDateTime.parse(endDate, formatter)));
    }
 
    /**
     *统计
     * @return
     */
    @GetMapping("/weighbridgeDailyReport")
    @ApiOperation("统计")
    public AjaxResult weighbridgeDailyReport(String startDate,String endDate) {
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime startDateTime = LocalDateTime.parse(startDate, dateTimeFormatter);
        LocalDateTime endDateTime = LocalDateTime.parse(endDate, dateTimeFormatter);
        return AjaxResult.success(unattendedOperationService.weighbridgeDailyReport(startDateTime,endDateTime));
    }
 
}