lyh
2025-03-07 b864148d2a9afd5e1627b761da923cca8f8dfbd2
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
package org.jeecg.modules.dnc.service.impl;
 
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.dnc.entity.Cutter;
import org.jeecg.modules.dnc.exception.ExceptionCast;
import org.jeecg.modules.dnc.mapper.CutterMapper;
import org.jeecg.modules.dnc.response.CommonCode;
import org.jeecg.modules.dnc.response.ProcessInfoCode;
import org.jeecg.modules.dnc.service.ICutterService;
import org.jeecg.modules.dnc.utils.ValidateUtil;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
@Service
public class CutterServiceImpl extends ServiceImpl<CutterMapper, Cutter> implements ICutterService {
 
    /**
     * 新增刀具信息
     * @param cutter
     * @return
     */
    @Override
    public Result<?> add(Cutter cutter){
        if(cutter == null)
            ExceptionCast.cast(CommonCode.INVALID_PARAM);
        if(!ValidateUtil.validateString(cutter.getProcessStepId()))
            Result.error("无效的刀具");
        boolean b =this.checkCutterNo(cutter);
        if(!b)
            return Result.error("已存在相同的刀具编号");
        boolean save = this.save(cutter);
        if(save){
            return Result.OK("添加刀具成功");
        }
        return Result.error("新增刀具失败");
    }
 
    /**
     * 编辑刀具信息
     * @param cutter
     * @return
     */
    @Override
    public Result<?> edit(Cutter cutter){
        if(cutter == null)
            ExceptionCast.cast(CommonCode.INVALID_PARAM);
        if(!ValidateUtil.validateString(cutter.getCutterName()))
            ExceptionCast.cast(ProcessInfoCode.PROCESS_NAME_NONE);
        Cutter en = super.getById(cutter.getId());
        if(en == null)
            ExceptionCast.cast(ProcessInfoCode.WORKSTEP_NOT_EXIST);
        boolean b =this.checkCutterNo(cutter);
        if(!b)
            return Result.error("已存在相同的刀具编号");
        boolean save = this.updateById(cutter);
        if(save){
            return Result.OK("刀具信息编辑成功");
        }
        return Result.OK("刀具信息编辑失败");
    }
 
    /**
     * 删除刀具信息
     * @param id
     * @return
     */
    @Override
    public Result<?> delete(String id){
        if(!ValidateUtil.validateString(id))
            ExceptionCast.cast(CommonCode.INVALID_PARAM);
        Cutter en = super.getById(id);
        if(en == null)
            return Result.error("无效的刀具");
        boolean b=super.removeById(id);
        if(!b) {
            return Result.error("删除刀具失败");
        }
        return Result.OK("删除刀具成功");
    }
 
    /**
     * 验证同结构下刀具编号是否重复
     * @param cutter
     * @return
     */
    public boolean checkCutterNo(Cutter cutter){
        QueryWrapper<Cutter> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq(StrUtil.isNotEmpty(cutter.getProcessStepId()),"process_step_id",cutter.getProcessStepId());
        queryWrapper.eq("type",cutter.getType());
        queryWrapper.eq(StrUtil.isNotEmpty(cutter.getCutterCode()),"craft_code",cutter.getCutterCode());
        List<Cutter> list = baseMapper.selectList(queryWrapper);
        return list.isEmpty();
    }
 
    /**
     * 获取业务id下的刀具列表
     * @param cutter
     * @return
     */
    @Override
    public Result<?> query(Cutter cutter, Integer pageNo, Integer pageSize){
        QueryWrapper<Cutter> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq(StrUtil.isNotEmpty(cutter.getProcessStepId()),"process_step_id",cutter.getProcessStepId());
        if (cutter.getType() != null){
            queryWrapper.eq("type",cutter.getType());
        }
        queryWrapper.like(StrUtil.isNotEmpty(cutter.getCutterName()),"craft_code",cutter.getCutterCode());
        queryWrapper.like(StrUtil.isNotEmpty(cutter.getCutterName()),"craft_name",cutter.getCutterName());
        queryWrapper.orderByDesc("create_time");
        Page<Cutter> page = new Page<>(pageNo,pageSize);
        IPage<Cutter> cutterIPage = baseMapper.selectPage(page, queryWrapper);
        return Result.OK(cutterIPage);
    }
}