/* * Copyright (c) 2018-2025, ztt All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the pig4cloud.com developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: ztt */ package com.chinaztt.mes.quality.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaztt.mes.quality.entity.QualityLabelElement; import com.chinaztt.mes.quality.entity.QualityLabelPrintConfig; import com.chinaztt.mes.quality.entity.QualityLabelPrintConfigDetail; import com.chinaztt.mes.quality.mapper.*; import com.chinaztt.mes.quality.service.QualityLabelElementService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.UUID; /** * 标签元素 * * @author yy * @date 2023-04-11 13:54:42 */ @Service @AllArgsConstructor @Transactional public class QualityLabelElementServiceImpl extends ServiceImpl implements QualityLabelElementService { private QualityLabelPrintConfigDetailMapper qualityLabelPrintConfigDetailMapper; @Override public Boolean fullSave(QualityLabelElement qualityLabelElement) { QualityLabelElement element = baseMapper.selectOne(Wrappers.lambdaQuery().eq(QualityLabelElement::getItemDesc, qualityLabelElement.getItemDesc())); if(element!=null){ throw new RuntimeException("标签元素重复"); } String itemCode = UUID.randomUUID().toString().replaceAll("-",""); qualityLabelElement.setItemCode(itemCode); baseMapper.insert(qualityLabelElement); return true; } @Override public Boolean delete(Long id) { QualityLabelElement labelElement = baseMapper.selectById(id); List configDetails = qualityLabelPrintConfigDetailMapper.selectList(Wrappers.lambdaQuery() .eq(QualityLabelPrintConfigDetail::getItemCode, labelElement.getItemCode())); if(CollectionUtil.isNotEmpty(configDetails)){ throw new RuntimeException("此标签元素已被应用,无法删除"); } baseMapper.deleteById(id); return true; } @Override public Boolean update(QualityLabelElement qualityLabelElement) { QualityLabelElement element = baseMapper.selectOne(Wrappers.lambdaQuery().eq(QualityLabelElement::getItemDesc, qualityLabelElement.getItemDesc())); if(element!=null){ throw new RuntimeException("标签元素重复"); } QualityLabelElement labelElement = baseMapper.selectById(qualityLabelElement.getId()); List configDetails = qualityLabelPrintConfigDetailMapper.selectList(Wrappers.lambdaQuery() .eq(QualityLabelPrintConfigDetail::getItemCode, labelElement.getItemCode())); if(CollectionUtil.isNotEmpty(configDetails)){ throw new RuntimeException("此标签元素已被应用,无法更改"); } baseMapper.updateById(qualityLabelElement); return true; } }