Explorar el Código

续建项目资金库逆向

master
WendyYang hace 1 año
padre
commit
b89565fe10
Se han modificado 21 ficheros con 633 adiciones y 91 borrados
  1. +1
    -1
      ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java
  2. +1
    -2
      pmapi/src/main/java/com/ningdatech/pmapi/App.java
  3. +40
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ExpertReviewController.java
  4. +12
    -3
      pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ReviewTemplateSettingsController.java
  5. +73
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertReviewManage.java
  6. +18
    -5
      pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ReviewTemplateSettingsManage.java
  7. +16
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/mapper/ExpertReviewMapper.java
  8. +5
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/mapper/ExpertReviewMapper.xml
  9. +70
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/model/entity/ExpertReview.java
  10. +8
    -80
      pmapi/src/main/java/com/ningdatech/pmapi/expert/model/entity/ReviewTemplateSettings.java
  11. +67
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/ExpertReviewDetailReq.java
  12. +5
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/ReviewTemplateReq.java
  13. +28
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/service/IExpertReviewService.java
  14. +33
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/expert/service/impl/ExpertReviewServiceImpl.java
  15. +20
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/controller/ProjectRenewalFundDeclarationController.java
  16. +16
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/mapper/ProjectRenewalFundDeclarationMapper.java
  17. +5
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/mapper/ProjectRenewalFundDeclarationMapper.xml
  18. +173
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/entity/ProjectRenewalFundDeclaration.java
  19. +16
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/service/IProjectRenewalFundDeclarationService.java
  20. +20
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/service/impl/ProjectRenewalFundDeclarationServiceImpl.java
  21. +6
    -0
      pmapi/src/main/resources/application-dev.yml

+ 1
- 1
ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java Ver fichero

@@ -56,7 +56,7 @@ public class GeneratorCodeKingbaseConfig {
}

public static void main(String[] args) {
generate("WendyYang", "expert", PATH_YYD, "nd_review_template_settings");
generate("WendyYang", "projectlib", PATH_YYD, "nd_project_renewal_fund_declaration");
}

}

+ 1
- 2
pmapi/src/main/java/com/ningdatech/pmapi/App.java Ver fichero

@@ -3,7 +3,6 @@ package com.ningdatech.pmapi;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
@@ -23,7 +22,7 @@ public class App {
protected static final String MAPPER_PACKAGES = "com.ningdatech.pmapi.**.mapper";

public static void main(String[] args) {
System.setProperty("druid.mysql.usePingMethod", "false");
SpringApplication.run(App.class, args);
}

}

+ 40
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ExpertReviewController.java Ver fichero

@@ -0,0 +1,40 @@
package com.ningdatech.pmapi.expert.controller;


import com.ningdatech.log.annotation.WebLog;
import com.ningdatech.pmapi.expert.manage.ExpertReviewManage;
import com.ningdatech.pmapi.expert.model.req.ExpertReviewDetailReq;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
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 javax.validation.Valid;

