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.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.*; /** *

* 光纤配置的套管表 服务实现类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2024-05-30 05:58:16 */ @Service @AllArgsConstructor public class InsBushingServiceImpl extends ServiceImpl implements InsBushingService { private InsBushingMapper insBushingMapper; private StandardTemplateService standardTemplateService; @Override public List selectBushingBySampleId(Integer sampleId) { List insBushings = insBushingMapper.selectList(Wrappers.lambdaQuery().eq(InsBushing::getInsSampleId, sampleId)); List bushingDtos = new ArrayList<>(); for (InsBushing insBushing : insBushings) { BushingDto bushingDto = JSON.parseObject(JSON.toJSONString(insBushing), BushingDto.class); bushingDto.setFiber(insBushingMapper.selectFiberByBushingId(bushingDto.getId())); 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 insProducts) { Set set = new HashSet<>(); Map 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 cellData = JSON.parseArray(JSON.toJSONString(sheet.get("celldata")), JSONObject.class); Map 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())); } } } }