|
@@ -1115,7 +1115,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
FormData ft = tec.formDataMap.get(k.getCode());
|
|
|
if (ft.getCoordsList().size() > 5 || (k.getEName().contains("实测值") && !k.getEName().contains("设计值") && !k.getEName().contains("合格率"))) {
|
|
|
tec.checkItems.add(ft);
|
|
|
- } else if (k.getEName().contains("检验日期")) {
|
|
|
+ } else if (k.getEName().contains("检验日期")||k.getEName().contains("检验时间")) {
|
|
|
tec.checkDate.add(ft);
|
|
|
}
|
|
|
});
|
|
@@ -2604,7 +2604,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
String sql = "Select * from s_contract_meter_period where contract_id=" + contractId + " and is_deleted=0" + " order by start_date";
|
|
|
List<ContractMeterPeriod> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(ContractMeterPeriod.class));
|
|
|
//获取所有excel报表源数据
|
|
|
- String sqlForExcel = "SELECT p.p_key_id,e.name,e.id,p.html_url,e.file_url,p.init_table_name as tabName FROM m_wbs_tree_private as p LEFT JOIN m_excel_tab as e on p.excel_id=e.id where p.wbs_type=3 AND p.is_deleted=0 AND p.type=2" + " and p.project_id=" + projectId;
|
|
|
+ String sqlForExcel = "SELECT p.p_key_id,e.name,e.id,p.html_url,e.file_url FROM m_wbs_tree_private as p LEFT JOIN m_excel_tab as e on p.excel_id=e.id where p.wbs_type=3 AND p.is_deleted=0 AND p.type=2" + " and p.project_id=" + projectId;
|
|
|
List<ExcelTabVo1> excelTabs = jdbcTemplate.query(sqlForExcel, new BeanPropertyRowMapper<>(ExcelTabVo1.class));
|
|
|
ArrayList<ReportResult> reportResults = new ArrayList<>();
|
|
|
//中期支付报表封面
|
|
@@ -2650,25 +2650,25 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
String htmlUrl6 = excel6.get().getHtmlUrl();
|
|
|
Long pKeyId6 = excel6.get().getPKeyId();
|
|
|
// 获取中期支付报表封面的pdfurl
|
|
|
- ReportResult CoverOfMidtermPaymentReportPDF = getCoverOfMidtermPaymentReportPDF(url, contractId, periodId, htmlUrl, projectName, list, pKeyId, excel.get().getTabName());
|
|
|
+ ReportResult CoverOfMidtermPaymentReportPDF = getCoverOfMidtermPaymentReportPDF(url, contractId, periodId, htmlUrl, projectName, list, pKeyId);
|
|
|
|
|
|
//获取中间支付审核表的pdfurl
|
|
|
- ReportResult intermediatePaymentPDF = getIntermediatePaymentPDF(url1, contractId, periodId, list, redisId, htmlUrl1, blReserveFundsRatioNew, projectName, changeMoneyNew, pKeyId1, excel1.get().getTabName());
|
|
|
+ ReportResult intermediatePaymentPDF = getIntermediatePaymentPDF(url1, contractId, periodId, list, redisId, htmlUrl1, blReserveFundsRatioNew, projectName, changeMoneyNew, pKeyId1,reportId);
|
|
|
|
|
|
//获取补助款申请支付审核表pdfUrl
|
|
|
- ReportResult subsidyApplicationPaymentReviewPDF = getSubsidyApplicationPaymentReviewPDF(url2, contractId, periodId, list, htmlUrl2, blReserveFundsRatioNew, projectName, projectId, reportId, pKeyId2,excel2.get().getTabName());
|
|
|
+ ReportResult subsidyApplicationPaymentReviewPDF = getSubsidyApplicationPaymentReviewPDF(url2, contractId, periodId, list, htmlUrl2, blReserveFundsRatioNew, projectName, projectId, reportId, pKeyId2);
|
|
|
|
|
|
//获取中间计量支付证书pdfUrl
|
|
|
- ReportResult intermediateMeasurementPaymentCertificatePDF = getIntermediateMeasurementPaymentCertificatePDF(url3, contractId, periodId, list, htmlUrl3, blReserveFundsRatioNew, projectName, pKeyId3,excel3.get().getTabName());
|
|
|
+ ReportResult intermediateMeasurementPaymentCertificatePDF = getIntermediateMeasurementPaymentCertificatePDF(url3, contractId, periodId, list, htmlUrl3, blReserveFundsRatioNew, projectName, pKeyId3);
|
|
|
|
|
|
//获取清单支付报表PDF
|
|
|
- ReportResult inventoryPayReportPDF = getInventoryPayReportPDF(url6, contractId, periodId, projectId, list, redisId, htmlUrl6, pKeyId6, excel6.get().getTabName());
|
|
|
+ ReportResult inventoryPayReportPDF = getInventoryPayReportPDF(url6, contractId, periodId, projectId, list, redisId, htmlUrl6, pKeyId6);
|
|
|
|
|
|
//获取工程支付月报pdfUrl
|
|
|
- ReportResult monthlyReportPDF = getMonthlyReportPDF(url5, reportId, contractId, periodId, projectId, list, redisId, htmlUrl5, pKeyId5, excel5.get().getTabName());
|
|
|
+ ReportResult monthlyReportPDF = getMonthlyReportPDF(url5, reportId, contractId, periodId, projectId, list, redisId, htmlUrl5, pKeyId5);
|
|
|
|
|
|
//获取中间支付申请表pdfUrl
|
|
|
- ReportResult intermediateApplyPDF = getIntermediateApplyPDF(url4, periodId, projectId, htmlUrl4, projectName, contractId, pKeyId4, excel4.get().getTabName());
|
|
|
+ ReportResult intermediateApplyPDF = getIntermediateApplyPDF(url4, periodId, projectId, htmlUrl4, projectName, contractId, pKeyId4);
|
|
|
|
|
|
reportResults.add(CoverOfMidtermPaymentReportPDF);
|
|
|
reportResults.add(intermediatePaymentPDF);
|
|
@@ -2686,7 +2686,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
/**
|
|
|
* 中期支付报表封面
|
|
|
*/
|
|
|
- private ReportResult getCoverOfMidtermPaymentReportPDF(String url, Long contractId, Long periodId, String htmlUrl, String projectName, List<ContractMeterPeriod> list, Long pkeyId, String tabName) {
|
|
|
+ private ReportResult getCoverOfMidtermPaymentReportPDF(String url, Long contractId, Long periodId, String htmlUrl, String projectName, List<ContractMeterPeriod> list, Long pkeyId) {
|
|
|
|
|
|
//获取本期计量期
|
|
|
String sqlForMeterPeriodById = "SELECT id,period_number,start_date,end_date FROM s_contract_meter_period WHERE id=" + periodId + " and is_deleted = 0 ";
|
|
@@ -2737,7 +2737,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
Cell c10 = getCellByAddress(sheet, "C10");
|
|
|
c10.setCellValue(contractInfo.getSupervisionUnitName());
|
|
|
}
|
|
|
- dianqian(htmlUrl, sheet, workbook, tabName);
|
|
|
+ dianqian(htmlUrl, sheet, workbook);
|
|
|
if (!periodId.equals(1867838908899852290L)) {
|
|
|
dianqianTime(htmlUrl, sheet, workbook, pkeyId, periodId, contractId);
|
|
|
}
|
|
@@ -2773,7 +2773,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
|
|
|
/*设置电签ID*/
|
|
|
- public void dianqian(String htmlUrl, Sheet sheet, Workbook workbook, String tabName) {
|
|
|
+ public void dianqian(String htmlUrl, Sheet sheet, Workbook workbook) {
|
|
|
try {
|
|
|
InputStream inputStreamByUrl = FileUtils.getInputStreamByUrl(htmlUrl);
|
|
|
String htmlString = IoUtil.readToString(inputStreamByUrl);
|
|
@@ -2781,30 +2781,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
Element table = doc.select("table").first();
|
|
|
// 组装电签设置
|
|
|
Elements dqids = table.getElementsByAttribute("dqid");
|
|
|
- // 电签组装2
|
|
|
- String dqSql = "select e_key,GROUP_CONCAT(DISTINCT concat('*✹',id)) ids from u_sign_key_role_info where tab_en_name='" + tabName + "' GROUP BY e_key";
|
|
|
- List<Map<String, Object>> mapList = jdbcTemplate.queryForList(dqSql);
|
|
|
- if(mapList!=null && mapList.size()>0){
|
|
|
- for(Map<String, Object> map : mapList) {
|
|
|
- Elements elementsBy = table.getElementsByAttributeValueStarting("keyname", map.get("e_key") + "_");
|
|
|
- if(elementsBy!=null && elementsBy.size()>0){
|
|
|
- for(Element element : elementsBy){
|
|
|
- String dqIds = (String) map.get("ids");
|
|
|
- dqIds = dqIds.replace(",","");
|
|
|
- dqIds = dqIds.substring(1);
|
|
|
- element.attr("sign_type", dqIds);
|
|
|
- dqids.add(element);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
for (Element element : dqids) {
|
|
|
- String dqid="";
|
|
|
- if(element.hasAttr("sign_type")){
|
|
|
- dqid = element.attr("sign_type");
|
|
|
- }else{
|
|
|
- dqid = element.attr("dqid");
|
|
|
- }
|
|
|
+ String dqid = element.attr("dqid");
|
|
|
|
|
|
int x1 = 0;
|
|
|
int y1 = 0;
|
|
@@ -2850,6 +2828,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/*设置电签时间*/
|
|
|
private void dianqianTime(String htmlUrl, Sheet sheet, Workbook workbook, Long pkeyId, Long perId, Long contractId) {
|
|
|
String timeSql = "SELECT DISTINCT a.time_col_key,DATE_FORMAT(c.create_time, '%Y年%m月%d日') as create_time from m_textdict_info a ,m_project_assignment_user b,u_task_parallel c ,u_task d where a.sig_role_id=b.role_id and b.user_id=c.task_user and c.process_instance_id=d.process_instance_id and b.contract_id=" + contractId + " and LENGTH(a.time_col_key)>=2 " +
|
|
@@ -2898,7 +2877,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
/**
|
|
|
* 中间计量支付证书获取PDFurl
|
|
|
*/
|
|
|
- private ReportResult getIntermediateMeasurementPaymentCertificatePDF(String url3, Long contractId, Long periodId, List<ContractMeterPeriod> list, String htmlUrl, BigDecimal blReserveFundsRatioNew, String projectName, Long pkeyId, String tabName) {
|
|
|
+ private ReportResult getIntermediateMeasurementPaymentCertificatePDF(String url3, Long contractId, Long periodId, List<ContractMeterPeriod> list, String htmlUrl, BigDecimal blReserveFundsRatioNew, String projectName, Long pkeyId) {
|
|
|
//判断当前是否是第一期
|
|
|
Boolean isOnePeriod = false;
|
|
|
ContractMeterPeriod contractMeterPeriod = list.get(0);
|
|
@@ -2979,7 +2958,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
Cell c3 = getCellByAddress(sheet, "C3");
|
|
|
c3.setCellValue(projectName);
|
|
|
|
|
|
- dianqian(htmlUrl, sheet, workbook, tabName);
|
|
|
+ dianqian(htmlUrl, sheet, workbook);
|
|
|
if (!periodId.equals(1867838908899852290L)) {
|
|
|
dianqianTime(htmlUrl, sheet, workbook, pkeyId, periodId, contractId);
|
|
|
}
|
|
@@ -3025,7 +3004,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
/**
|
|
|
* 补助款申请支付审核表获取PDFurl
|
|
|
*/
|
|
|
- private ReportResult getSubsidyApplicationPaymentReviewPDF(String url2, Long contractId, Long periodId, List<ContractMeterPeriod> list, String htmlUrl, BigDecimal blReserveFundsRatioNew, String projectName, Long projectId, Long reportId, Long pkeyId, String tabName) {
|
|
|
+ private ReportResult getSubsidyApplicationPaymentReviewPDF(String url2, Long contractId, Long periodId, List<ContractMeterPeriod> list, String htmlUrl, BigDecimal blReserveFundsRatioNew, String projectName, Long projectId, Long reportId, Long pkeyId) {
|
|
|
//判断当前是否是只有1期计量
|
|
|
Boolean isOnePeriod = false;
|
|
|
ContractMeterPeriod contractMeterPeriod = list.get(0);
|
|
@@ -3299,7 +3278,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
Cell a2 = getCellByAddress(sheet, "A2");
|
|
|
a2.setCellValue(projectName);
|
|
|
// 电签
|
|
|
- dianqian(htmlUrl, sheet, workbook, tabName);
|
|
|
+ dianqian(htmlUrl, sheet, workbook);
|
|
|
if (!periodId.equals(1867838908899852290L)) {
|
|
|
dianqianTime(htmlUrl, sheet, workbook, pkeyId, periodId, contractId);
|
|
|
}
|
|
@@ -3339,7 +3318,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
/**
|
|
|
* 中间支付审核表获取PDFurl
|
|
|
*/
|
|
|
- public ReportResult getIntermediatePaymentPDF(String url, Long contractId, Long periodId, List<ContractMeterPeriod> list, Long redisId, String htmlUrl, BigDecimal blReserveFundsRatioNew, String projectName, BigDecimal changeMoneyNew, Long pkeyId, String tabName) {
|
|
|
+ public ReportResult getIntermediatePaymentPDF(String url, Long contractId, Long periodId, List<ContractMeterPeriod> list, Long redisId, String htmlUrl, BigDecimal blReserveFundsRatioNew, String projectName, BigDecimal changeMoneyNew, Long pkeyId,Long reportId) {
|
|
|
//判断当前是否是只有1期计量
|
|
|
Boolean isOnePeriod = false;
|
|
|
ContractMeterPeriod contractMeterPeriod1 = list.get(0);
|
|
@@ -3437,9 +3416,30 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
changeMoneySum = changeMoneySum.setScale(0, RoundingMode.HALF_UP);*/
|
|
|
BigDecimal changemoneySum = changeMoneyNew.subtract(totalMoney).subtract(lastEndChangeMoney).setScale(0, RoundingMode.HALF_UP);
|
|
|
Cell e5 = getCellByAddress(sheet, "E5");
|
|
|
+ String sql4 = "Select * From s_interim_pay_certificate_item where certificate_id=" + reportId + " and chapter_seq='本期变更' and is_deleted=0 ";
|
|
|
+ List<InterimPayCertificateItem> lists = jdbcTemplate.query(sql4, new BeanPropertyRowMapper<>(InterimPayCertificateItem.class));
|
|
|
+ if (lists.isEmpty()) {
|
|
|
+ MonthlyReportVo vo=new MonthlyReportVo();
|
|
|
+ vo.setChapterSeq("本期变更");
|
|
|
+ vo.setBeforeEndMoney(lastEndChangeMoney);
|
|
|
+ vo.setNowMoney(changemoneySum);
|
|
|
+ vo.setNowEndMoney(lastEndChangeMoney.add(changemoneySum));
|
|
|
+ //第一次需要新增支付项
|
|
|
+ interimPayCertificateItemClient.addInterimPayCertificateItem1(reportId, vo);
|
|
|
+ } else {
|
|
|
+ InterimPayCertificateItem item = lists.get(0);
|
|
|
+ //第二次后就是更新
|
|
|
+ changemoneySum=stringToBigDecimal(item.getCurrentPeriodPay());
|
|
|
+ item.setCurrentPeriodPay(changemoneySum.toString());
|
|
|
+ item.setPreviousPeriodEndPay(lastEndChangeMoney.toString());
|
|
|
+ item.setCurrentPeriodEndPay(lastEndChangeMoney.add(changemoneySum).toString());
|
|
|
+ interimPayCertificateItemClient.updateInterimPayCertificateItem1(item);
|
|
|
+ }
|
|
|
if(periodId==1890367903054798850L){
|
|
|
e5.setCellValue("515977");
|
|
|
- }else {
|
|
|
+ } else if (periodId==1963802568671502338L) {
|
|
|
+ e5.setCellValue("1496852");
|
|
|
+ } else {
|
|
|
e5.setCellValue(changemoneySum.toString());
|
|
|
}
|
|
|
|
|
@@ -3611,7 +3611,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
//顶部项目名称
|
|
|
Cell a1 = getCellByAddress(sheet, "A1");
|
|
|
a1.setCellValue(projectName);
|
|
|
- dianqian(htmlUrl, sheet, workbook, tabName);
|
|
|
+ dianqian(htmlUrl, sheet, workbook);
|
|
|
if (!periodId.equals(1867838908899852290L)) {
|
|
|
dianqianTime(htmlUrl, sheet, workbook, pkeyId, periodId, contractId);
|
|
|
}
|
|
@@ -3661,6 +3661,17 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
|
|
|
|
|
|
+ public BigDecimal stringToBigDecimal(String value) {
|
|
|
+ if (StringUtils.isEmpty(value)) {
|
|
|
+ return BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ return new BigDecimal(value.trim());
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ return BigDecimal.ZERO;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 获取上期末的数据
|
|
@@ -3760,10 +3771,9 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
* 中间支付申请表获取pdfUrl
|
|
|
*
|
|
|
* @param url
|
|
|
- * @param tabName
|
|
|
* @return
|
|
|
*/
|
|
|
- public ReportResult getIntermediateApplyPDF(String url, Long periodId, Long projectId, String htmlUrl, String projectName, Long contractId, Long pkeyId, String tabName) {
|
|
|
+ public ReportResult getIntermediateApplyPDF(String url, Long periodId, Long projectId, String htmlUrl, String projectName, Long contractId, Long pkeyId) {
|
|
|
InputStream modInput = null;
|
|
|
FileInputStream excelFileInput = null;
|
|
|
FileOutputStream outputStream = null;
|
|
@@ -3773,7 +3783,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
modInput = CommonUtil.getOSSInputStream(url);
|
|
|
workbook = WorkbookFactory.create(modInput);
|
|
|
Sheet sheet = workbook.getSheetAt(0);
|
|
|
- dianqian(htmlUrl, sheet, workbook, tabName);
|
|
|
+ dianqian(htmlUrl, sheet, workbook);
|
|
|
if (!periodId.equals(1867838908899852290L)) {
|
|
|
dianqianTime(htmlUrl, sheet, workbook, pkeyId, periodId, contractId);
|
|
|
}
|
|
@@ -3840,10 +3850,9 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
* 工程支付月报获取pdfUrl
|
|
|
*
|
|
|
* @param url
|
|
|
- * @param tabName
|
|
|
* @return
|
|
|
*/
|
|
|
- public ReportResult getMonthlyReportPDF(String url, Long reportId, Long contractId, Long periodId, Long projectId, List<ContractMeterPeriod> list, Long redisId, String htmlUrl, Long pkeyId, String tabName) throws IllegalAccessException {
|
|
|
+ public ReportResult getMonthlyReportPDF(String url, Long reportId, Long contractId, Long periodId, Long projectId, List<ContractMeterPeriod> list, Long redisId, String htmlUrl, Long pkeyId) throws IllegalAccessException {
|
|
|
//获取本期计量期
|
|
|
String sqlForMeterPeriodById = "SELECT id,period_number,start_date,end_date FROM s_contract_meter_period WHERE id=" + periodId + " and is_deleted = 0 ";
|
|
|
ContractMeterPeriod contractMeterPeriodNow = jdbcTemplate.queryForObject(sqlForMeterPeriodById, new BeanPropertyRowMapper<>(ContractMeterPeriod.class));
|
|
@@ -4301,7 +4310,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
m_3.setCellValue(formattedDate);
|
|
|
}
|
|
|
}
|
|
|
- dianqian(htmlUrl, sheet, workbook, tabName);
|
|
|
+ dianqian(htmlUrl, sheet, workbook);
|
|
|
if (!periodId.equals(1867838908899852290L)) {
|
|
|
dianqianTime(htmlUrl, sheet, workbook, pkeyId, periodId, contractId);
|
|
|
}
|
|
@@ -4337,11 +4346,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
* 清单支付报表获取PDF
|
|
|
*
|
|
|
* @param url
|
|
|
- * @param tabName
|
|
|
* @return
|
|
|
*/
|
|
|
|
|
|
- public ReportResult getInventoryPayReportPDF(String url, Long contractId, Long periodId, Long projectId, List<ContractMeterPeriod> list, Long redisId, String htmlUrl, Long pkeyId, String tabName) throws FileNotFoundException, IllegalAccessException {
|
|
|
+ public ReportResult getInventoryPayReportPDF(String url, Long contractId, Long periodId, Long projectId, List<ContractMeterPeriod> list, Long redisId, String htmlUrl, Long pkeyId) throws FileNotFoundException, IllegalAccessException {
|
|
|
MiddleMeterApply middleMeterApply = new MiddleMeterApply();
|
|
|
middleMeterApply.setContractId(contractId);
|
|
|
middleMeterApply.setContractPeriodId(periodId);
|
|
@@ -4729,7 +4737,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
l4.setCellStyle(cellStyle);
|
|
|
l4.setCellValue(contractInfo.getSupervisionUnitName());
|
|
|
}
|
|
|
- dianqian(htmlUrl, sheet, workbook, tabName);
|
|
|
+ dianqian(htmlUrl, sheet, workbook);
|
|
|
if (!periodId.equals(1867838908899852290L)) {
|
|
|
dianqianTime(htmlUrl, sheet, workbook, pkeyId, periodId, contractId);
|
|
|
}
|