车间能级提升-智能设备管理系统
zhuguifei
2025-03-12 66e943c91e133eec5a0822ea22fd92cbc04bc9f3
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
package org.dromara.eims.controller;
 
import java.util.List;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.eims.domain.vo.MaintOrdeGroupVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.eims.domain.vo.EimsMaintOrderVo;
import org.dromara.eims.domain.bo.EimsMaintOrderBo;
import org.dromara.eims.service.IEimsMaintOrderService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
 
/**
 * 保养工单
 *
 * @author zhuguifei
 * @date 2025-03-06
 */
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/eims/maintOrder")
public class EimsMaintOrderController extends BaseController {
 
    private final IEimsMaintOrderService eimsMaintOrderService;
 
    /**
     * 查询保养工单列表
     */
    @SaCheckPermission("eims:maintOrder:list")
    @GetMapping("/list")
    public TableDataInfo<EimsMaintOrderVo> list(EimsMaintOrderBo bo, PageQuery pageQuery) {
//        return eimsMaintOrderService.queryPageList(bo, pageQuery);
        return eimsMaintOrderService.queryPageListCustom(bo, pageQuery);
    }
 
 
    @SaCheckPermission("eims:maintOrder:list")
    @GetMapping("/groupList")
    public TableDataInfo<MaintOrdeGroupVo> group(EimsMaintOrderBo bo, PageQuery pageQuery) {
//        return eimsMaintOrderService.queryPageList(bo, pageQuery);
        return eimsMaintOrderService.queryPageGroupList(bo, pageQuery);
    }
 
    @SaCheckPermission("eims:maintOrder:list")
    @GetMapping("/detailList")
    public TableDataInfo<EimsMaintOrderVo> groupDetail(EimsMaintOrderBo bo, PageQuery pageQuery) {
        // 这里使用mintCode传递了 equid + plantime
        String maintCode = bo.getMaintCode();
        if (StringUtils.isEmpty(maintCode) || !maintCode.contains("_")) {
            return TableDataInfo.build(new Page<>(0,0));
        }
        String[] split = maintCode.split("_");
        bo.setEquId(Long.valueOf(split[0]));
        bo.setPlanTime(DateUtils.parseDate(split[1]));
        bo.setMaintCode(null);
//        return eimsMaintOrderService.queryPageList(bo, pageQuery);
        return eimsMaintOrderService.queryPageListCustom(bo, pageQuery);
    }
 
    /**
     * 导出保养工单列表
     */
    @SaCheckPermission("eims:maintOrder:export")
    @Log(title = "保养工单", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(EimsMaintOrderBo bo, HttpServletResponse response) {
        List<EimsMaintOrderVo> list = eimsMaintOrderService.queryList(bo);
        ExcelUtil.exportExcel(list, "保养工单", EimsMaintOrderVo.class, response);
    }
 
    /**
     * 获取保养工单详细信息
     *
     * @param id 主键
     */
    @SaCheckPermission("eims:maintOrder:query")
    @GetMapping("/{id}")
    public R<EimsMaintOrderVo> getInfo(@NotNull(message = "主键不能为空")
                                       @PathVariable Long id) {
        return R.ok(eimsMaintOrderService.queryById(id));
    }
 
    /**
     * 新增保养工单
     */
    @SaCheckPermission("eims:maintOrder:add")
    @Log(title = "保养工单", businessType = BusinessType.INSERT)
    @RepeatSubmit()
    @PostMapping()
    public R<Void> add(@Validated(AddGroup.class) @RequestBody EimsMaintOrderBo bo) {
        return toAjax(eimsMaintOrderService.insertByBo(bo));
    }
 
    /**
     * 修改保养工单
     */
    @SaCheckPermission("eims:maintOrder:edit")
    @Log(title = "保养工单", businessType = BusinessType.UPDATE)
    @RepeatSubmit()
    @PutMapping()
    public R<Void> edit(@Validated(EditGroup.class) @RequestBody EimsMaintOrderBo bo) {
        return toAjax(eimsMaintOrderService.updateByBo(bo));
    }
 
    /**
     * 删除保养工单
     *
     * @param ids 主键串
     */
    @SaCheckPermission("eims:maintOrder:remove")
    @Log(title = "保养工单", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public R<Void> remove(@NotEmpty(message = "主键不能为空")
                          @PathVariable Long[] ids) {
        return toAjax(eimsMaintOrderService.deleteWithValidByIds(List.of(ids), true));
    }
}