|
@@ -38,11 +38,14 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
|
+import java.time.LocalDate;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.concurrent.*;
|
|
import java.util.concurrent.*;
|
|
import java.util.logging.Level;
|
|
import java.util.logging.Level;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+import static com.ruoyi.common.utils.DateUtils.getMonthsBetween;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 民用工程Service业务层处理
|
|
* 民用工程Service业务层处理
|
|
*
|
|
*
|
|
@@ -124,6 +127,47 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
zEngineeringCivilVo.setzEngineeringNodeBo(izEngineeringNodeService.query(zEngineeringNodeBo));
|
|
zEngineeringCivilVo.setzEngineeringNodeBo(izEngineeringNodeService.query(zEngineeringNodeBo));
|
|
return zEngineeringCivilVo;
|
|
return zEngineeringCivilVo;
|
|
}
|
|
}
|
|
|
|
+ @Override
|
|
|
|
+ public ZEngineeringCivilVo lowerStaging(String areaId,String buildingId,String unitId, String direction ,String number) {
|
|
|
|
+ LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
|
|
|
|
+ lqw.eq(StringUtils.isNotBlank(areaId), ZEngineeringCivil::getAreaId, areaId);
|
|
|
|
+ if (StringUtils.isEmpty(buildingId)) {
|
|
|
|
+ lqw.isNull(ZEngineeringCivil::getBuildingId);
|
|
|
|
+ } else {
|
|
|
|
+ lqw.eq(ZEngineeringCivil::getBuildingId, buildingId);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isEmpty(unitId)) {
|
|
|
|
+ lqw.isNull(ZEngineeringCivil::getUnitId);
|
|
|
|
+ } else {
|
|
|
|
+ lqw.eq(ZEngineeringCivil::getUnitId, unitId);
|
|
|
|
+ }
|
|
|
|
+ lqw.eq(ZEngineeringCivil::getEnginCycle, "0");
|
|
|
|
+ lqw.eq(ZEngineeringCivil::getEnginType, "old_renovation");
|
|
|
|
+ lqw.eq(ZEngineeringCivil::getEnginClassification,"bottom_leg");
|
|
|
|
+ ZEngineeringCivilVo zEngineeringCivilVo = baseMapper.selectVoOne(lqw);
|
|
|
|
+ if(!ObjectUtils.isEmpty(zEngineeringCivilVo)){
|
|
|
|
+ ZEngineeringNodeBo zEngineeringNodeBo = new ZEngineeringNodeBo();
|
|
|
|
+ zEngineeringNodeBo.setCreateTime(zEngineeringCivilVo.getCreateTime());
|
|
|
|
+ zEngineeringNodeBo.setCivliId(zEngineeringCivilVo.getId());
|
|
|
|
+ zEngineeringNodeBo.setType("底腿");
|
|
|
|
+ ZEngineeringNodeBo retNodeBo = izEngineeringNodeService.query(zEngineeringNodeBo);
|
|
|
|
+
|
|
|
|
+ Iterator<ZEngineeringInfoBo> iterator = retNodeBo.getzEngineeringInfoBoList().iterator();
|
|
|
|
+ while (iterator.hasNext()) {
|
|
|
|
+ ZEngineeringInfoBo info = iterator.next();
|
|
|
|
+ if(!direction.equals(info.getConstructAddre())||!number.equals(String.valueOf(info.getzEngineeringMaterialBo().get(0).getNumber().intValue()))){
|
|
|
|
+ iterator.remove();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(!ObjectUtils.isEmpty(retNodeBo.getzEngineeringInfoBoList())){
|
|
|
|
+ zEngineeringCivilVo.setzEngineeringNodeBo(retNodeBo);
|
|
|
|
+ }else{
|
|
|
|
+ zEngineeringCivilVo.setzEngineeringNodeBo(null);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ return zEngineeringCivilVo;
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public ZEngineeringCivilVo queryProcess(Map<String, String> params) {
|
|
public ZEngineeringCivilVo queryProcess(Map<String, String> params) {
|
|
@@ -199,7 +243,6 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
List DateList = new ArrayList();
|
|
List DateList = new ArrayList();
|
|
list.removeLast();
|
|
list.removeLast();
|
|
list.stream().forEach(item -> {
|
|
list.stream().forEach(item -> {
|
|
-
|
|
|
|
DateList.add(item.substring(item.indexOf("2")));
|
|
DateList.add(item.substring(item.indexOf("2")));
|
|
});
|
|
});
|
|
result = baseMapper.queryPageIdList(IDList, baseMapper.getTypeNumber(DateList, bo), page, pageQuery.getPageNum() - 1, pageQuery.getPageSize());
|
|
result = baseMapper.queryPageIdList(IDList, baseMapper.getTypeNumber(DateList, bo), page, pageQuery.getPageNum() - 1, pageQuery.getPageSize());
|
|
@@ -654,19 +697,18 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
list.removeLast();
|
|
list.removeLast();
|
|
List<ZEngineeringInfoBo> mapList = baseMapper.getsumId(list, createTime, UserName);
|
|
List<ZEngineeringInfoBo> mapList = baseMapper.getsumId(list, createTime, UserName);
|
|
List<String> zEngineeringNodeList = new ArrayList<>();
|
|
List<String> zEngineeringNodeList = new ArrayList<>();
|
|
- mapList.stream().forEach(item -> {
|
|
|
|
- String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
|
|
|
|
- MonthTableNameHandler.setData(date);
|
|
|
|
- LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
|
|
|
|
- lqw.eq(StringUtils.isNotBlank(item.getEngInfoId()), ZEngineeringNode::getId, item.getEngInfoId());
|
|
|
|
- ZEngineeringNode zEngineeringNode = zEngineeringNodeMapper.selectOne(lqw);
|
|
|
|
- if (!ObjectUtils.isEmpty(zEngineeringNode))
|
|
|
|
- zEngineeringNodeList.add(zEngineeringNode.getCivliId());
|
|
|
|
- MonthTableNameHandler.removeData();
|
|
|
|
- });
|
|
|
|
|
|
+
|
|
|
|
+ List<String> nodeIds = mapList.stream().map(ZEngineeringInfoBo::getEngInfoId).collect(Collectors.toList());
|
|
|
|
+ LocalDate startDate = LocalDate.of(2024, 3, 1); // 指定开始日期
|
|
|
|
+ LocalDate endDate = LocalDate.now(); // 当前日期
|
|
|
|
+ List<String> monthsBetween = getMonthsBetween(startDate, endDate);
|
|
|
|
+ if(!ObjectUtils.isEmpty(nodeIds)){
|
|
|
|
+ zEngineeringNodeList.addAll(zEngineeringNodeMapper.selectNodeCivliIdListByMonth(monthsBetween,nodeIds));
|
|
|
|
+ }
|
|
|
|
+
|
|
List newList = zEngineeringNodeList.stream().distinct().collect(Collectors.toList());
|
|
List newList = zEngineeringNodeList.stream().distinct().collect(Collectors.toList());
|
|
- List CivilList = new ArrayList();
|
|
|
|
- newList.stream().forEach(item2 -> {
|
|
|
|
|
|
+ List<String> CivilList = new ArrayList();
|
|
|
|
+ if(!ObjectUtils.isEmpty(newList)){
|
|
LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
|
|
LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
|
|
lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
|
|
@@ -675,12 +717,40 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
lqw.eq(StringUtils.isNotBlank(bo.getBuildingId()), ZEngineeringCivil::getBuildingId, bo.getBuildingId());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getBuildingId()), ZEngineeringCivil::getBuildingId, bo.getBuildingId());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getUnitId()), ZEngineeringCivil::getUnitId, bo.getUnitId());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getUnitId()), ZEngineeringCivil::getUnitId, bo.getUnitId());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), ZEngineeringCivil::getDistrict, bo.getDistrict());
|
|
lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), ZEngineeringCivil::getDistrict, bo.getDistrict());
|
|
- lqw.eq(ZEngineeringCivil::getId, item2);
|
|
|
|
- ZEngineeringCivil zEngineeringCivil = baseMapper.selectOne(lqw);
|
|
|
|
- if (!ObjectUtils.isEmpty(zEngineeringCivil)) {
|
|
|
|
- CivilList.add(zEngineeringCivil.getId());
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+ lqw.in(ZEngineeringCivil::getId, newList);
|
|
|
|
+ List<ZEngineeringCivilVo> zEngineeringCivil = baseMapper.selectVoList(lqw);
|
|
|
|
+ CivilList = zEngineeringCivil.stream().map(ZEngineeringCivilVo::getId).collect(Collectors.toList());
|
|
|
|
+ CivilList = CivilList.stream().distinct().collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+// mapList.stream().forEach(item -> {
|
|
|
|
+// String date = new SimpleDateFormat("yyyy_MM").format(item.getCreateTime());
|
|
|
|
+// MonthTableNameHandler.setData(date);
|
|
|
|
+// LambdaQueryWrapper<ZEngineeringNode> lqw = Wrappers.lambdaQuery();
|
|
|
|
+// lqw.eq(StringUtils.isNotBlank(item.getEngInfoId()), ZEngineeringNode::getId, item.getEngInfoId());
|
|
|
|
+// ZEngineeringNode zEngineeringNode = zEngineeringNodeMapper.selectOne(lqw);
|
|
|
|
+// if (!ObjectUtils.isEmpty(zEngineeringNode)){
|
|
|
|
+// zEngineeringNodeList.add(zEngineeringNode.getCivliId());
|
|
|
|
+// MonthTableNameHandler.removeData();
|
|
|
|
+// }
|
|
|
|
+// });
|
|
|
|
+// List newList = zEngineeringNodeList.stream().distinct().collect(Collectors.toList());
|
|
|
|
+// List CivilList = new ArrayList();
|
|
|
|
+// newList.stream().forEach(item2 -> {
|
|
|
|
+// LambdaQueryWrapper<ZEngineeringCivil> lqw = Wrappers.lambdaQuery();
|
|
|
|
+// lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringCivil::getEnginType, bo.getEnginType());
|
|
|
|
+// lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
|
|
|
|
+// lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, bo.getEnginCycle());
|
|
|
|
+// lqw.eq(StringUtils.isNotBlank(bo.getAreaId()), ZEngineeringCivil::getAreaId, bo.getAreaId());
|
|
|
|
+// lqw.eq(StringUtils.isNotBlank(bo.getBuildingId()), ZEngineeringCivil::getBuildingId, bo.getBuildingId());
|
|
|
|
+// lqw.eq(StringUtils.isNotBlank(bo.getUnitId()), ZEngineeringCivil::getUnitId, bo.getUnitId());
|
|
|
|
+// lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), ZEngineeringCivil::getDistrict, bo.getDistrict());
|
|
|
|
+// lqw.eq(ZEngineeringCivil::getId, item2);
|
|
|
|
+// ZEngineeringCivil zEngineeringCivil = baseMapper.selectOne(lqw);
|
|
|
|
+// if (!ObjectUtils.isEmpty(zEngineeringCivil)) {
|
|
|
|
+// CivilList.add(zEngineeringCivil.getId());
|
|
|
|
+// }
|
|
|
|
+// });
|
|
return CivilList;
|
|
return CivilList;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -806,8 +876,12 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
if (!ObjectUtils.isEmpty(zEngineeringNodeBo)) {
|
|
if (!ObjectUtils.isEmpty(zEngineeringNodeBo)) {
|
|
zEngineeringNodeBo.setCivliId(zEngineeringCivilVo.getId());
|
|
zEngineeringNodeBo.setCivliId(zEngineeringCivilVo.getId());
|
|
zEngineeringNodeBo.setCreateTime(zEngineeringCivilVo.getCreateTime());
|
|
zEngineeringNodeBo.setCreateTime(zEngineeringCivilVo.getCreateTime());
|
|
- if (!ObjectUtils.isEmpty(zEngineeringNodeBo.getzEngineeringInfoBoList()))
|
|
|
|
|
|
+ if (!ObjectUtils.isEmpty(zEngineeringNodeBo.getzEngineeringInfoBoList())){
|
|
|
|
+ zEngineeringNodeService.updateMuch(zEngineeringNodeBo);
|
|
|
|
+ }else if(!ObjectUtils.isEmpty(zEngineeringNodeBo.getzEngineeringInfoBo())){
|
|
zEngineeringNodeService.updateMuch(zEngineeringNodeBo);
|
|
zEngineeringNodeService.updateMuch(zEngineeringNodeBo);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return flag;
|
|
return flag;
|