/**
* <p>
* 前端控制器
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
@RestController
@AllArgsConstructor
@Api(tags = "专家评审")
@RequestMapping("/api/v1/expertReview")
public class ExpertReviewController {

private final ExpertReviewManage expertReviewManage;

@PostMapping("/save")
@ApiOperation("填写评审意见")
@WebLog("填写评审意见")
public void expertReview(@RequestBody @Valid ExpertReviewDetailReq req) {
expertReviewManage.expertReview(req);
}

}

+ 12
- 3
pmapi/src/main/java/com/ningdatech/pmapi/expert/controller/ReviewTemplateSettingsController.java Ver fichero

@@ -1,10 +1,12 @@
package com.ningdatech.pmapi.expert.controller;


import com.ningdatech.log.annotation.WebLog;
import com.ningdatech.pmapi.expert.manage.ReviewTemplateSettingsManage;
import com.ningdatech.pmapi.expert.model.req.ReviewTemplateReq;
import com.ningdatech.pmapi.expert.model.vo.ReviewTemplateVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@@ -27,16 +29,23 @@ public class ReviewTemplateSettingsController {

private final ReviewTemplateSettingsManage reviewTemplateSettingsManage;

@GetMapping("/template/{templateType}")
@GetMapping("/template/{templateType}/{regionCode}")
@ApiOperation("根据模版类型获取模版")
public ReviewTemplateVO getReviewTemplateByType(@PathVariable Integer templateType) {
return reviewTemplateSettingsManage.getReviewTemplateSettings(templateType);
public ReviewTemplateVO getReviewTemplateByType(@PathVariable Integer templateType, @PathVariable String regionCode) {
return reviewTemplateSettingsManage.getReviewTemplateSettings(templateType, regionCode);
}

@PostMapping("/modify")
@ApiOperation("修改或保存模版配置")
@WebLog("修改或保存模版配置")
public void modifyReviewTemplateSettings(@RequestBody @Valid ReviewTemplateReq req) {
reviewTemplateSettingsManage.saveOrUpdate(req);
}

@GetMapping("/template/{templateId}")
@ApiModelProperty("根据模版ID获取评审模版")
public ReviewTemplateVO getTemplateById(@PathVariable Long templateId) {
return reviewTemplateSettingsManage.getReviewTemplateSettings(templateId);
}

}

+ 73
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ExpertReviewManage.java Ver fichero

@@ -0,0 +1,73 @@
package com.ningdatech.pmapi.expert.manage;

import cn.hutool.json.JSONUtil;
import com.ningdatech.basic.exception.BizException;
import com.ningdatech.cache.lock.DistributedLock;
import com.ningdatech.pmapi.expert.model.entity.ExpertReview;
import com.ningdatech.pmapi.expert.model.req.ExpertReviewDetailReq;
import com.ningdatech.pmapi.expert.service.IExpertReviewService;
import com.ningdatech.pmapi.user.util.LoginUserUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

import java.util.List;

/**
* <p>
* ExpertReviewManage
* </p>
*
* @author WendyYang
* @since 14:25 2023/2/15
*/
@Component
@RequiredArgsConstructor
public class ExpertReviewManage {

private final IExpertReviewService expertReviewService;
private final DistributedLock distributedLock;

private static final String EXPERT_REVIEW_KEY = "expert_review:";

private String buildExpertReviewKey(Long projectId, Long expertId) {
return EXPERT_REVIEW_KEY + projectId + ":" + expertId;
}

public void expertReview(ExpertReviewDetailReq req) {
Long userId = LoginUserUtil.getUserId();
Long projectId = req.getProjectId();
String expertReviewKey = buildExpertReviewKey(projectId, userId);
if (!distributedLock.lock(expertReviewKey)) {
throw BizException.wrap("保存评审意见失败,请重试");
}
try {
List<ExpertReview> reviews = expertReviewService.listByProjectIdAndExpertId(projectId, userId);
if (req.getIsFinal()) {
// TODO 判断所有专家是否都已评价
if (reviews.isEmpty()) {
throw BizException.wrap("请先填写个人评审意见");
}
if (reviews.size() > 1) {
throw BizException.wrap("不可重复填写最终评审意见");
}
} else {
if (!reviews.isEmpty()) {
throw BizException.wrap("不可重复填写评审意见");
}
}
ExpertReview review = new ExpertReview();
review.setReviewResult(req.getReviewResult());
review.setContent(JSONUtil.toJsonStr(req.getReviewTemplateOptions()));
review.setProjectId(req.getProjectId());
review.setTemplateId(req.getTemplateId());
review.setAdvice(req.getOtherAdvice());
review.setAttachFileId(req.getAttachFileId());
review.setIsFinal(req.getIsFinal());
review.setCreator(LoginUserUtil.getUsername());
expertReviewService.save(review);
} finally {
distributedLock.releaseLock(expertReviewKey);
}
}

}

+ 18
- 5
pmapi/src/main/java/com/ningdatech/pmapi/expert/manage/ReviewTemplateSettingsManage.java Ver fichero

