Browse Source

预警修改

dev_kxc
慕月霜笙 11 months ago
parent
commit
75462db4b6
  1. 42
      jwtech-system/src/main/java/com/kms/build/domain/vo/StageStatistics.java
  2. 72
      jwtech-system/src/main/java/com/kms/build/service/BsSgcjsjdBuiProInfoService.java
  3. 12
      jwtech-system/src/main/java/com/kms/warn/controller/ProjectManageController.java
  4. 4
      jwtech-system/src/main/resources/mapper/build/BsSgcJsjdBuiProgressMapper.xml

42
jwtech-system/src/main/java/com/kms/build/domain/vo/StageStatistics.java

@ -0,0 +1,42 @@
package com.kms.build.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class StageStatistics {
/** 初步批复日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date preliminaryApprovalDate;
/** 项目开工日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date projectStartedDate;
/** 项目完工日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date projectCompletedDate;
/** 竣工验收日期*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date completionAcceptanceDate;
/** 已投资金额 */
private BigDecimal completeInvestmentAmount;
/** 计划投资金额 */
private BigDecimal planInvestmentAmount;
/** 已过工期 */
private String elapseConstructionPeriod;
/** 总工期 */
private String totalConstructionPeriod;
/** 目前阶段 0初步批复 1项目开工 2项目完工 3竣工验收*/
private String currentStage;
}

72
jwtech-system/src/main/java/com/kms/build/service/BsSgcjsjdBuiProInfoService.java

