value
2024-06-01 5299d63b70c02f3c915975565723930f4fd87e14
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsBushingServiceImpl.java
@@ -1,18 +1,22 @@
package com.yuanchu.mom.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.dto.BushingDto;
import com.yuanchu.mom.dto.FiberDto;
import com.yuanchu.mom.dto.FibersDto;
import com.yuanchu.mom.mapper.InsBushingMapper;
import com.yuanchu.mom.pojo.InsBushing;
import com.yuanchu.mom.pojo.InsProduct;
import com.yuanchu.mom.service.InsBushingService;
import com.yuanchu.mom.service.StandardTemplateService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
/**
 * <p>
@@ -28,6 +32,8 @@
    private InsBushingMapper insBushingMapper;
    private StandardTemplateService standardTemplateService;
    @Override
    public List<BushingDto> selectBushingBySampleId(Integer sampleId) {
        List<InsBushing> insBushings = insBushingMapper.selectList(Wrappers.<InsBushing>lambdaQuery().eq(InsBushing::getInsSampleId, sampleId));
@@ -38,11 +44,46 @@
            if(bushingDto.getFiber().size()==0){
                bushingDto.setFibers(insBushingMapper.selectFibersByBushingId(insBushing.getId()));
                for (FibersDto fibers : bushingDto.getFibers()) {
                    getTemplateThing(fibers.getProductList());
                    fibers.setFiber(insBushingMapper.selectFiberByFibersId(fibers.getId()));
                    for (FiberDto fiberDto : fibers.getFiber()) {
                        getTemplateThing(fiberDto.getProductList());
                    }
                }
            }else{
                for (FiberDto fiberDto : bushingDto.getFiber()) {
                    getTemplateThing(fiberDto.getProductList());
                }
            }
            bushingDtos.add(bushingDto);
        }
        return bushingDtos;
    }
    private void getTemplateThing(List<InsProduct> insProducts) {
        Set<Integer> set = new HashSet<>();
        Map<Integer, String> map2 = new HashMap<>();
        for (InsProduct product : insProducts) {
            if (product.getTemplateId() == null) {
                product.setTemplate(new ArrayList<>());
                continue;
            }
            String thing = null;
            if (product.getTemplateId() != null && set.add(product.getTemplateId())) {
                map2.put(product.getTemplateId(), standardTemplateService.getStandTempThingById(product.getTemplateId()) + "");
                thing = map2.get(product.getTemplateId());
            }
            if (StrUtil.isNotEmpty(thing)) {
                JSONObject sheet = JSON.parseObject(JSON.toJSONString(JSON.parseArray(JSON.toJSONString(JSON.parseObject(thing).get("data"))).get(0)));
                JSONObject config = JSON.parseObject(JSON.toJSONString(sheet.get("config")));
                List<JSONObject> cellData = JSON.parseArray(JSON.toJSONString(sheet.get("celldata")), JSONObject.class);
                Map<String, Object> style = new HashMap<>();
                style.put("rowlen", config.get("rowlen"));
                style.put("columnlen", config.get("columnlen"));
                product.setTemplate(cellData);
                product.setStyle(style);
                product.setTemplateName(standardTemplateService.getStandTempNameById(product.getTemplateId()));
            }
        }
    }
}