@@ -8,6 +8,7 @@ import com.ningdatech.basic.exception.BizException;
import com.ningdatech.pmapi.common.constant.BizConst;
import com.ningdatech.pmapi.expert.model.dto.ReviewTemplateSettingsDTO;
import com.ningdatech.pmapi.expert.model.entity.ReviewTemplateSettings;
import com.ningdatech.pmapi.expert.model.enumeration.ReviewTemplateTypeEnum;
import com.ningdatech.pmapi.expert.model.req.ReviewTemplateReq;
import com.ningdatech.pmapi.expert.model.vo.ReviewTemplateVO;
import com.ningdatech.pmapi.expert.service.IReviewTemplateSettingsService;
@@ -31,25 +32,37 @@ public class ReviewTemplateSettingsManage {

@Transactional(rollbackFor = Exception.class)
public void saveOrUpdate(ReviewTemplateReq req) {
ReviewTemplateTypeEnum type = ReviewTemplateTypeEnum.getByCode(req.getTemplateType());
LambdaUpdateWrapper<ReviewTemplateSettings> update = Wrappers.lambdaUpdate(ReviewTemplateSettings.class)
.eq(ReviewTemplateSettings::getTemplateType, req.getTemplateType())
.eq(ReviewTemplateSettings::getTemplateType, type.getCode())
.eq(ReviewTemplateSettings::getRegionCode, req.getRegionCode())
.eq(ReviewTemplateSettings::getIsLast, Boolean.TRUE)
.set(ReviewTemplateSettings::getIsLast, Boolean.FALSE)
.last(BizConst.LIMIT_1);
.set(ReviewTemplateSettings::getIsLast, Boolean.FALSE);
reviewTemplateSettingsService.update(update);
ReviewTemplateSettings settings = new ReviewTemplateSettings();
settings.setTemplateType(req.getTemplateType());
settings.setTemplateType(type.getCode());
settings.setRegionCode(req.getRegionCode());
settings.setIsLast(Boolean.TRUE);
settings.setContent(JSONUtil.toJsonStr(req.getTemplates()));
reviewTemplateSettingsService.save(settings);
}

public ReviewTemplateVO getReviewTemplateSettings(Integer templateType) {
public ReviewTemplateVO getReviewTemplateSettings(Integer templateType, String regionCode) {
LambdaQueryWrapper<ReviewTemplateSettings> query = Wrappers.lambdaQuery(ReviewTemplateSettings.class)
.eq(ReviewTemplateSettings::getIsLast, Boolean.TRUE)
.eq(ReviewTemplateSettings::getRegionCode, regionCode)
.eq(ReviewTemplateSettings::getTemplateType, templateType)
.last(BizConst.LIMIT_1);
ReviewTemplateSettings settings = reviewTemplateSettingsService.getOne(query);
return buildTemplateDetail(settings);
}

public ReviewTemplateVO getReviewTemplateSettings(Long templateId) {
ReviewTemplateSettings settings = reviewTemplateSettingsService.getById(templateId);
return buildTemplateDetail(settings);
}

private ReviewTemplateVO buildTemplateDetail(ReviewTemplateSettings settings) {
if (settings == null) {
throw BizException.wrap("模版不存在");
}


+ 16
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/mapper/ExpertReviewMapper.java Ver fichero

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

import com.ningdatech.pmapi.expert.model.entity.ExpertReview;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
* <p>
* Mapper 接口
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
public interface ExpertReviewMapper extends BaseMapper<ExpertReview> {

}

+ 5
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/mapper/ExpertReviewMapper.xml Ver fichero

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ningdatech.pmapi.expert.mapper.ExpertReviewMapper">

</mapper>

+ 70
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/model/entity/ExpertReview.java Ver fichero

@@ -0,0 +1,70 @@
package com.ningdatech.pmapi.expert.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
* <p>
* 专家评价
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
@Data
@TableName("nd_expert_review")
@ApiModel(value = "ExpertReview对象", description = "专家评价")
public class ExpertReview implements Serializable {

private static final long serialVersionUID = 1L;

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

@ApiModelProperty("项目ID")
private Long projectId;

@ApiModelProperty("评审模版配置ID")
private Long templateId;

@ApiModelProperty("评审内容")
private String content;

@ApiModelProperty("意见或建议")
private String advice;

@ApiModelProperty("附件ID")
private Long attachFileId;

@ApiModelProperty("评审结果")
private Integer reviewResult;

@ApiModelProperty("创建人姓名")
private String creator;

@ApiModelProperty("创建人")
@TableField(fill = FieldFill.INSERT)
private Long createBy;

@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createOn;

@ApiModelProperty("修改人")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long updateBy;

@ApiModelProperty("是否是最终意见")
private Boolean isFinal;

@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateOn;

}

+ 8
- 80
pmapi/src/main/java/com/ningdatech/pmapi/expert/model/entity/ReviewTemplateSettings.java Ver fichero

@@ -5,6 +5,7 @@ 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.io.Serializable;
import java.time.LocalDateTime;
@@ -17,6 +18,7 @@ import java.time.LocalDateTime;
* @author WendyYang
* @since 2023-02-14
*/
@Data
@TableName("nd_review_template_settings")
@ApiModel(value = "NdReviewTemplateSettings对象", description = "评审模版配置表")
public class ReviewTemplateSettings implements Serializable {
@@ -33,92 +35,18 @@ public class ReviewTemplateSettings implements Serializable {
@ApiModelProperty("模版内容")
private String content;

private Long createBy;

private Long updateBy;

private LocalDateTime createOn;

private LocalDateTime updateOn;

@ApiModelProperty("是否是最新")
private Boolean isLast;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public Integer getTemplateType() {
return templateType;
}

public void setTemplateType(Integer templateType) {
this.templateType = templateType;
}

public String getContent() {
return content;
}
@ApiModelProperty("区域编码")
private String regionCode;

public void setContent(String content) {
this.content = content;
}

public Long getCreateBy() {
return createBy;
}

public void setCreateBy(Long createBy) {
this.createBy = createBy;
}

public Long getUpdateBy() {
return updateBy;
}

public void setUpdateBy(Long updateBy) {
this.updateBy = updateBy;
}

public LocalDateTime getCreateOn() {
return createOn;
}

public void setCreateOn(LocalDateTime createOn) {
this.createOn = createOn;
}

public LocalDateTime getUpdateOn() {
return updateOn;
}
private Long createBy;

public void setUpdateOn(LocalDateTime updateOn) {
this.updateOn = updateOn;
}
private Long updateBy;

public Boolean getIsLast() {
return isLast;
}
private LocalDateTime createOn;

public void setIsLast(Boolean isLast) {
this.isLast = isLast;
}
private LocalDateTime updateOn;

@Override
public String toString() {
return "NdReviewTemplateSettings{" +
"id=" + id +
", templateType=" + templateType +
", content=" + content +
", createBy=" + createBy +
", updateBy=" + updateBy +
", createOn=" + createOn +
", updateOn=" + updateOn +
", isLast=" + isLast +
"}";
}
}

+ 67
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/ExpertReviewDetailReq.java Ver fichero

@@ -0,0 +1,67 @@
package com.ningdatech.pmapi.expert.model.req;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
* <p>
* ExpertReviewDetailVO
* </p>
*
* @author WendyYang
* @since 14:37 2023/2/15
*/
@Data
public class ExpertReviewDetailReq {

@ApiModelProperty("模版ID")
@NotNull(message = "模版ID不能为空")
private Long templateId;

@ApiModelProperty("项目ID")
@NotNull(message = "项目ID不能为空")
private Long projectId;

@Valid
@ApiModelProperty("配置模版")
@NotEmpty(message = "配置不能为空")
private List<ReviewTemplateOptionVO> reviewTemplateOptions;

@ApiModelProperty("其他意见或建议")
@NotEmpty(message = "其他意见或建议不能为空")
private String otherAdvice;

@ApiModelProperty("附件ID")
private Long attachFileId;

@ApiModelProperty("评审结果:1 通过、2 需复核、3 不通过")
@NotNull(message = "评审结果不能为空")
private Integer reviewResult;

@ApiModelProperty("是否是最终意见")
@NotNull(message = "是否是最终意见不能为空")
private Boolean isFinal;

@Data
public static class ReviewTemplateOptionVO {

@ApiModelProperty("问题序号")
@NotNull(message = "问题序号不能为空")
private Integer questionSerialNo;

@ApiModelProperty("选项序号")
@NotEmpty(message = "选项序号不能为空")
private List<Integer> optionSerialNo;

@ApiModelProperty("其他意见或建议")
private String otherAdvice;

}


}

+ 5
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/model/req/ReviewTemplateReq.java Ver fichero

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@@ -24,6 +25,10 @@ public class ReviewTemplateReq {
@NotNull(message = "模版类型不能为空")
private Integer templateType;

@ApiModelProperty("区域编码")
@NotBlank(message = "区域编码不能为空")
private String regionCode;

@Valid
@NotEmpty(message = "模版不能为空")
@ApiModelProperty("模版数据")


+ 28
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/service/IExpertReviewService.java Ver fichero

@@ -0,0 +1,28 @@
package com.ningdatech.pmapi.expert.service;

import com.ningdatech.pmapi.expert.model.entity.ExpertReview;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* <p>
* 服务类
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
public interface IExpertReviewService extends IService<ExpertReview> {

/**
* 根据项目ID和专家ID获取评审记录
*
* @param projectId 项目ID
* @param expertId 专家ID
* @return 评审记录
* @author WendyYang
**/
List<ExpertReview> listByProjectIdAndExpertId(Long projectId, Long expertId);

}

+ 33
- 0
pmapi/src/main/java/com/ningdatech/pmapi/expert/service/impl/ExpertReviewServiceImpl.java Ver fichero

@@ -0,0 +1,33 @@
package com.ningdatech.pmapi.expert.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ningdatech.pmapi.expert.mapper.ExpertReviewMapper;
import com.ningdatech.pmapi.expert.model.entity.ExpertReview;
import com.ningdatech.pmapi.expert.service.IExpertReviewService;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* <p>
* 服务实现类
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
@Service
public class ExpertReviewServiceImpl extends ServiceImpl<ExpertReviewMapper, ExpertReview> implements IExpertReviewService {

@Override
public List<ExpertReview> listByProjectIdAndExpertId(Long projectId, Long expertId) {
LambdaQueryWrapper<ExpertReview> query = Wrappers.lambdaQuery(ExpertReview.class);
query.eq(ExpertReview::getProjectId, projectId);
query.eq(ExpertReview::getCreateBy, expertId);
query.orderByAsc(ExpertReview::getCreateOn);
return list(query);
}

}

+ 20
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/controller/ProjectRenewalFundDeclarationController.java Ver fichero

@@ -0,0 +1,20 @@
package com.ningdatech.pmapi.projectlib.controller;


import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.stereotype.Controller;

/**
* <p>
* 续建项目资金申请表 前端控制器
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
@Controller
@RequestMapping("/pmapi.projectlib/nd-project-renewal-fund-declaration")
public class ProjectRenewalFundDeclarationController {

}

+ 16
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/mapper/ProjectRenewalFundDeclarationMapper.java Ver fichero

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

import com.ningdatech.pmapi.projectlib.model.entity.ProjectRenewalFundDeclaration;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
* <p>
* 续建项目资金申请表 Mapper 接口
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
public interface ProjectRenewalFundDeclarationMapper extends BaseMapper<ProjectRenewalFundDeclaration> {

}

+ 5
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/mapper/ProjectRenewalFundDeclarationMapper.xml Ver fichero

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ningdatech.pmapi.projectlib.mapper.ProjectRenewalFundDeclarationMapper">

</mapper>

+ 173
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/entity/ProjectRenewalFundDeclaration.java Ver fichero

@@ -0,0 +1,173 @@
package com.ningdatech.pmapi.projectlib.model.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
* <p>
* 续建项目资金申请表
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
@TableName("nd_project_renewal_fund_declaration")
@ApiModel(value = "NdProjectRenewalFundDeclaration对象", description = "续建项目资金申请表")
public class ProjectRenewalFundDeclaration implements Serializable {

private static final long serialVersionUID = 1L;

@ApiModelProperty("主键")
private Long id;

@ApiModelProperty("创建时间")
private LocalDateTime createOn;

@ApiModelProperty("修改时间")
private LocalDateTime updateOn;

@ApiModelProperty("关联项目ID")
private Long projectId;

@ApiModelProperty("项目年份")
private Integer projectYear;

@ApiModelProperty("年度支付金额")
private BigDecimal annualPaymentAmount;

@ApiModelProperty("自有资金")
private BigDecimal haveAmount;

@ApiModelProperty("政府投资 本级财务金额")
private BigDecimal govOwnFinanceAmount;

@ApiModelProperty("政府投资 上级财务金额")
private BigDecimal govSuperiorFinanceAmount;

@ApiModelProperty("银行贷款金额")
private BigDecimal bankLendingAmount;

@ApiModelProperty("其它金额")
private BigDecimal otherAmount;

@ApiModelProperty("审核状态 待审核PENGING 审核通过PASS 审核不通过NO_PASS")
private String approvalStatus;

@ApiModelProperty("是否删除 false未删 true已删")
private Boolean deleted;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}
public LocalDateTime getCreateOn() {
return createOn;
}

public void setCreateOn(LocalDateTime createOn) {
this.createOn = createOn;
}
public LocalDateTime getUpdateOn() {
return updateOn;
}

public void setUpdateOn(LocalDateTime updateOn) {
this.updateOn = updateOn;
}
public Long getProjectId() {
return projectId;
}

public void setProjectId(Long projectId) {
this.projectId = projectId;
}
public Integer getProjectYear() {
return projectYear;
}

public void setProjectYear(Integer projectYear) {
this.projectYear = projectYear;
}
public BigDecimal getAnnualPaymentAmount() {
return annualPaymentAmount;
}

public void setAnnualPaymentAmount(BigDecimal annualPaymentAmount) {
this.annualPaymentAmount = annualPaymentAmount;
}
public BigDecimal getHaveAmount() {
return haveAmount;
}

public void setHaveAmount(BigDecimal haveAmount) {
this.haveAmount = haveAmount;
}
public BigDecimal getGovOwnFinanceAmount() {
return govOwnFinanceAmount;
}

public void setGovOwnFinanceAmount(BigDecimal govOwnFinanceAmount) {
this.govOwnFinanceAmount = govOwnFinanceAmount;
}
public BigDecimal getGovSuperiorFinanceAmount() {
return govSuperiorFinanceAmount;
}

public void setGovSuperiorFinanceAmount(BigDecimal govSuperiorFinanceAmount) {
this.govSuperiorFinanceAmount = govSuperiorFinanceAmount;
}
public BigDecimal getBankLendingAmount() {
return bankLendingAmount;
}

public void setBankLendingAmount(BigDecimal bankLendingAmount) {
this.bankLendingAmount = bankLendingAmount;
}
public BigDecimal getOtherAmount() {
return otherAmount;
}

public void setOtherAmount(BigDecimal otherAmount) {
this.otherAmount = otherAmount;
}
public String getApprovalStatus() {
return approvalStatus;
}

public void setApprovalStatus(String approvalStatus) {
this.approvalStatus = approvalStatus;
}
public Boolean getDeleted() {
return deleted;
}

public void setDeleted(Boolean deleted) {
this.deleted = deleted;
}

@Override
public String toString() {
return "NdProjectRenewalFundDeclaration{" +
"id=" + id +
", createOn=" + createOn +
", updateOn=" + updateOn +
", projectId=" + projectId +
", projectYear=" + projectYear +
", annualPaymentAmount=" + annualPaymentAmount +
", haveAmount=" + haveAmount +
", govOwnFinanceAmount=" + govOwnFinanceAmount +
", govSuperiorFinanceAmount=" + govSuperiorFinanceAmount +
", bankLendingAmount=" + bankLendingAmount +
", otherAmount=" + otherAmount +
", approvalStatus=" + approvalStatus +
", deleted=" + deleted +
"}";
}
}

+ 16
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/service/IProjectRenewalFundDeclarationService.java Ver fichero

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

import com.ningdatech.pmapi.projectlib.model.entity.ProjectRenewalFundDeclaration;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* <p>
* 续建项目资金申请表 服务类
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
public interface IProjectRenewalFundDeclarationService extends IService<ProjectRenewalFundDeclaration> {

}

+ 20
- 0
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/service/impl/ProjectRenewalFundDeclarationServiceImpl.java Ver fichero

@@ -0,0 +1,20 @@
package com.ningdatech.pmapi.projectlib.service.impl;

import com.ningdatech.pmapi.projectlib.model.entity.ProjectRenewalFundDeclaration;
import com.ningdatech.pmapi.projectlib.mapper.ProjectRenewalFundDeclarationMapper;
import com.ningdatech.pmapi.projectlib.service.IProjectRenewalFundDeclarationService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
* <p>
* 续建项目资金申请表 服务实现类
* </p>
*
* @author WendyYang
* @since 2023-02-15
*/
@Service
public class ProjectRenewalFundDeclarationServiceImpl extends ServiceImpl<ProjectRenewalFundDeclarationMapper, ProjectRenewalFundDeclaration> implements IProjectRenewalFundDeclarationService {

}

+ 6
- 0
pmapi/src/main/resources/application-dev.yml Ver fichero

@@ -102,6 +102,12 @@ logging:
file:
path: logs
nd:
cache:
type: REDIS
serializerType: ProtoStuff
cacheNullVal: true
def:
keyPrefix: pm
log:
enabled: true
type: DB


Cargando…
Cancelar
Guardar