|
@@ -55,7 +55,7 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
|
|
|
private List<InterimPaymentCertificate> interimPaymentCertificates =new ArrayList<>();
|
|
|
/*分项中期汇总*/
|
|
|
- private List<SubprojectInterimPaymentSummary> subprojectInterimPaymentSummarys =new ArrayList<>();
|
|
|
+ private List<SubprojectInterimPaymentSummary> subprojectInterimPaymentSummary =new ArrayList<>();
|
|
|
/*求百分比*/
|
|
|
private BinaryOperator<String> ratioFc = (a,b)->{
|
|
|
/*合同金额*/
|
|
@@ -113,8 +113,11 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
}else if(MeterType.INTERIM.equals(tec.getMeterType())){
|
|
|
this.specialList.add(new InterimPayCert());
|
|
|
this.specialList.add(new InterimSum());
|
|
|
+ /*分项工程中期支付汇总*/
|
|
|
this.specialList.add(new SubIPaySum());
|
|
|
+ /*施工进度表*/
|
|
|
this.specialList.add(new ConSch());
|
|
|
+ /*分项工程中期计量支付表*/
|
|
|
this.specialList.add(new SubIMeterPay());
|
|
|
this.specialList.add(new IMeterPaySummary());
|
|
|
/*中间计量表*/
|
|
@@ -612,12 +615,13 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
totalList.add(sis);
|
|
|
});
|
|
|
totalList.forEach(e->{
|
|
|
- subprojectInterimPaymentSummarys.add(e.copy());
|
|
|
+ subprojectInterimPaymentSummary.add(e.copy());
|
|
|
});
|
|
|
LinkedHashMap<String,List<SubprojectInterimPaymentSummary>> chapterGroup= totalList.stream().collect(Collectors.groupingBy(e->getPrefix(e.getFormNumber()),LinkedHashMap::new,Collectors.toList()));
|
|
|
AtomicInteger loop = new AtomicInteger(chapterGroup.size());
|
|
|
+ List<String> chapterNames= new ArrayList<>();
|
|
|
chapterGroup.forEach((k,v)->{
|
|
|
- int extra=loop.getAndDecrement()>0?1:2;
|
|
|
+ int extra=loop.getAndDecrement()>1?1:2;
|
|
|
/*每章小结或总结等价一行数据*/
|
|
|
int dataLength=v.size()+extra;
|
|
|
/*每页小结是固定内容,需要每页保留一行*/
|
|
@@ -647,9 +651,17 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
}
|
|
|
dataList.addAll(tmp);
|
|
|
tmp.clear();
|
|
|
+ /*chapter*/
|
|
|
+ if(BaseUtils.isNumber(k)){
|
|
|
+ k=k+"章";
|
|
|
+ }
|
|
|
+ chapterNames.add(k);
|
|
|
}
|
|
|
});
|
|
|
- /*内容输出*/
|
|
|
+ if(chapterNames.size()>0){
|
|
|
+ FormulaUtils.elementFindByKey(fdm,"key_16").ifPresent(fd->elementWriter.write(fd,chapterNames));
|
|
|
+ }
|
|
|
+ /*动态行内容输出*/
|
|
|
putOut(SubprojectInterimPaymentSummary.class);
|
|
|
}
|
|
|
|
|
@@ -678,14 +690,14 @@ public class ExecutorMeter extends FormulaExecutor {
|
|
|
|
|
|
@Override
|
|
|
public boolean ready() {
|
|
|
- return subprojectInterimPaymentSummarys.size()>0&&MeterInfo.MB_ZJ.equals(tec.getMeterInfo().getConfig());
|
|
|
+ return subprojectInterimPaymentSummary.size()>0&&MeterInfo.MB_ZJ.equals(tec.getMeterInfo().getConfig());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void parse() {
|
|
|
builderFormDatas(ConstructionSchedule.class);
|
|
|
List<ConstructionSchedule> totalList = new ArrayList<>();
|
|
|
- subprojectInterimPaymentSummarys.forEach(e->{
|
|
|
+ subprojectInterimPaymentSummary.forEach(e->{
|
|
|
ConstructionSchedule cs = new ConstructionSchedule();
|
|
|
BeanUtils.copyProperties(e,cs);
|
|
|
totalList.add(cs);
|