|
@@ -47,7 +47,6 @@ import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
|
import java.net.URLEncoder;
|
|
import java.net.URLEncoder;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -166,7 +165,12 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
List<A107_1VO> list = a107_1Mapper.qyyjkfxmqk(year, SecureUtil.getTenantId());
|
|
List<A107_1VO> list = a107_1Mapper.qyyjkfxmqk(year, SecureUtil.getTenantId());
|
|
|
|
|
+ Integer xh = 1;
|
|
|
for (A107_1VO vo : list) {
|
|
for (A107_1VO vo : list) {
|
|
|
|
|
+ vo.setXh("" + xh++);
|
|
|
|
|
+
|
|
|
|
|
+ vo.setKssjStr(DateUtil.format(vo.getKssj(), DateUtil.PATTERN_YYYYMM));
|
|
|
|
|
+ vo.setJssjStr(DateUtil.format(vo.getJssj(), DateUtil.PATTERN_YYYYMM));
|
|
|
|
|
|
|
|
// 项目人员实际工作时间(人月)
|
|
// 项目人员实际工作时间(人月)
|
|
|
double workTime = 0d;
|
|
double workTime = 0d;
|
|
@@ -195,7 +199,7 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
|
|
|
dto.setYearAndMonth(year + "12");
|
|
dto.setYearAndMonth(year + "12");
|
|
|
List<FinanceCostSummary> summaryList = xmCostDetailsService.financeCostSummary(Condition.getPage(new Query().setCurrent(1).setSize(1)), dto).getRecords();
|
|
List<FinanceCostSummary> summaryList = xmCostDetailsService.financeCostSummary(Condition.getPage(new Query().setCurrent(1).setSize(1)), dto).getRecords();
|
|
|
FinanceCostSummary summary = null;
|
|
FinanceCostSummary summary = null;
|
|
|
- if (Func.isEmpty(summaryList) || ((summary=summaryList.get(0)).getTotal()) == null) {
|
|
|
|
|
|
|
+ if (Func.isEmpty(summaryList) || ((summary = summaryList.get(0)).getTotal()) == null) {
|
|
|
vo.setCost(new BigDecimal("0.00"));
|
|
vo.setCost(new BigDecimal("0.00"));
|
|
|
vo.setCost1(new BigDecimal("0.00"));
|
|
vo.setCost1(new BigDecimal("0.00"));
|
|
|
} else {
|
|
} else {
|
|
@@ -205,6 +209,28 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
|
|
|
//其中:企业自主开展=用于科学原理的探索发现的经费总额-委托外单位开展
|
|
//其中:企业自主开展=用于科学原理的探索发现的经费总额-委托外单位开展
|
|
|
vo.setCost2(vo.getCost1().subtract(vo.getWwfy()));
|
|
vo.setCost2(vo.getCost1().subtract(vo.getWwfy()));
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ //在列表的第一列插入合计行
|
|
|
|
|
+ A107_1VO vo = new A107_1VO();
|
|
|
|
|
+ vo.setXh("合计");
|
|
|
|
|
+ vo.setXmmc("-");
|
|
|
|
|
+ vo.setXmly("-");
|
|
|
|
|
+ vo.setKzxs("-");
|
|
|
|
|
+ vo.setCgxs("-");
|
|
|
|
|
+ vo.setJsjjmb("-");
|
|
|
|
|
+ vo.setKssjStr("-");
|
|
|
|
|
+ vo.setJssjStr("-");
|
|
|
|
|
+ vo.setXmStage("-");
|
|
|
|
|
+ vo.setTechnicianCount(list.stream().mapToLong(A107_1VO::getTechnicianCount).sum());
|
|
|
|
|
+ vo.setWorkTime(list.stream().mapToDouble(A107_1VO::getWorkTime).sum());
|
|
|
|
|
+ vo.setCost(list.stream().map(A107_1VO::getCost).reduce(BigDecimal.valueOf(0.00), BigDecimal::add));
|
|
|
|
|
+ vo.setGovBonus(list.stream().map(A107_1VO::getGovBonus).reduce(BigDecimal.valueOf(0.00), BigDecimal::add));
|
|
|
|
|
+ vo.setCost1(list.stream().map(A107_1VO::getCost1).reduce(BigDecimal.valueOf(0.00), BigDecimal::add));
|
|
|
|
|
+ vo.setCost2(list.stream().map(A107_1VO::getCost2).reduce(BigDecimal.valueOf(0.00), BigDecimal::add));
|
|
|
|
|
+ vo.setWwfy(list.stream().map(A107_1VO::getWwfy).reduce(BigDecimal.valueOf(0.00), BigDecimal::add));
|
|
|
|
|
+ vo.setYjlx("");
|
|
|
|
|
+ list.add(0, vo);
|
|
|
|
|
+
|
|
|
return list;
|
|
return list;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -237,12 +263,6 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
|
|
|
|
|
List<A107_1VO> list = this.qyyjkfxmqk107_1(year);
|
|
List<A107_1VO> list = this.qyyjkfxmqk107_1(year);
|
|
|
- AtomicInteger index = new AtomicInteger(1);
|
|
|
|
|
- list.forEach(item -> {
|
|
|
|
|
- item.setXh(index.getAndIncrement() + "");
|
|
|
|
|
- item.setKssjStr(DateUtil.format(item.getKssj(), DateUtil.PATTERN_YYYYMM));
|
|
|
|
|
- item.setJssjStr(DateUtil.format(item.getJssj(), DateUtil.PATTERN_YYYYMM));
|
|
|
|
|
- });
|
|
|
|
|
|
|
|
|
|
WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
|
WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
|
|
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
|
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
|
@@ -450,11 +470,11 @@ public class EnterpriseInfoServiceImpl extends BaseServiceImpl<EnterpriseInfoMap
|
|
|
d1 = technicianVOList.size();
|
|
d1 = technicianVOList.size();
|
|
|
d3 = (int) technicianVOList.stream().filter(item -> item.getGender() == 2).count();
|
|
d3 = (int) technicianVOList.stream().filter(item -> item.getGender() == 2).count();
|
|
|
String workdayNumber = DictCache.getValue("workday_number", year);
|
|
String workdayNumber = DictCache.getValue("workday_number", year);
|
|
|
- if(Func.isBlank(workdayNumber)){
|
|
|
|
|
|
|
+ if (Func.isBlank(workdayNumber)) {
|
|
|
workdayNumber = "248";
|
|
workdayNumber = "248";
|
|
|
}
|
|
}
|
|
|
String finalWorkdayNumber = workdayNumber;
|
|
String finalWorkdayNumber = workdayNumber;
|
|
|
- d4 = (int) technicianVOList.stream().filter(item -> item.getWorkDaysByYear()/Double.parseDouble(finalWorkdayNumber)>1.027).count();
|
|
|
|
|
|
|
+ d4 = (int) technicianVOList.stream().filter(item -> item.getWorkDaysByYear() / Double.parseDouble(finalWorkdayNumber) > 1.027).count();
|
|
|
d5 = (int) technicianVOList.stream().filter(item -> List.of("本科", "硕士研究生", "博士研究生").contains(item.getEducation())).count();
|
|
d5 = (int) technicianVOList.stream().filter(item -> List.of("本科", "硕士研究生", "博士研究生").contains(item.getEducation())).count();
|
|
|
}
|
|
}
|
|
|
vo.setD1(d1);
|
|
vo.setD1(d1);
|