| | |
| | | package com.qianwen.smartman.modules.cps.service.impl; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.excel.write.merge.AbstractMergeStrategy; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.core.toolkit.support.SFunction; |
| | | import com.google.common.collect.Sets; |
| | | import java.lang.invoke.SerializedLambda; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | |
| | | import java.util.Objects; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import org.apache.commons.compress.utils.Lists; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import com.qianwen.smartman.common.cache.RegionCache; |
| | | import com.qianwen.smartman.common.constant.CommonGroupConstant; |
| | | import com.qianwen.smartman.common.constant.ExcelConstant; |
| | | import com.qianwen.smartman.common.constant.ToolingConstant; |
| | | import com.qianwen.smartman.common.enums.CommonGroupTypeEnum; |
| | | import com.qianwen.smartman.common.utils.Lambda; |
| | | import com.qianwen.smartman.common.utils.MessageUtils; |
| | | import com.qianwen.smartman.common.utils.ValidatorUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import com.alibaba.excel.write.merge.AbstractMergeStrategy; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.google.common.collect.Sets; |
| | | import com.qianwen.core.excel.util.ExcelUtil; |
| | | import com.qianwen.core.log.exception.ServiceException; |
| | | import com.qianwen.core.mp.service.impl.BladeServiceImpl; |
| | |
| | | import com.qianwen.core.oss.model.BladeFile; |
| | | import com.qianwen.core.tool.node.ForestNodeMerger; |
| | | import com.qianwen.core.tool.utils.Func; |
| | | import com.qianwen.smartman.common.constant.CommonGroupConstant; |
| | | import com.qianwen.smartman.common.constant.ExcelConstant; |
| | | import com.qianwen.smartman.common.constant.ToolingConstant; |
| | | import com.qianwen.smartman.common.enums.CommonGroupTypeEnum; |
| | | import com.qianwen.smartman.common.utils.Lambda; |
| | | import com.qianwen.smartman.common.utils.MessageUtils; |
| | | import com.qianwen.smartman.common.utils.ValidatorUtils; |
| | | import com.qianwen.smartman.modules.cps.convert.ToolAppendixConvert; |
| | | import com.qianwen.smartman.modules.cps.convert.TrayConvert; |
| | | import com.qianwen.smartman.modules.cps.dto.TrayFaceDTO; |
| | |
| | | import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder; |
| | | import com.qianwen.smartman.modules.system.service.ICodeGeneratorService; |
| | | import com.qianwen.smartman.modules.tpm.enums.MetaTypeEnum; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import cn.hutool.core.util.StrUtil; |
| | | |
| | | @Service |
| | | public class TrayServiceImpl extends BladeServiceImpl<TrayMapper, Tray> implements ITrayService { |
| | |
| | | this.codeGeneratorService = codeGeneratorService; |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public TrayVO saveTray(TraySaveVO vo) { |
| | | if (Func.isBlank(vo.getCode())) { |
| | |
| | | return TrayConvert.INSTANCE.convert(tray).setFaceNumber(Integer.valueOf(Func.isEmpty(faceList) ? 0 : faceList.size())); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | public TrayVO getDetail(Long id) { |
| | | Tray tray = (Tray) getById(id); |
| | | CommonGroupOfItem item = (CommonGroupOfItem) this.commonGroupOfItemService.getOne(Wrappers.<CommonGroupOfItem>lambdaQuery().eq(CommonGroupOfItem::getItemId, id)); |
| | | Long groupId = item.getGroupId(); |
| | | CommonGroup group = (CommonGroup) this.commonGroupService.getById(groupId); |
| | | long count = this.surfaceService.count(Lambda.eq((v0) -> { |
| | | return v0.getTrayId(); |
| | | }, id)); |
| | | long count = this.surfaceService.count(Lambda.eq(TraySurface::getTrayId, id)); |
| | | return TrayConvert.INSTANCE.convert(tray).setFaceNumber(Integer.valueOf(Math.toIntExact(count))).setGroupId(groupId).setGroupName(group.getName()); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | public IPage<PageTrayVO> trayPage(Query query, String keyword, Long groupId) { |
| | | if (ToolingConstant.TRAY_ROOT.equals(groupId)) { |
| | | return this.baseMapper.trayPage(Condition.getPage(query), keyword, null); |
| | |
| | | return this.baseMapper.trayPage(Condition.getPage(query), keyword, groupId); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public Boolean updateTray(TrayUpdateVO vo) { |
| | | Tray tray = TrayConvert.INSTANCE.convert(vo); |
| | |
| | | return Boolean.valueOf(update); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public Boolean removeTray(IdsVO vo) { |
| | | List<Long> ids = Func.toLongList(vo.getIds()); |
| | |
| | | return Boolean.valueOf(remove && removeFace && removeFixture); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | public List<ToolingVO> toolingTree(CommonGroupTypeVO vo) { |
| | | switch (CommonGroupTypeEnum.of(vo.getGroupType())) { |
| | | case TRAY: |
| | |
| | | } |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public Boolean removeTree(Long id) { |
| | | CommonGroup group = (CommonGroup) this.commonGroupService.getById(id); |
| | |
| | | return Boolean.valueOf(update && remove); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | public List<TrayTreeVO> trayTree(CommonGroupTypeVO vo) { |
| | | List<TrayTreeVO> trayTree = this.baseMapper.groupTray(); |
| | | return getTrayTree(trayTree, vo); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | public List<ToolAppendixVO> listToolAppendix(String id) { |
| | | List<ToolAppendix> appendixList = this.toolAppendixService.list(Wrappers.<ToolAppendix>lambdaQuery() |
| | | .eq(ToolAppendix::getParentId, id)); |
| | |
| | | return ToolAppendixConvert.INSTANCE.convert(appendixList); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | public List<TrayTreeVO> unUsedTrayTree(CommonGroupTypeVO vo) { |
| | | List<TrayTreeVO> trayTree = this.baseMapper.unUsedGroupTray(); |
| | | return getUnUsedTray(trayTree); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | public List<TrayEasyVO> listTray() { |
| | | List<Tray> list = list(Wrappers.<Tray>lambdaQuery() |
| | | .orderByDesc(Arrays.asList(Tray::getCreateTime, Tray::getId) )); |
| | |
| | | return TrayConvert.INSTANCE.convertVO(list); |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class}) |
| | | public BladeFile importTray(MultipartFile file) { |
| | | if (Objects.isNull(file)) { |
| | |
| | | return null; |
| | | } |
| | | |
| | | @Override // org.springblade.modules.cps.service.ITrayService |
| | | @Override |
| | | public int removeFaceFixture(List<Long> ids) { |
| | | return this.baseMapper.removeFaceFixture(ids); |
| | | } |
| | |
| | | } |
| | | |
| | | private void validCode(String code) { |
| | | long count = count(Lambda.eq((v0) -> { |
| | | return v0.getCode(); |
| | | }, code)); |
| | | long count = count(Lambda.eq(Tray::getCode, code)); |
| | | ThrowFun.isTrue(count > 0).throwMessage(MessageUtils.message("cps.tray.code.exist", new Object[0])); |
| | | } |
| | | } |