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 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 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 list = baseMapper.selectList(queryWrapper); return list.isEmpty(); } /** * 获取业务id下的刀具列表 * @param cutter * @return */ @Override public Result query(Cutter cutter, Integer pageNo, Integer pageSize){ QueryWrapper 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 page = new Page<>(pageNo,pageSize); IPage cutterIPage = baseMapper.selectPage(page, queryWrapper); return Result.OK(cutterIPage); } }