yangys
2024-04-18 85bb45834b1a2fd993d9f8653c48d14efc12a59e
smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/TrayServiceImpl.java
@@ -1,15 +1,5 @@
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;
@@ -18,17 +8,18 @@
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;
@@ -37,6 +28,13 @@
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;
@@ -72,9 +70,7 @@
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 {
@@ -99,7 +95,7 @@
        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())) {
@@ -132,19 +128,17 @@
        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);
@@ -152,7 +146,7 @@
        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);
@@ -175,7 +169,7 @@
        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());
@@ -191,7 +185,7 @@
        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:
@@ -203,7 +197,7 @@
        }
    }
    @Override // org.springblade.modules.cps.service.ITrayService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public Boolean removeTree(Long id) {
        CommonGroup group = (CommonGroup) this.commonGroupService.getById(id);
@@ -232,13 +226,13 @@
        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));
@@ -249,13 +243,13 @@
        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) ));
@@ -268,7 +262,7 @@
        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)) {
@@ -336,7 +330,7 @@
        return null;
    }
    @Override // org.springblade.modules.cps.service.ITrayService
    @Override
    public int removeFaceFixture(List<Long> ids) {
        return this.baseMapper.removeFaceFixture(ids);
    }
@@ -436,9 +430,7 @@
    }
    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]));
    }
}