@ -1,5 +1,6 @@
package com.kms.build.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -15,6 +16,10 @@ import com.kms.build.domain.dto.AssertStatisticsDto;
import com.kms.build.domain.dto.HistogramDto;
import com.kms.build.domain.dto.NumberDto;
import com.kms.build.domain.vo.StageStatistics;
import com.kms.build.mapper.BsSgcJsjdBuiComAccMapper;
import com.kms.build.mapper.BsSgcJsjdBuiConstrMeasMapper;
import com.kms.build.mapper.BsSgcJsjdBuiProgressPlanMapper;
import com.kms.build.mapper.BsSgcjsjdBuiProInfoMapper;
import com.kms.common.utils.UserUtils;
import com.kms.earlyStage.domain.SpecialProjectInfo;
@ -28,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.Period;
import java.util.*;
@ -47,6 +53,9 @@ public class BsSgcjsjdBuiProInfoService extends BaseService<BsSgcjsjdBuiProInfoM
@Autowired
private BsSgcJsjdBuiContInfoService bsSgcJsjdBuiContInfoService;
@Autowired
private BsSgcJsjdBuiConstrMeasMapper bsSgcJsjdBuiConstrMeasMapper;
@Autowired
private SysXzqhService sysXzqhService;
@ -59,6 +68,11 @@ public class BsSgcjsjdBuiProInfoService extends BaseService<BsSgcjsjdBuiProInfoM
@Autowired
private BsSgcJsjdBuiComAccService bsSgcJsjdBuiComAccService;
@Autowired
private BsSgcJsjdBuiComAccMapper bsSgcJsjdBuiComAccMapper;
@Autowired
private BsSgcJsjdBuiProgressPlanMapper bsSgcJsjdBuiProgressPlanMapper;
public IPage selectPage(SearchParam<BsSgcjsjdBuiProInfo> sp, String adcd) {
@ -368,6 +382,64 @@ public class BsSgcjsjdBuiProInfoService extends BaseService<BsSgcjsjdBuiProInfoM
return dto;
}
public StageStatistics getStageStatistics(SearchParam<BsSgcjsjdBuiProInfo> sp){
StageStatistics stageStatistics=new StageStatistics();
BsSgcJsjdBuiConstrMeas bsSgcJsjdBuiConstrMeas = bsSgcJsjdBuiConstrMeasMapper.selectOne(new QueryWrapper<BsSgcJsjdBuiConstrMeas>()
.eq("proNo", sp.getData().getProNo()).eq("proCode", sp.getData().getProCode()));
if (!ObjectUtil.isEmpty(bsSgcJsjdBuiConstrMeas)){
if (!ObjectUtil.isEmpty(bsSgcJsjdBuiConstrMeas.getReportTime1())){
stageStatistics.setPreliminaryApprovalDate(bsSgcJsjdBuiConstrMeas.getReportTime1());
stageStatistics.setCurrentStage("0");
}
}
BsSgcjsjdBuiProInfo bsSgcjsjdBuiProInfo = bsSgcjsjdBuiProInfoMapper.selectOne(new QueryWrapper<BsSgcjsjdBuiProInfo>()
.eq("proNo", sp.getData().getProNo()).eq("proCode", sp.getData().getProCode()));
if (!ObjectUtil.isEmpty(bsSgcjsjdBuiProInfo)){
if (!ObjectUtil.isEmpty(bsSgcjsjdBuiProInfo.getCommencementDate())){
stageStatistics.setProjectStartedDate(bsSgcjsjdBuiProInfo.getCommencementDate());
if (!bsSgcjsjdBuiProInfo.getCommencementDate().before(new Date())){
stageStatistics.setCurrentStage("1");
}
}
}
BsSgcJsjdBuiComAcc bsSgcJsjdBuiComAcc = bsSgcJsjdBuiComAccMapper.selectOne(new QueryWrapper<BsSgcJsjdBuiComAcc>()
.eq("proNo", sp.getData().getProNo()).eq("proCode", sp.getData().getProCode()));
if (!ObjectUtil.isEmpty(bsSgcJsjdBuiComAcc)){
if (!ObjectUtil.isEmpty(bsSgcJsjdBuiComAcc.getContractAcceptTime())){
stageStatistics.setProjectCompletedDate(bsSgcJsjdBuiComAcc.getContractAcceptTime());
stageStatistics.setCurrentStage("2");
}
if (!ObjectUtil.isEmpty(bsSgcJsjdBuiComAcc.getContractAcceptTime())){
stageStatistics.setCompletionAcceptanceDate(bsSgcJsjdBuiComAcc.getContractAcceptTime());
stageStatistics.setCurrentStage("3");
}
}
String mm = String.format(DateUtil.formatBetween(bsSgcjsjdBuiProInfo.getCommencementDate(), bsSgcjsjdBuiProInfo.getPlannedCompletionDate()), "MM");
stageStatistics.setTotalConstructionPeriod(mm);
String mmn = String.format(DateUtil.formatBetween(bsSgcjsjdBuiProInfo.getCommencementDate(), new Date()), "MM");
stageStatistics.setElapseConstructionPeriod(mmn);
BsSgcJsjdBuiProgressPlan bp = bsSgcJsjdBuiProgressPlanMapper.selectOne(new QueryWrapper<BsSgcJsjdBuiProgressPlan>()
.eq("proNo", sp.getData().getProNo()).eq("proCode", sp.getData().getProCode()));
BigDecimal total=bp.getV1().add(bp.getV2()).add(bp.getV3()).add(bp.getV4())
.add(bp.getV5()).add(bp.getV6()).add(bp.getV7()).add(bp.getV8())
.add(bp.getV9()).add(bp.getV10()).add(bp.getV11()).add(bp.getV12());
stageStatistics.setCompleteInvestmentAmount(total);
stageStatistics.setPlanInvestmentAmount(bsSgcjsjdBuiProInfo.getCentralArrangedFunds()
.add(bsSgcjsjdBuiProInfo.getProvincialFunding()).add(bsSgcjsjdBuiProInfo.getCityLevelFunds())
.add(bsSgcjsjdBuiProInfo.getCountyLevelFunds()).add(bsSgcjsjdBuiProInfo.getTownshipInvestments()));
return stageStatistics;
}
@Data
public class Use {

12
jwtech-system/src/main/java/com/kms/warn/controller/ProjectManageController.java

@ -2,16 +2,14 @@ package com.kms.warn.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jianwei.common.core.domain.AjaxResult;
import com.jianwei.common.core.domain.SearchParam;
import com.kms.build.domain.BsSgcjsjdBuiProInfo;
import com.kms.build.service.BsSgcjsjdBuiProInfoService;
import com.kms.warn.domain.dto.FlowDto;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/warn/projectManage")
@ -45,6 +43,10 @@ public class ProjectManageController {
}
@PostMapping("/get/stage/statistics")
@ApiOperation("预警项目信息统计")
public AjaxResult getStageStatistics(@RequestBody SearchParam<BsSgcjsjdBuiProInfo> sp){
return AjaxResult.success(bsSgcjsjdBuiProInfoService.getStageStatistics(sp));
}
}

4
jwtech-system/src/main/resources/mapper/build/BsSgcJsjdBuiProgressMapper.xml

@ -16,8 +16,8 @@
FROM
`bs_sgc_jsjd_bui_progress` bp
JOIN ( SELECT *, max( create_time ) FROM `bs_sgc_jsjd_bui_progress` GROUP BY PRO_CODE, PRO_NO ) t ON t.id = bp.id
LEFT JOIN bs_slgc_qqjd_spe_pro_proposal pi on bp.PRO_NO=pi.PRO_NO and bp.PRO_CODE=pi.PROJECT_CODE
LEFT JOIN bs_sgc_jsjd_bui_pro_info pp ON pp.PRO_NO=pi.PRO_NO and pp.PRO_CODE=pi.PROJECT_CODE
INNER JOIN bs_slgc_qqjd_spe_pro_proposal pi on bp.PRO_NO=pi.PRO_NO and bp.PRO_CODE=pi.PROJECT_CODE
INNER JOIN bs_sgc_jsjd_bui_pro_info pp ON pp.PRO_NO=pi.PRO_NO and pp.PRO_CODE=pi.PROJECT_CODE
</sql>
<resultMap id="BsSgcjsjdBuiProgress" type="BsSgcjsjdBuiProgress">

Loading…
Cancel
Save