|
@@ -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;
|
|
|
}
|
|
|
|
|
|
}
|