package com.qianwen.smartman.modules.trace.service.impl;
|
|
import java.util.List;
|
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.qianwen.core.log.exception.ServiceException;
|
import com.qianwen.core.mp.base.BaseServiceImpl;
|
import com.qianwen.core.mp.support.Condition;
|
import com.qianwen.core.mp.support.Query;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.common.constant.CommonGroupConstant;
|
import com.qianwen.smartman.common.enums.CommonGroupTypeEnum;
|
import com.qianwen.smartman.common.utils.MessageUtils;
|
import com.qianwen.smartman.modules.cps.entity.CommonGroupOfItem;
|
import com.qianwen.smartman.modules.cps.service.ICommonGroupOfItemService;
|
import com.qianwen.smartman.modules.trace.convert.NgReasonInfoConvert;
|
import com.qianwen.smartman.modules.trace.entity.NgReasonInfo;
|
import com.qianwen.smartman.modules.trace.mapper.NgReasonInfoMapper;
|
import com.qianwen.smartman.modules.trace.service.INgReasonInfoService;
|
import com.qianwen.smartman.modules.trace.vo.NgReasonInfoSubmitVO;
|
import com.qianwen.smartman.modules.trace.vo.NgReasonInfoUpdateVO;
|
import com.qianwen.smartman.modules.trace.vo.NgReasonInfoVO;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/trace/service/impl/NgReasonInfoServiceImpl.class */
|
public class NgReasonInfoServiceImpl extends BaseServiceImpl<NgReasonInfoMapper, NgReasonInfo> implements INgReasonInfoService {
|
private final ICommonGroupOfItemService commonGroupOfItemService;
|
private final NgReasonInfoMapper ngReasonInfoMapper;
|
|
public NgReasonInfoServiceImpl(final ICommonGroupOfItemService commonGroupOfItemService, final NgReasonInfoMapper ngReasonInfoMapper) {
|
this.commonGroupOfItemService = commonGroupOfItemService;
|
this.ngReasonInfoMapper = ngReasonInfoMapper;
|
}
|
|
@Override // org.springblade.modules.trace.service.INgReasonInfoService
|
public NgReasonInfoVO insert(NgReasonInfoSubmitVO ngReasonInfoSubmitVO) {
|
NgReasonInfo ngReasonInfo = NgReasonInfoConvert.INSTANCE.convertVO(ngReasonInfoSubmitVO);
|
checkNgInfo(ngReasonInfo);
|
save(ngReasonInfo);
|
|
List<CommonGroupOfItem> items = this.commonGroupOfItemService.list(Wrappers.<CommonGroupOfItem>lambdaQuery().eq(CommonGroupOfItem::getItemId, ngReasonInfo.getId()));
|
|
if (Func.isNotEmpty(ngReasonInfoSubmitVO.getGroupId()) && Func.isEmpty(items)) {
|
CommonGroupOfItem commonGroupOfItem = new CommonGroupOfItem(ngReasonInfoSubmitVO.getGroupId(), ngReasonInfo.getId(), CommonGroupTypeEnum.NG_REASON.getName(), CommonGroupConstant.DEFAULT_CATEGORY);
|
this.commonGroupOfItemService.save(commonGroupOfItem);
|
}
|
NgReasonInfoVO ngReasonInfoVO = NgReasonInfoConvert.INSTANCE.convertSaveVO(ngReasonInfoSubmitVO);
|
return ngReasonInfoVO;
|
}
|
|
@Override // org.springblade.modules.trace.service.INgReasonInfoService
|
public IPage<NgReasonInfoVO> listPage(IPage<Object> page, Long groupId) {
|
if (CommonGroupConstant.NG_ROOT.equals(groupId)) {
|
return this.ngReasonInfoMapper.listPage(page, null);
|
}
|
return this.ngReasonInfoMapper.listPage(page, groupId);
|
}
|
|
@Override // org.springblade.modules.trace.service.INgReasonInfoService
|
public Boolean delete(List<Long> ids) {
|
this.commonGroupOfItemService.remove(Wrappers.<CommonGroupOfItem>lambdaQuery().in(CommonGroupOfItem::getItemId, ids));
|
/*
|
this.commonGroupOfItemService.remove((Wrapper) Wrappers.lambdaQuery().in((v0) -> {
|
return v0.getItemId();
|
}, ids));*/
|
return Boolean.valueOf(removeByIds(ids));
|
}
|
|
@Override // org.springblade.modules.trace.service.INgReasonInfoService
|
@Transactional(rollbackFor = {Exception.class})
|
public NgReasonInfoVO update(NgReasonInfoUpdateVO ngReasonInfoUpdateVO) {
|
NgReasonInfo ngReasonInfo = NgReasonInfoConvert.INSTANCE.convertVO(ngReasonInfoUpdateVO);
|
checkNgInfo(ngReasonInfo);
|
NgReasonInfo old = (NgReasonInfo) getById(ngReasonInfo.getId());
|
if (Func.isNotEmpty(ngReasonInfo.getReasonCode())) {
|
ngReasonInfo.setReasonCode(old.getReasonCode());
|
}
|
updateById(ngReasonInfo);
|
return NgReasonInfoConvert.INSTANCE.convert(ngReasonInfo);
|
}
|
|
@Override // org.springblade.modules.trace.service.INgReasonInfoService
|
public Boolean isReasonCodeRepeat(Long id, String code) {
|
long count = count(Wrappers.<NgReasonInfo>lambdaQuery().ne(Func.isNotEmpty(id), NgReasonInfo::getId, id).eq(NgReasonInfo::getReasonCode, code));
|
|
/*
|
long count = count((Wrapper) Wrappers.lambdaQuery().ne(Func.isNotEmpty(id), (v0) -> {
|
return v0.getId();
|
}, id).eq((v0) -> {
|
return v0.getReasonCode();
|
}, code));*/
|
return Boolean.valueOf(count > 0);
|
}
|
|
@Override // org.springblade.modules.trace.service.INgReasonInfoService
|
public IPage<NgReasonInfoVO> pageNotUse(Long groupId, Long recordId, Query query) {
|
return this.ngReasonInfoMapper.pageNotUse(Condition.getPage(query), groupId, recordId);
|
}
|
|
private void checkNgInfo(NgReasonInfo ngReasonInfo) {
|
if (Func.isNotEmpty(ngReasonInfo.getReasonCode()) && ngReasonInfo.getReasonCode().length() > 24) {
|
throw new ServiceException(MessageUtils.message("cps.ng.reasoncode.length.too.long", new Object[0]));
|
}
|
Long count = Long.valueOf(count(Wrappers.<NgReasonInfo>lambdaQuery().ne(Func.isNotEmpty(ngReasonInfo.getId()), NgReasonInfo::getId, ngReasonInfo.getId())
|
.eq(NgReasonInfo::getReasonCode, ngReasonInfo.getReasonCode())));
|
/*
|
Long count = Long.valueOf(count((Wrapper) Wrappers.lambdaQuery().ne(Func.isNotEmpty(ngReasonInfo.getId()), (v0) -> {
|
return v0.getId();
|
}, ngReasonInfo.getId()).eq((v0) -> {
|
return v0.getReasonCode();
|
}, ngReasonInfo.getReasonCode())));*/
|
if (count.longValue() > 0) {
|
throw new ServiceException(MessageUtils.message("cps.ng.reasoncode.already.exists", new Object[0]));
|
}
|
}
|
}
|