Переглянути джерело

建设方案 专家建议 保存到项目

master
PoffyZhang 1 рік тому
джерело
коміт
81824b0071
6 змінених файлів з 139 додано та 2 видалено
  1. +14
    -1
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ConstructionPlanManage.java
  2. +16
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/mapper/ConstructionSuggestionsMapper.java
  3. +42
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/entity/ProjectConstructionSuggestions.java
  4. +16
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/service/IConstrctionSuggestionsService.java
  5. +21
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/service/impl/ConstructionSuggestionsServiceImpl.java
  6. +30
    -1
      pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/HandlerManage.java

+ 14
- 1
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ConstructionPlanManage.java Переглянути файл

@@ -1,5 +1,6 @@
package com.ningdatech.pmapi.projectdeclared.manage;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -22,7 +23,9 @@ import com.ningdatech.pmapi.common.util.ExcelExportStyle;
import com.ningdatech.pmapi.projectdeclared.model.dto.ConstructionPlanExportDTO;
import com.ningdatech.pmapi.projectdeclared.model.dto.ContructionSuggestionsDTO;
import com.ningdatech.pmapi.projectdeclared.model.dto.DefaultDeclaredDTO;
import com.ningdatech.pmapi.projectdeclared.model.entity.ProjectConstructionSuggestions;
import com.ningdatech.pmapi.projectdeclared.model.req.ConstrctionPlanListReq;
import com.ningdatech.pmapi.projectdeclared.service.IConstrctionSuggestionsService;
import com.ningdatech.pmapi.projectlib.enumeration.InstTypeEnum;
import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum;
import com.ningdatech.pmapi.projectlib.enumeration.ProjectTypeEnum;
@@ -89,6 +92,7 @@ public class ConstructionPlanManage {
private final RegionCacheHelper regionCacheHelper;
private final HistoryService historyService;

private final IConstrctionSuggestionsService constrctionSuggestionsService;
/**
* 建设方案
*
@@ -365,7 +369,16 @@ public class ConstructionPlanManage {
throw new BizException("此流程不是建设方案流程 保存失败!");
}


ProjectConstructionSuggestions saveEntity = BeanUtil.copyProperties(dto,ProjectConstructionSuggestions.class);
ProjectConstructionSuggestions pcs = constrctionSuggestionsService.getOne(Wrappers.lambdaQuery(ProjectConstructionSuggestions.class)
.eq(ProjectConstructionSuggestions::getProjectCode, dto.getProjectCode())
.eq(ProjectConstructionSuggestions::getInstanceId, processInstanceId)
.last(BizConst.LIMIT_1));
if(Objects.nonNull(pcs)){
saveEntity.setId(pcs.getId());
}
saveEntity.setInstanceId(processInstanceId);
constrctionSuggestionsService.saveOrUpdate(saveEntity);
}

}

+ 16
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/mapper/ConstructionSuggestionsMapper.java Переглянути файл

@@ -0,0 +1,16 @@
package com.ningdatech.pmapi.projectdeclared.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ningdatech.pmapi.projectdeclared.model.entity.ProjectConstructionSuggestions;

/**
* <p>
* Mapper 接口
* </p>
*
* @author zpf
* @since 2023-02-05
*/
public interface ConstructionSuggestionsMapper extends BaseMapper<ProjectConstructionSuggestions> {

}

+ 42
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/entity/ProjectConstructionSuggestions.java Переглянути файл

@@ -0,0 +1,42 @@
package com.ningdatech.pmapi.projectdeclared.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;

/**
* @Classname ProjectContructionSuggestions
* @Description
* @Date 2023/5/30 15:35
* @Author PoffyZhang
*/
@Data
@TableName("nd_contract")
@ApiModel(value = "专家建设建议", description = "")
public class ProjectConstructionSuggestions {

private static final long serialVersionUID = 1L;

@ApiModelProperty("主键")
@TableId(type = IdType.AUTO)
private Long id;

@ApiModelProperty("实例ID")
private String instanceId;

@ApiModelProperty("项目编号")
private String projectCode;

@ApiModelProperty("建议项目总投资")
private BigDecimal proposeTotalInvest;

@ApiModelProperty("建议年度预算")
private BigDecimal proposeAnnualBudget;

@ApiModelProperty("建议评审意见附件")
private String proposeAttachFiles;
}

+ 16
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/service/IConstrctionSuggestionsService.java Переглянути файл

@@ -0,0 +1,16 @@
package com.ningdatech.pmapi.projectdeclared.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ningdatech.pmapi.projectdeclared.model.entity.ProjectConstructionSuggestions;

/**
* <p>
* 服务类
* </p>
*
* @author zpf
* @since 2023-05-29
*/
public interface IConstrctionSuggestionsService extends IService<ProjectConstructionSuggestions> {

}

+ 21
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/service/impl/ConstructionSuggestionsServiceImpl.java Переглянути файл

@@ -0,0 +1,21 @@
package com.ningdatech.pmapi.projectdeclared.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ningdatech.pmapi.projectdeclared.mapper.ConstructionSuggestionsMapper;
import com.ningdatech.pmapi.projectdeclared.model.entity.ProjectConstructionSuggestions;
import com.ningdatech.pmapi.projectdeclared.service.IConstrctionSuggestionsService;
import org.springframework.stereotype.Service;

/**
* <p>
* 服务实现类
* </p>
*
* @author zpf
* @since 2023-02-05
*/
@Service
public class ConstructionSuggestionsServiceImpl extends ServiceImpl<ConstructionSuggestionsMapper, ProjectConstructionSuggestions>
implements IConstrctionSuggestionsService {

}

+ 30
- 1
pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/HandlerManage.java Переглянути файл

@@ -17,6 +17,8 @@ import com.ningdatech.pmapi.common.constant.ProjectDeclareConst;
import com.ningdatech.pmapi.filemanage.model.entity.ProjectApplyBorrow;
import com.ningdatech.pmapi.filemanage.service.INdProjectApplyBorrowService;
import com.ningdatech.pmapi.projectdeclared.converter.ApplicationConverter;
import com.ningdatech.pmapi.projectdeclared.model.entity.ProjectConstructionSuggestions;
import com.ningdatech.pmapi.projectdeclared.service.IConstrctionSuggestionsService;
import com.ningdatech.pmapi.projectlib.enumeration.InstTypeEnum;
import com.ningdatech.pmapi.projectlib.model.entity.ProjectDelayApply;
import com.ningdatech.pmapi.projectlib.service.INdProjectDelayApplyService;
@@ -92,6 +94,8 @@ public class HandlerManage {
private final INdProjectDelayApplyService projectDelayApplyService;
private final INdProjectApplyBorrowService projectApplyBorrowService;

private final IConstrctionSuggestionsService constrctionSuggestionsService;

@Value("${spring.profiles.active}")
private String active;

@@ -199,10 +203,14 @@ public class HandlerManage {
// 当前项目状态是单位内部审核中
case UNDER_INTERNAL_AUDIT:
// 当前项目状态是方案评审中
case FINAL_ACCEPTANCE_IS_UNDER_REVIEW:
updatePassProjectStatus(userId, declaredProject);
break;
case SCHEME_UNDER_REVIEW:
// 当前项目状态是终验审核中
case FINAL_ACCEPTANCE_IS_UNDER_REVIEW:
updatePassProjectStatus(userId, declaredProject);
// 判断是否 保存建设建议信息
saveContructionSuggestionInfo(instance.getId(),declaredProject);
break;
default:
throw new BizException("传入项目状态错误: " + declaredProject.getStatus());
@@ -226,6 +234,27 @@ public class HandlerManage {
}
}

/**
* 去保存 建设建议信息
* @param instanceId
* @param project
*/
private void saveContructionSuggestionInfo(String instanceId, Project project) {
ProjectConstructionSuggestions pcs = constrctionSuggestionsService.getOne(Wrappers.lambdaQuery(ProjectConstructionSuggestions.class)
.eq(ProjectConstructionSuggestions::getProjectCode, project.getProjectCode())
.eq(ProjectConstructionSuggestions::getInstanceId, instanceId)
.last(BizConst.LIMIT_1));
if(Objects.isNull(pcs)){
log.info("没有该流程的 建设 建议信息");
return;
}

project.setProposeTotalInvest(pcs.getProposeTotalInvest());
project.setProposeAnnualBudget(pcs.getProposeAnnualBudget());
project.setProposeAttachFiles(pcs.getProposeAttachFiles());
projectService.updateById(project);
}

public void updateProjectApplyBorrowInfo(Project declaredProject, String instanceId) {
// 获取申请借阅信息
ProjectApplyBorrow projectApplyBorrow = projectApplyBorrowService.getOne(Wrappers.lambdaQuery(ProjectApplyBorrow.class)


Завантаження…
Відмінити
Зберегти