sgj
2026-02-25 3faf4fd897e595d4f30c7f4b6e5a7003fc4dcdb3
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.fzzy.work;
 
import com.fzzy.igds.utils.DateUtil;
import com.fzzy.work.data.WorkNode;
import com.fzzy.work.data.WorkStatus;
import com.fzzy.work.domain.WorkOrder;
import com.fzzy.work.domain.WorkOrderConf;
import com.fzzy.work.domain.WorkOrderProcess;
import com.fzzy.work.service.WorkOrderConfService;
import com.fzzy.work.service.WorkOrderProcessService;
import com.fzzy.work.service.WorkOrderService;
import com.ruoyi.common.core.controller.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
 
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
 
/**
 * 工单管理
 */
@Slf4j
@Controller
@RequestMapping("/work")
public class WorkOrderController extends BaseController {
 
 
    private static final String prefix = "work";
 
    @Resource
    private WorkOrderConfService workOrderConfService;
    @Resource
    private WorkOrderProcessService workOrderProcessService;
    @Resource
    private WorkOrderService workOrderService;
 
 
    /**
     * 工单列表页面
     *
     */
    @GetMapping("/list")
    public String list(ModelMap mmap) {
 
        return prefix + "/list";
    }
 
 
    /**
     * 工单无业务列表页面
     *
     */
    @GetMapping("/no-business")
    public String noBusiness(ModelMap mmap) {
 
        return prefix + "/no-business";
    }
 
    /**
     * 根据配置ID 获取到配置信息
     * 工单流程图配置
     *
     */
    @GetMapping("/flow-conf")
    public String flowConf(@RequestParam("id") String id, ModelMap mmap) {
 
        WorkOrderConf conf = workOrderConfService.selectById(id);
        if (null == conf) conf = new WorkOrderConf();
 
        mmap.put("data", conf);
 
        return prefix + "/flow-conf";
    }
 
 
    /**
     * 工单记录
     *
     */
    @GetMapping("/flow-his")
    public String flowHis(@RequestParam("orderId") String orderId, ModelMap mmap) {
        log.info("工单记录-工单ID:{}", orderId);
        List<WorkOrderProcess> list = workOrderProcessService.queryList(orderId);
        mmap.put("list", list);
        mmap.put("tipTime", "0分钟");
        mmap.put("tipCount", "0次");
 
        if (null == list || list.isEmpty()) return prefix + "/flow-his";
 
 
 
        //次数默认减去第一次提交
        mmap.put("tipCount", list.size() - 1 + "次");
        WorkOrderProcess last = list.get(0);
        if(!last.getNode().equals(WorkNode.NODE_END.getCode())){
            long tipTime = DateUtil.difMin(list.get(0).getCreateTime(), new Date());
            mmap.put("tipTime", tipTime + "分钟");
        }
 
        return prefix + "/flow-his";
    }
 
    @GetMapping("/flow-his2")
    public String flowHis2(@RequestParam("businessId") String businessId, ModelMap mmap) {
        log.info("工单记录-业务ID:{}", businessId);
 
        //获取工单
        WorkOrder order = workOrderService.selectByBusinessId(businessId);
        mmap.put("list", null);
        mmap.put("tipTime", "0分钟");
        mmap.put("tipCount", "0次");
        if (null == order) return prefix + "/flow-his";
 
        List<WorkOrderProcess> list = workOrderProcessService.queryList(order.getId());
 
        if (null == list || list.isEmpty()) return prefix + "/flow-his";
 
        //次数默认减去第一次提交
        mmap.put("tipCount", list.size() - 1 + "次");
        WorkOrderProcess last = list.get(0);
        if(!last.getNode().equals(WorkNode.NODE_END.getCode())){
            long tipTime = DateUtil.difMin(list.get(0).getCreateTime(), new Date());
            mmap.put("tipTime", tipTime + "分钟");
        }
 
        return prefix + "/flow-his";
    }
}