yangys
2024-04-17 3e7e8a98434731121d4a8736fd35af4cd6cb7a9e
smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/ProductServiceImpl.java
@@ -1,20 +1,9 @@
package com.qianwen.smartman.modules.cps.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.invoke.SerializedLambda;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
@@ -27,15 +16,18 @@
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.qianwen.smartman.common.constant.CommonConstant;
import com.qianwen.smartman.common.constant.CommonGroupConstant;
import com.qianwen.smartman.common.constant.ExcelConstant;
import com.qianwen.smartman.common.utils.ExcelUtils;
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.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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;
@@ -44,6 +36,12 @@
import com.qianwen.core.tool.constant.BladeConstant;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.core.tool.utils.StringUtil;
import com.qianwen.smartman.common.constant.CommonConstant;
import com.qianwen.smartman.common.constant.CommonGroupConstant;
import com.qianwen.smartman.common.constant.ExcelConstant;
import com.qianwen.smartman.common.utils.ExcelUtils;
import com.qianwen.smartman.common.utils.MessageUtils;
import com.qianwen.smartman.common.utils.ValidatorUtils;
import com.qianwen.smartman.modules.coproduction.dto.CheckParamDTO;
import com.qianwen.smartman.modules.coproduction.dto.CheckResultDTO;
import com.qianwen.smartman.modules.cps.convert.ProductConvert;
@@ -76,12 +74,14 @@
import com.qianwen.smartman.modules.system.service.ICustomTemplateService;
import com.qianwen.smartman.modules.system.vo.CustomTemplateFieldColumnVO;
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.convert.Convert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@Service
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/ProductServiceImpl.class */
public class ProductServiceImpl extends BaseServiceImpl<ProductMapper, Product> implements IProductService {
    private static final Logger log = LoggerFactory.getLogger(ProductServiceImpl.class);
    private final IProductTypeService productTypeService;
@@ -105,7 +105,7 @@
        this.customTemplateFieldRelationMapper = customTemplateFieldRelationMapper;
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public IPage<ProductVO> selectPage(IPage<ProductVO> page, ProductSelectVO productSelectVO) {
        List<ProductVO> productVOS = selectProductVOList(page, productSelectVO, true);
        long total = page.getTotal();
@@ -139,8 +139,8 @@
        productSelectVO.setOrderBy(orderBy);
        List<Long> ids2 = new ArrayList<>();
        if (Func.isNotEmpty(productSelectVO.getIds())) {
            List<Product> products = ((ProductMapper) this.baseMapper).selectIdById(productSelectVO);
            ids2 = (List) products.stream().map((v0) -> {
            List<Product> products = this.baseMapper.selectIdById(productSelectVO);
            ids2 = products.stream().map((v0) -> {
                return v0.getId();
            }).distinct().collect(Collectors.toList());
        }
@@ -161,7 +161,7 @@
        if (isPage) {
            page.setTotal(total);
            if (total == 0) {
                return new ArrayList();
                return new ArrayList<>();
            }
            long current = page.getCurrent();
            long size = page.getSize();
@@ -171,7 +171,7 @@
        }
        List<ProductVO> productVOS = new ArrayList<>();
        if (Func.isNotEmpty(pageIds)) {
            productVOS = ((ProductMapper) this.baseMapper).selectListByIds(pageIds, orderBy);
            productVOS = this.baseMapper.selectListByIds(pageIds, orderBy);
        }
        if (Func.isNotEmpty(productVOS)) {
            Optional<ProductVO> productOP = productVOS.stream().filter(item -> {
@@ -199,7 +199,7 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public Product insert(ProductAddVO productAddVO) {
        this.handlerFieldSqlParse.handlerFieldSaveOrUpdateCheck(productAddVO.getExtendField(), BusinessTypeEnums.PRODUCT.getCode());
        if (Func.isEmpty(productAddVO.getParentId())) {
@@ -210,7 +210,7 @@
            log.info("产品编码规则生成的code:{}", code + " ," + code.length());
            productAddVO.setCode(code);
        }
        ProductType productType = (ProductType) this.productTypeService.getById(productAddVO.getTypeId());
        ProductType productType = this.productTypeService.getById(productAddVO.getTypeId());
        if (Func.isEmpty(productType)) {
            throw new ServiceException(MessageUtils.message("cps.product.type.not.exists", new Object[0]));
        }
@@ -226,7 +226,7 @@
        return product2;
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public Product update(ProductUpdateVO productUpdateVO) {
        this.handlerFieldSqlParse.handlerFieldSaveOrUpdateCheck(productUpdateVO.getExtendField(), BusinessTypeEnums.PRODUCT.getCode());
        Long id = productUpdateVO.getId();
@@ -269,7 +269,7 @@
        return list.stream().findFirst().orElse(null);
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    @Transactional(rollbackFor = {Exception.class})
    public BladeFile importProduct(MultipartFile file) {
        try {
@@ -510,7 +510,7 @@
        return pts;
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public BladeFile exportProduct(String id, ProductSearchVO vo) {
        Wrapper<ProductSearchVO> wrapper = (QueryWrapper) Wrappers.query().eq(Func.isNotEmpty(id), "bp1.id", id).nested(Func.isNotEmpty(vo), n -> {
            n.eq(Func.isNotEmpty(vo.getTypeId()), "bp1.type_id", vo.getTypeId()).eq(Func.isNotEmpty(vo.getStandardModel()), "bp1.standard_model", vo.getStandardModel()).eq(Func.isNotEmpty(vo.getStatus()), "bp1.status", vo.getStatus()).and(Func.isNotEmpty(vo.getKeyWord()), i -> {
@@ -525,7 +525,7 @@
        }
        CustomTemplate productTemplate = getProductTemplate();
        List<CustomTemplateFieldColumnVO> columns = this.customTemplateFieldService.getColumns(productTemplate.getId(), ConfigTypeEnum.VIEW_PAGE.getCode());
        Map<String, CustomTemplateFieldColumnVO> fieldCodeMap = (Map) columns.stream().collect(Collectors.toMap((v0) -> {
        Map<String, CustomTemplateFieldColumnVO> fieldCodeMap = columns.stream().collect(Collectors.toMap((v0) -> {
            return v0.getFieldCode();
        }, item -> {
            return item;
@@ -604,7 +604,7 @@
        return this.ossBuilder.systemTemplate().putFile("产品数据.xlsx", is);
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public BladeFile exportTemplateProduct() {
        CustomTemplate customTemplate = getProductTemplate();
        if (Func.isEmpty(customTemplate)) {
@@ -613,7 +613,7 @@
        return this.customTemplateService.getTemplate(BusinessTypeEnums.PRODUCT.getCode());
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public boolean delete(List<Long> ids) {
       List<Product> list = list(Wrappers.<Product>lambdaQuery().in(Product::getParentId, ids));
       
@@ -624,7 +624,7 @@
        return removeByIds(ids);
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public ProductVO detail(Long id) {
        Product product = (Product) getById(id);
        ProductVO convert = ProductConvert.INSTANCE.convert(product);
@@ -647,7 +647,7 @@
        return convert;
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public void changeStatusCheck(ProductChangeStatusVO changeStatusVO) {
        changeStatusVO.setStatus(0);
        Integer count = this.productMapper.getParentStatusCount(changeStatusVO.getIds());
@@ -656,7 +656,7 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public List<ProductVO> selectList(ProductSelectVO productSelectVO) {
        String typeId = productSelectVO.getTypeId();
        if (Func.isNotEmpty(typeId)) {
@@ -668,7 +668,7 @@
    }
    /* JADX WARN: Multi-variable type inference failed */
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public IPage<ProductEasyVO> lazyTree(Query query, String id, ProductSearchVO vo) {
        Wrapper<Product> wrapper = (QueryWrapper) Wrappers.query().eq(Func.isNotEmpty(id), "bp1.parent_id", Long.valueOf(Func.toLong(id))).in(Func.isNotEmpty(vo.getTypeId()), "bp1.type_id", vo.getTypeId()).likeRight(Func.isNotEmpty(vo.getStandardModel()), "bp1.standard_model", vo.getStandardModel()).eq(Func.isNotEmpty(vo.getStatus()), "bp1.status", vo.getStatus()).and(Func.isNotEmpty(vo.getKeyWord()), i -> {
            QueryWrapper queryWrapper = (QueryWrapper) ((QueryWrapper) ((QueryWrapper) i.likeRight("bp1.name", vo.getKeyWord())).or()).likeRight("bp1.code", vo.getKeyWord());
@@ -714,7 +714,7 @@
        }
    }
    @Override // org.springblade.modules.cps.service.IProductService
    @Override
    public List<Product> notBandProduct(Long craftId) {
        return ((ProductMapper) this.baseMapper).notBandProduct(craftId);
    }