|
@@ -62,6 +62,7 @@ import org.springblade.resource.vo.NewBladeFile;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
+import org.springframework.dao.DataAccessException;
|
|
|
import org.springframework.dao.EmptyResultDataAccessException;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
@@ -2156,7 +2157,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
String tabName = wbsTreeContract1.getInitTableName();
|
|
|
// 字段查询 并去掉公式字段
|
|
|
String colkeys = "SELECT GROUP_CONCAT(COLUMN_NAME) as colkeys from information_schema.COLUMNS c where c.table_name='" + tabName + "' and COLUMN_NAME not in('id','p_key_id')";
|
|
|
- Map<String, Object> stringObjectMap = jdbcTemplate.queryForMap(colkeys);
|
|
|
+ Map<String, Object> stringObjectMap = jdbcTemplate.queryForMap(
|
|
|
+ colkeys);
|
|
|
colkeys = stringObjectMap.get("colkeys") + "";
|
|
|
// 复制表数据
|
|
|
String querySql = "insert into " + tabName + " (id,p_key_id," + colkeys + ") select '" + newPkId + "','" + newPkId + "'," + colkeys + " from " + tabName + " where p_key_id=" + wbsTreeContract.getPKeyId();
|
|
@@ -2208,7 +2210,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
//获取工程支付月报pdfUrl
|
|
|
ReportResult monthlyReportPDF=getMonthlyReportPDF(url5,reportId,contractId,periodId,projectId,list,redisId);
|
|
|
//获取中间支付申请表pdfUrl
|
|
|
- ReportResult intermediateApplyPDF=getIntermediateApplyPDF(url4,periodId);
|
|
|
+ ReportResult intermediateApplyPDF=getIntermediateApplyPDF(url4,periodId,projectId);
|
|
|
+
|
|
|
reportResults.add(CoverOfMidtermPaymentReportPDF);
|
|
|
reportResults.add(intermediatePaymentPDF);
|
|
|
reportResults.add(subsidyApplicationPaymentReviewPDF);
|
|
@@ -2928,8 +2931,16 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
* @param url
|
|
|
* @return
|
|
|
*/
|
|
|
- public ReportResult getIntermediateApplyPDF(String url,Long periodId){
|
|
|
- InputStream modInput = null;
|
|
|
+ public ReportResult getIntermediateApplyPDF(String url,Long periodId,Long projectId){
|
|
|
+ String projectName = null;
|
|
|
+ try {
|
|
|
+ String sql="Select project_name from m_project_info where id="+projectId;
|
|
|
+ projectName = jdbcTemplate.queryForObject(sql, String.class);
|
|
|
+ } catch (DataAccessException e) {
|
|
|
+ projectName=null;
|
|
|
+ }
|
|
|
+
|
|
|
+ InputStream modInput = null;
|
|
|
FileInputStream excelFileInput = null;
|
|
|
FileOutputStream outputStream = null;
|
|
|
Workbook workbook = null;
|
|
@@ -2938,10 +2949,12 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
modInput = CommonUtil.getOSSInputStream(url);
|
|
|
workbook = WorkbookFactory.create(modInput);
|
|
|
Sheet sheet = workbook.getSheetAt(0);
|
|
|
+ Cell d=getCellByAddress(sheet,"D5");
|
|
|
+ d.setCellValue(projectName);
|
|
|
//根据坐标获取单元格
|
|
|
Cell c = getCellByAddress(sheet, "E6");
|
|
|
//本期计量
|
|
|
- Object o = bladeRedis.get("periodId" + periodId + "nowMoney");
|
|
|
+ Object o = bladeRedis.get("periodId:" + periodId + "nowMoney");
|
|
|
BigDecimal value=new BigDecimal(0);
|
|
|
if(ObjectUtil.isNotEmpty(o)&& o instanceof BigDecimal){
|
|
|
value=(BigDecimal) o;
|
|
@@ -3017,8 +3030,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
if(index.isPresent()){
|
|
|
int j = index.getAsInt();
|
|
|
if(j>0){
|
|
|
- //期数ID,章节号
|
|
|
- Object o = bladeRedis.get("periodId:"+list.get(j-1).getId()+"formNum:"+key+"nowMoney");
|
|
|
+ //期数ID,章节号
|
|
|
+ Object o = bladeRedis.get("periodId:"+list.get(j-1).getId()+"formNumber:"+monthlyReport.getFormNumber()+"nowEndMoney");
|
|
|
if(ObjectUtil.isNotEmpty(o)){
|
|
|
beforeEndMoney=beforeEndMoney.add ((BigDecimal) o);
|
|
|
}
|
|
@@ -3033,7 +3046,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
}
|
|
|
//本期完成
|
|
|
- Object o = bladeRedis.get("periodId:"+periodId+"formNum:"+key+"nowMoney");
|
|
|
+ Object o = bladeRedis.get("periodId:"+periodId+"formNumber:"+key+"nowMoney");
|
|
|
if(ObjectUtil.isNotEmpty(o)){
|
|
|
monthlyReport.setNowMoney((BigDecimal)o);
|
|
|
BigDecimal percentage = monthlyReport.getNowMoney().divide(monthlyReport.getCurrentMeterMoney(), 10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
|
|
@@ -3042,6 +3055,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
}
|
|
|
//到本期末完成
|
|
|
//如果有到上期末完成金额,和本期完成金额 则到本期末完成金额=到上期末完成金额+本期完成金额
|
|
|
+
|
|
|
if(ObjectUtil.isNotEmpty(monthlyReport.getBeforeEndMoney())&&ObjectUtil.isNotEmpty(monthlyReport.getNowMoney())){
|
|
|
monthlyReport.setNowEndMoney(monthlyReport.getBeforeEndMoney().add(monthlyReport.getNowMoney()));
|
|
|
}//如果到上期末完成金额为空,本期完成金额不为空 本期末完成金额=本期完成金额
|
|
@@ -3049,12 +3063,16 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
monthlyReport.setNowEndMoney(monthlyReport.getNowMoney());
|
|
|
}else if(ObjectUtil.isEmpty(monthlyReport.getNowMoney())&&ObjectUtil.isNotEmpty(monthlyReport.getBeforeEndMoney())){
|
|
|
monthlyReport.setNowEndMoney(monthlyReport.getBeforeEndMoney());
|
|
|
+ }else {
|
|
|
+ monthlyReport.setNowEndMoney(BigDecimal.ZERO);
|
|
|
}
|
|
|
if(ObjectUtil.isNotEmpty(monthlyReport.getNowEndMoney())){
|
|
|
BigDecimal percentage = monthlyReport.getNowEndMoney().divide(monthlyReport.getCurrentMeterMoney(), 10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
|
|
|
percentage = percentage.setScale(2, BigDecimal.ROUND_HALF_UP); // 设置
|
|
|
monthlyReport.setNowEndC(percentage);
|
|
|
}
|
|
|
+ //到本期末完成 本期ID+章节号
|
|
|
+ bladeRedis.set("periodId:"+periodId+"formNumber:"+monthlyReport.getFormNumber()+"nowEndMoney",monthlyReport.getNowEndMoney());
|
|
|
values.add(monthlyReport);
|
|
|
}
|
|
|
MonthlyReportVo m1 = new MonthlyReportVo();
|
|
@@ -3208,7 +3226,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
BigDecimal percentage6 = m19.getNowEndMoney().divide(m11.getAfterCurrentMeterMoney(), 10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"));
|
|
|
percentage6 = percentage6.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
m19.setNowEndC(percentage6);
|
|
|
- bladeRedis.set("periodId"+periodId+"nowMoney",m19.getNowMoney());
|
|
|
+ bladeRedis.set("periodId:"+periodId+"nowMoney",m19.getNowMoney());
|
|
|
values.add(m19);
|
|
|
setZeroBigDecimalFieldsToNullInList(values);
|
|
|
InputStream modInput = null;
|
|
@@ -3361,6 +3379,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
vo.setNowTotal(detailVO.getAllMeterTotal());
|
|
|
//本期完成金额
|
|
|
vo.setNowMoney(detailVO.getAllMeterTotal().multiply(detailVO.getCurrentPrice()).setScale(0, RoundingMode.HALF_UP));
|
|
|
+
|
|
|
+
|
|
|
//大于0表示有上期的 需要添加上期末数据
|
|
|
if(changeFormDetailMap.size()>0){
|
|
|
BigDecimal b1=BigDecimal.ZERO;
|
|
@@ -3368,8 +3388,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
for (Map.Entry<String, List<MeterInventoryDetailVO>> entry : changeFormDetailMap.entrySet()) {
|
|
|
for (MeterInventoryDetailVO changevo : entry.getValue()) {
|
|
|
if(changevo.getFormNumber().equals(vo.getFormNumber())){
|
|
|
- b1=bladeRedis.get("period"+entry.getKey()+"formNumber"+vo.getFormNumber()+"detailsTotal");
|
|
|
- b2=bladeRedis.get("period"+entry.getKey()+"formNumber"+vo.getFormNumber()+"detailsMoney");
|
|
|
+ b1=bladeRedis.get("periodId:"+entry.getKey()+"formNumber:"+vo.getFormNumber()+"detailsTotal");
|
|
|
+ b2=bladeRedis.get("periodId:"+entry.getKey()+"formNumber:"+vo.getFormNumber()+"detailsMoney");
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -3394,10 +3414,10 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
vo.setNowEndMoney(vo.getNowMoney().setScale(0, RoundingMode.HALF_UP));
|
|
|
}
|
|
|
if(ObjectUtil.isNotEmpty(vo.getNowEndTotal())&&!vo.getNowEndTotal().equals(BigDecimal.ZERO)){
|
|
|
- bladeRedis.set("period"+periodId+"formNumber"+vo.getFormNumber()+"detailsTotal",vo.getNowEndTotal());
|
|
|
+ bladeRedis.set("periodId:"+periodId+"formNumber:"+vo.getFormNumber()+"detailsTotal",vo.getNowEndTotal());
|
|
|
}
|
|
|
if(ObjectUtil.isNotEmpty(vo.getNowEndMoney())&&!vo.getNowEndMoney().equals(BigDecimal.ZERO)){
|
|
|
- bladeRedis.set("period"+periodId+"formNumber"+vo.getFormNumber()+"detailsMoney",vo.getNowEndMoney());
|
|
|
+ bladeRedis.set("periodId:"+periodId+"formNumber:"+vo.getFormNumber()+"detailsMoney",vo.getNowEndMoney());
|
|
|
}
|
|
|
|
|
|
list1.add(vo);
|
|
@@ -3539,7 +3559,8 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
|
|
|
listUrl.add(bladeFile.getPdfUrl());
|
|
|
}
|
|
|
//本期末完成 本期ID+章节号
|
|
|
- bladeRedis.set("periodId:"+periodId+"formNum:"+listEntry.getKey()+"nowMoney",totalNowEndMoney);
|
|
|
+ bladeRedis.set("periodId:"+periodId+"formNumber:"+listEntry.getKey()+"nowEndMoney",totalNowEndMoney);
|
|
|
+
|
|
|
}
|
|
|
collectionUtilsClient.mergePdfPublicMethods(listUrl, localImgUrl);
|
|
|
//上传oss
|