
package org.sky.scientific.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.sky.core.tool.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class XmSummary {

	@Schema(description = "序号")
	private Integer xh;

	@Schema(description = "项目id，主键")
	private Long id;

	@Schema(description = "研发项目编号")
	private String xmbh;

	@Schema(description = "研发项目名称")
	private String xmmc;

	@Schema(description = "研发开始时间")
	@DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
	@JsonFormat(pattern = DateUtil.PATTERN_DATE)
 	private Date xmkssj;

	private String xmkssjStr;

	@Schema(description = "研发结束时间")
	@DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
	@JsonFormat(pattern = DateUtil.PATTERN_DATE)
	private Date xmjssj;

	private String xmjssjStr;

	@Schema(description = "项目负责人id")
	private Long xmfzr;

	@Schema(description = "项目负责人姓名")
	private String xmfzrxm;

	@Schema(description = "项目申请单位id")
	private Long xmsqdwid;

	@Schema(description = "项目申请单位")
	private String xmsqdw;

	@Schema(description = "项目状态")
	private Integer status;

	@Schema(description = "项目状态")
	private String statusName;

	@Schema(description = "预算明细", hidden = true)
	@JsonIgnore
	private String xmyszemx;

	@Schema(description = "预算总额")
	private BigDecimal xmysze;

	@Schema(description = "全周期已归集（万元）")
	private BigDecimal qzqygj;

	@Schema(description = "总预算完成率（%）")
	private BigDecimal zyswcl;

	@Schema(description = "本年度预算")
	private Double xmyszeCurrentYear;

	@Schema(description = "年度已归集研发费用（万元）")
	private BigDecimal ndygjyffy;

	@Schema(description = "年度已归集金额/年度预算（%）")
	private BigDecimal ndygjjel;

	@Schema(description = "立项报告", hidden = true)
	@JsonIgnore
	private String lxbg;

	@Schema(description = "立项报告数量")
	private int lxbgCount;

	@Schema(description = "立项报告数量")
	private String lxbgStatus;

	@Schema(description = "阶段性报告数量")
	private int jdxbgCount;

	@Schema(description = "阶段性报告数量")
	private String jdxbgStatus;

	@Schema(description = "验收报告数量")
	private int ysbgCount;

	@Schema(description = "验收报告数量")
	private String ysbgStatus;

	@Schema(description = "发明专利")
	private int fmzlCount;

	@Schema(description = "实用新型专利")
	private int syxxzlCount;

	@Schema(description = "软著")
	private int rzCount;

	@Schema(description = "标准")
	private int bzCount;

	@Schema(description = "论文")
	private int lwCount;

	@Schema(description = "其他")
	private int qtCount;

	@Schema(description = "委外支出金额")
	private Double wwAmount;
}
