package com.chinaztt.mes.production.service.impl;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DateUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
import com.chinaztt.mes.common.numgen.NumberGenerator;
|
import com.chinaztt.mes.production.dto.HandymanTemplateDTO;
|
import com.chinaztt.mes.production.entity.HandymanTemplate;
|
import com.chinaztt.mes.production.entity.HandymanType;
|
import com.chinaztt.mes.production.mapper.ArtificialInformationRelationMapper;
|
import com.chinaztt.mes.production.mapper.HandymanTemplateMapper;
|
import com.chinaztt.mes.production.service.HandymanTemplateService;
|
import io.micrometer.core.instrument.util.StringUtils;
|
import lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.time.LocalDateTime;
|
import java.util.List;
|
|
/**
|
* 人工模板
|
*
|
* @author cxf
|
* @date 2021-02-04 14:04:20
|
*/
|
@Service
|
@AllArgsConstructor
|
@Transactional(rollbackFor = Exception.class)
|
public class HandymanTemplateServiceImpl extends ServiceImpl<HandymanTemplateMapper, HandymanTemplate> implements HandymanTemplateService {
|
private NumberGenerator<HandymanTemplate> handymanTemplateNumberGenerator;
|
|
@Override
|
public boolean save(HandymanTemplate handymanTemplate) {
|
checkTemplateNo(handymanTemplate);
|
return SqlHelper.retBool(baseMapper.insert(handymanTemplate));
|
}
|
|
@Override
|
public boolean updateById(HandymanTemplate handymanTemplate) {
|
checkTemplateNo(handymanTemplate);
|
return SqlHelper.retBool(baseMapper.updateById(handymanTemplate));
|
}
|
|
private void checkTemplateNo(HandymanTemplate handymanTemplate) {
|
if (StringUtils.isBlank(handymanTemplate.getTemplateNo())) {
|
// 1. 自动生成人工编号
|
handymanTemplate.setTemplateNo(handymanTemplateNumberGenerator.generateNumberWithPrefix(HandymanTemplate.DIGIT, HandymanTemplate.PREFIX + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATE_PATTERN) + "-", HandymanTemplate::getTemplateNo));
|
} else {
|
// 2.判断是否重复
|
List<HandymanTemplate> repeatNumbers = baseMapper.selectList(Wrappers.<HandymanTemplate>query().lambda().eq(HandymanTemplate::getTemplateNo, handymanTemplate.getTemplateNo()).ne(HandymanTemplate::getId, handymanTemplate.getId()));
|
if (CollectionUtil.isNotEmpty(repeatNumbers)) {
|
throw new RuntimeException("编号重复");
|
}
|
}
|
}
|
|
@Override
|
public List<HandymanTemplateDTO> getList(QueryWrapper<HandymanTemplateDTO> gen) {
|
return baseMapper.getList(gen);
|
}
|
|
|
|
@Override
|
public List<HandymanTemplateDTO> getProductionHandymanTemplateByWorkstation(List<Long> workstationIdList) {
|
return baseMapper.getProductionHandymanTemplateByWorkstation(workstationIdList);
|
}
|
}
|