Kaynağa Gözat

init 两三个统计 基建拿掉

wangzhe 11 ay önce
ebeveyn
işleme
b88e18a615

+ 176 - 5
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringWasteMaterialServiceImpl.java

@@ -6,8 +6,7 @@ import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.redis.RedisUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.zdsz.domain.ZEngineeringGY;
-import com.ruoyi.zdsz.domain.ZEngineeringMaterial;
+import com.ruoyi.zdsz.domain.*;
 import com.ruoyi.zdsz.domain.bo.WasteMaterialBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringInfoBo;
 import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
@@ -607,13 +606,185 @@ public class ZEngineeringWasteMaterialServiceImpl implements IZEngineeringWasteM
         return resultList;
     }
     public List<WasteMaterialVo> engineeringMunicipalList(WasteMaterialBo bo){
-        return null;
+        LambdaQueryWrapper<ZEngineeringIndustry> lqw = Wrappers.lambdaQuery();
+        lqw.like(StringUtils.isNotBlank(bo.getEnginName()), ZEngineeringIndustry::getEnginName, bo.getEnginName()); // 工程名称
+//        lqw.eq(StringUtils.isNotBlank(bo.getEnginSort()), ZEngineeringIndustry::getEnginClassification, bo.getEnginSort()); // 工程分类
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginSort()), ZEngineeringIndustry::getEnginType, bo.getEnginSort()); // 工程分类
+        List<ZEngineeringIndustryVo> list = baseMapper.selectVoList(lqw);
+        List<WasteMaterialVo> resultList = new ArrayList<>();
+        for (ZEngineeringIndustryVo zEngineeringIndustryVo:list) {
+            WasteMaterialVo wasteMaterialVo = new WasteMaterialVo();
+            ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
+            zEngineeringNodeBo.setCivliId(zEngineeringIndustryVo.getId());
+            zEngineeringNodeBo.setCreateTime(zEngineeringIndustryVo.getCreateTime());
+            List<ZEngineeringNodeBo> zEngineeringNodeBos = izEngineeringNodeService.queryListDetails(zEngineeringNodeBo);
+            ZEngineeringWasteMaterialVo zEngineeringWasteMaterialVo = new ZEngineeringWasteMaterialVo();
+            AtomicReference<BigDecimal> pesj = new AtomicReference<>(new BigDecimal(0));
+            AtomicReference<BigDecimal> gsj = new AtomicReference<>(new BigDecimal(0));
+            for (int i = 0; i < zEngineeringNodeBos.size(); i++) {
+                ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
+                for (ZEngineeringInfoBo info: nodeBo.getzEngineeringInfoBoList()) {
+                    System.out.println(info.getzEngineeringMaterialBo());
+                    LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
+                    lqw4.eq(StringUtils.isNotBlank(info.getId()), ZEngineeringMaterial::getDetailsId, info.getId());
+                    List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
+                    material.stream().forEach(item4->{
+                        String materialQuality = item4.getMaterialQuality();
+                        if(materialQuality == null){
+                            //                        continue;
+                        }else {
+                            String type = zEnginMaterialQualityMapper.selectVoById(materialQuality).getMaterialType();
+                            if("0".equals(type) && (bo.getMaterialStatistics() == null || materialQuality.equals(bo.getMaterialStatistics()))){
+                                pesj.updateAndGet(v ->v.add(new BigDecimal(Double.toString(item4.getNumber()))) );
+                            }else if("1".equals(type) && (bo.getMaterialStatistics() == null || materialQuality.equals(bo.getMaterialStatistics()))){
+                                gsj.updateAndGet(v ->v.add(new BigDecimal(Double.toString(item4.getNumber()))) );
+                            }
+                        }
+                    });
+                }
+            }
+            wasteMaterialVo.setEnginName(zEngineeringIndustryVo.getEnginName()); // 工程名称
+//            wasteMaterialVo.setEnginClassification(zEngineeringIndustryVo.getEnginClassification()); // 工程分类
+            wasteMaterialVo.setEnginClassification(zEngineeringIndustryVo.getEnginType()); // 工程分类
+            Map pe = new HashMap(); // PE材料
+            pe.put("actuality", getRoundDouble(pesj.get(), 2)); // 实际
+            pe.put("anticipation", zEngineeringIndustryVo.getPePreset()); // 预计  divide zEngineeringGYVo.getGcPreset()
+            pe.put("percentage", zEngineeringIndustryVo.getPePreset() == 0 ? "100.0%" : getRoundDouble((pesj.get().multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringIndustryVo.getPePreset()), BigDecimal.ROUND_CEILING),2) + "%"); // 占比
+            wasteMaterialVo.setActualityPE(pe.get("actuality").toString());
+            wasteMaterialVo.setAnticipationPE(pe.get("anticipation").toString());
+            wasteMaterialVo.setPercentagePE(pe.get("percentage").toString());
+            Map iron = new HashMap(); // 钢材
+            iron.put("actuality", getRoundDouble(gsj.get(), 2)); // 实际
+            iron.put("anticipation", zEngineeringIndustryVo.getGcPreset()); // 预计
+            iron.put("percentage", zEngineeringIndustryVo.getGcPreset() == 0 ? "100.0%" : getRoundDouble((gsj.get().multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringIndustryVo.getGcPreset()), BigDecimal.ROUND_CEILING),2) + "%"); // 占比
+            wasteMaterialVo.setActualityIron(iron.get("actuality").toString());
+            wasteMaterialVo.setAnticipationIron(iron.get("anticipation").toString());
+            wasteMaterialVo.setPercentageIron(iron.get("percentage").toString());
+            zEngineeringWasteMaterialVo.setMaterialPercentagePE(pe);
+            zEngineeringWasteMaterialVo.setMaterialPercentageIron(iron);
+            resultList.add(wasteMaterialVo);
+        }
+        return resultList;
     }
     public List<WasteMaterialVo> engineeringPipeJackingList(WasteMaterialBo bo){
-        return null;
+        LambdaQueryWrapper<ZEngineeringPipeJacking> lqw = Wrappers.lambdaQuery();
+        lqw.like(StringUtils.isNotBlank(bo.getEnginName()), ZEngineeringPipeJacking::getEnginName, bo.getEnginName()); // 工程名称
+//        lqw.eq(StringUtils.isNotBlank(bo.getEnginSort()), ZEngineeringPipeJacking::getEnginClassification, bo.getEnginSort()); // 工程分类
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginSort()), ZEngineeringPipeJacking::getEnginScale, bo.getEnginSort()); // 工程规模
+        List<ZEngineeringPipeJackingVo> list = pipeJackingMapper.selectVoList(lqw);
+        List<WasteMaterialVo> resultList = new ArrayList<>();
+        for (ZEngineeringPipeJackingVo zEngineeringPipeJackingVo:list) {
+            WasteMaterialVo wasteMaterialVo = new WasteMaterialVo();
+            ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
+            zEngineeringNodeBo.setCivliId(zEngineeringPipeJackingVo.getId());
+            zEngineeringNodeBo.setCreateTime(zEngineeringPipeJackingVo.getCreateTime());
+            List<ZEngineeringNodeBo> zEngineeringNodeBos = izEngineeringNodeService.queryListDetails(zEngineeringNodeBo);
+            ZEngineeringWasteMaterialVo zEngineeringWasteMaterialVo = new ZEngineeringWasteMaterialVo();
+            AtomicReference<BigDecimal> pesj = new AtomicReference<>(new BigDecimal(0));
+            AtomicReference<BigDecimal> gsj = new AtomicReference<>(new BigDecimal(0));
+            for (int i = 0; i < zEngineeringNodeBos.size(); i++) {
+                ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
+                for (ZEngineeringInfoBo info: nodeBo.getzEngineeringInfoBoList()) {
+                    System.out.println(info.getzEngineeringMaterialBo());
+                    LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
+                    lqw4.eq(StringUtils.isNotBlank(info.getId()), ZEngineeringMaterial::getDetailsId, info.getId());
+                    List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
+                    material.stream().forEach(item4->{
+                        String materialQuality = item4.getMaterialQuality();
+                        if(materialQuality == null){
+                            //                        continue;
+                        }else {
+                            String type = zEnginMaterialQualityMapper.selectVoById(materialQuality).getMaterialType();
+                            if("0".equals(type) && (bo.getMaterialStatistics() == null || materialQuality.equals(bo.getMaterialStatistics()))){
+                                pesj.updateAndGet(v ->v.add(new BigDecimal(Double.toString(item4.getNumber()))) );
+                            }else if("1".equals(type) && (bo.getMaterialStatistics() == null || materialQuality.equals(bo.getMaterialStatistics()))){
+                                gsj.updateAndGet(v ->v.add(new BigDecimal(Double.toString(item4.getNumber()))) );
+                            }
+                        }
+                    });
+                }
+            }
+            wasteMaterialVo.setEnginName(zEngineeringPipeJackingVo.getEnginName()); // 工程名称
+//            wasteMaterialVo.setEnginClassification(zEngineeringGYVo.getEnginClassification()); // 工程分类
+            wasteMaterialVo.setEnginClassification(zEngineeringPipeJackingVo.getEnginScale()); // 工程规模
+            Map pe = new HashMap(); // PE材料
+            pe.put("actuality", getRoundDouble(pesj.get(), 2)); // 实际
+            pe.put("anticipation", zEngineeringPipeJackingVo.getPePreset()); // 预计  divide zEngineeringGYVo.getGcPreset()
+            pe.put("percentage", zEngineeringPipeJackingVo.getPePreset() == 0 ? "100.0%" : getRoundDouble((pesj.get().multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringPipeJackingVo.getPePreset()), BigDecimal.ROUND_CEILING),2) + "%"); // 占比
+            wasteMaterialVo.setActualityPE(pe.get("actuality").toString());
+            wasteMaterialVo.setAnticipationPE(pe.get("anticipation").toString());
+            wasteMaterialVo.setPercentagePE(pe.get("percentage").toString());
+            Map iron = new HashMap(); // 钢材
+            iron.put("actuality", getRoundDouble(gsj.get(), 2)); // 实际
+            iron.put("anticipation", zEngineeringPipeJackingVo.getGcPreset()); // 预计
+            iron.put("percentage", zEngineeringPipeJackingVo.getGcPreset() == 0 ? "100.0%" : getRoundDouble((gsj.get().multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringPipeJackingVo.getGcPreset()), BigDecimal.ROUND_CEILING),2) + "%"); // 占比
+            wasteMaterialVo.setActualityIron(iron.get("actuality").toString());
+            wasteMaterialVo.setAnticipationIron(iron.get("anticipation").toString());
+            wasteMaterialVo.setPercentageIron(iron.get("percentage").toString());
+            zEngineeringWasteMaterialVo.setMaterialPercentagePE(pe);
+            zEngineeringWasteMaterialVo.setMaterialPercentageIron(iron);
+            resultList.add(wasteMaterialVo);
+        }
+        return resultList;
     }
     public List<WasteMaterialVo> engineeringInfrastructureList(WasteMaterialBo bo){
-        return null;
+        LambdaQueryWrapper<ZEngineeringInfrastructure> lqw = Wrappers.lambdaQuery();
+        lqw.like(StringUtils.isNotBlank(bo.getEnginName()), ZEngineeringInfrastructure::getEnginName, bo.getEnginName()); // 工程名称
+//        lqw.eq(StringUtils.isNotBlank(bo.getEnginSort()), ZEngineeringInfrastructure::getEnginClassification, bo.getEnginSort()); // 工程分类
+//        List<ZEngineeringInfrastructureVo> list = gyMapper.selectVoList(lqw);
+        List<WasteMaterialVo> resultList = new ArrayList<>();
+        /*for (ZEngineeringInfrastructureVo zEngineeringInfrastructureVo:list) {
+            WasteMaterialVo wasteMaterialVo = new WasteMaterialVo();
+            ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
+            zEngineeringNodeBo.setCivliId(zEngineeringInfrastructureVo.getId());
+            zEngineeringNodeBo.setCreateTime(zEngineeringInfrastructureVo.getCreateTime());
+            List<ZEngineeringNodeBo> zEngineeringNodeBos = izEngineeringNodeService.queryListDetails(zEngineeringNodeBo);
+            ZEngineeringWasteMaterialVo zEngineeringWasteMaterialVo = new ZEngineeringWasteMaterialVo();
+            AtomicReference<BigDecimal> pesj = new AtomicReference<>(new BigDecimal(0));
+            AtomicReference<BigDecimal> gsj = new AtomicReference<>(new BigDecimal(0));
+            for (int i = 0; i < zEngineeringNodeBos.size(); i++) {
+                ZEngineeringNodeBo nodeBo = zEngineeringNodeBos.get(i);
+                for (ZEngineeringInfoBo info: nodeBo.getzEngineeringInfoBoList()) {
+                    System.out.println(info.getzEngineeringMaterialBo());
+                    LambdaQueryWrapper<ZEngineeringMaterial> lqw4 = Wrappers.lambdaQuery();
+                    lqw4.eq(StringUtils.isNotBlank(info.getId()), ZEngineeringMaterial::getDetailsId, info.getId());
+                    List<ZEngineeringMaterial> material= zEngineeringMaterialMapper.selectList(lqw4);
+                    material.stream().forEach(item4->{
+                        String materialQuality = item4.getMaterialQuality();
+                        if(materialQuality == null){
+                            //                        continue;
+                        }else {
+                            String type = zEnginMaterialQualityMapper.selectVoById(materialQuality).getMaterialType();
+                            if("0".equals(type) && (bo.getMaterialStatistics() == null || materialQuality.equals(bo.getMaterialStatistics()))){
+                                pesj.updateAndGet(v ->v.add(new BigDecimal(Double.toString(item4.getNumber()))) );
+                            }else if("1".equals(type) && (bo.getMaterialStatistics() == null || materialQuality.equals(bo.getMaterialStatistics()))){
+                                gsj.updateAndGet(v ->v.add(new BigDecimal(Double.toString(item4.getNumber()))) );
+                            }
+                        }
+                    });
+                }
+            }
+            wasteMaterialVo.setEnginName(zEngineeringInfrastructureVo.getEnginName()); // 工程名称
+            wasteMaterialVo.setEnginClassification(zEngineeringInfrastructureVo.getEnginClassification()); // 工程分类
+            Map pe = new HashMap(); // PE材料
+            pe.put("actuality", getRoundDouble(pesj.get(), 2)); // 实际
+            pe.put("anticipation", zEngineeringInfrastructureVo.getPePreset()); // 预计  divide zEngineeringGYVo.getGcPreset()
+            pe.put("percentage", zEngineeringInfrastructureVo.getPePreset() == 0 ? "100.0%" : getRoundDouble((pesj.get().multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringInfrastructureVo.getPePreset()), BigDecimal.ROUND_CEILING),2) + "%"); // 占比
+            wasteMaterialVo.setActualityPE(pe.get("actuality").toString());
+            wasteMaterialVo.setAnticipationPE(pe.get("anticipation").toString());
+            wasteMaterialVo.setPercentagePE(pe.get("percentage").toString());
+            Map iron = new HashMap(); // 钢材
+            iron.put("actuality", getRoundDouble(gsj.get(), 2)); // 实际
+            iron.put("anticipation", zEngineeringInfrastructureVo.getGcPreset()); // 预计
+            iron.put("percentage", zEngineeringInfrastructureVo.getGcPreset() == 0 ? "100.0%" : getRoundDouble((gsj.get().multiply(new BigDecimal(100))).divide(BigDecimal.valueOf(zEngineeringInfrastructureVo.getGcPreset()), BigDecimal.ROUND_CEILING),2) + "%"); // 占比
+            wasteMaterialVo.setActualityIron(iron.get("actuality").toString());
+            wasteMaterialVo.setAnticipationIron(iron.get("anticipation").toString());
+            wasteMaterialVo.setPercentageIron(iron.get("percentage").toString());
+            zEngineeringWasteMaterialVo.setMaterialPercentagePE(pe);
+            zEngineeringWasteMaterialVo.setMaterialPercentageIron(iron);
+            resultList.add(wasteMaterialVo);
+        }*/
+        return resultList;
     }
 
 }