You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
361 lines
8.9 KiB
361 lines
8.9 KiB
package jnpf.model.dto; |
|
|
|
|
|
import cn.hutool.core.date.LocalDateTimeUtil; |
|
import com.baomidou.mybatisplus.annotation.IdType; |
|
import com.baomidou.mybatisplus.annotation.TableField; |
|
import com.baomidou.mybatisplus.annotation.TableId; |
|
import com.fasterxml.jackson.annotation.JsonFormat; |
|
import com.github.pagehelper.PageParam; |
|
import io.swagger.annotations.ApiModelProperty; |
|
import io.swagger.v3.oas.annotations.media.Schema; |
|
import jnpf.entity.Expert; |
|
import jnpf.entity.LotteryProject; |
|
import jnpf.entity.LotteryReview; |
|
import jnpf.exception.DataException; |
|
import lombok.Data; |
|
|
|
import java.time.LocalDate; |
|
import java.time.LocalDateTime; |
|
import java.util.List; |
|
|
|
@Data |
|
public class LotteryProjectDto { |
|
public enum StatusEnum { |
|
//发布类型 |
|
TO_BE_EXTRACTED("0", "待抽取"), |
|
ALREADY_EXTRACTED("1", "已抽取"), |
|
SUSPENSION("2", "中止"), |
|
ARCHIVIST("3", "已归档"), |
|
; |
|
|
|
private String code; |
|
private String describe; |
|
|
|
StatusEnum(String code, String describe) { |
|
this.code = code; |
|
this.describe = describe; |
|
|
|
} |
|
|
|
public String getCode() { |
|
return code; |
|
} |
|
|
|
public void setCode(String code) { |
|
this.code = code; |
|
} |
|
|
|
public String getDescribe() { |
|
return describe; |
|
} |
|
|
|
public void setDescribe(String describe) { |
|
this.describe = describe; |
|
} |
|
} |
|
|
|
public enum TypeEnum { |
|
//发布类型 |
|
SYSTEM("0", "系统"), |
|
ONESELF("1", "自建"), |
|
; |
|
|
|
private String code; |
|
private String describe; |
|
|
|
TypeEnum(String code, String describe) { |
|
this.code = code; |
|
this.describe = describe; |
|
|
|
} |
|
|
|
public String getCode() { |
|
return code; |
|
} |
|
|
|
public void setCode(String code) { |
|
this.code = code; |
|
} |
|
|
|
public String getDescribe() { |
|
return describe; |
|
} |
|
|
|
public void setDescribe(String describe) { |
|
this.describe = describe; |
|
} |
|
} |
|
|
|
|
|
@Data |
|
public static class BaseParam { |
|
@ApiModelProperty("项目编号") |
|
private String projectNumber; |
|
|
|
@ApiModelProperty("项目名称") |
|
private String projectName; |
|
|
|
@ApiModelProperty("评标时间") |
|
private LocalDateTime bidEvaluationTime; |
|
|
|
@ApiModelProperty("评标地点") |
|
private String bidEvaluationLocation; |
|
|
|
@ApiModelProperty("代理机构") |
|
private String agency; |
|
@ApiModelProperty("抽签类型 1-专家 2-公司(默认专家)") |
|
private String lotteryType = "1"; |
|
|
|
|
|
public void setBidEvaluationTime(String bidEvaluationTime) { |
|
try { |
|
this.bidEvaluationTime = LocalDateTimeUtil.parse(bidEvaluationTime, "yyyy-MM-dd HH:mm:ss"); |
|
} catch (Exception e) { |
|
throw new DataException("日期格式错误,请使用yyyy-MM-dd HH:mm:ss格式"); |
|
} |
|
} |
|
|
|
} |
|
|
|
@Data |
|
public static class AddParam extends BaseParam { |
|
|
|
} |
|
|
|
@Data |
|
public static class EditParam extends BaseParam { |
|
@ApiModelProperty("id") |
|
private Integer id; |
|
} |
|
|
|
@Data |
|
public static class DeleteParam { |
|
@ApiModelProperty("id") |
|
private Integer id; |
|
} |
|
|
|
@Data |
|
public static class QueryListParam extends PageParam { |
|
@ApiModelProperty("项目编号") |
|
private String projectNumber; |
|
|
|
@ApiModelProperty("项目名称") |
|
private String projectName; |
|
|
|
@ApiModelProperty("抽签类型 1-专家 2-公司(默认专家)") |
|
private String lotteryType = "1"; |
|
|
|
/** |
|
* 权限控制 |
|
*/ |
|
private String menuId = "572406059134626629"; |
|
} |
|
|
|
|
|
@Data |
|
public static class QueryResponse extends LotteryProject { |
|
@ApiModelProperty("评审列表") |
|
private List<LotteryReview> lotteryReviewList; |
|
} |
|
|
|
|
|
@Data |
|
public static class AddReviewParam { |
|
@ApiModelProperty("抽签项目id") |
|
private String id; |
|
|
|
@ApiModelProperty("专家组别信息Json,该字段仅用于专家抽签") |
|
private List<ExpertGroupInfo> expertGroupInfo; |
|
|
|
// @ApiModelProperty("抽取专家信息json") |
|
// private List<ExtractExpertsInfo> extractExpertsInfo; |
|
|
|
} |
|
|
|
@Data |
|
public static class QueryReviewResponse extends LotteryReview { |
|
|
|
@ApiModelProperty("抽取专家数") |
|
private Integer extractExperts; |
|
@ApiModelProperty("确认参加数") |
|
private Integer confirmParticipation; |
|
} |
|
|
|
@Data |
|
public static class EditReviewParam { |
|
@ApiModelProperty("评审id") |
|
private String id; |
|
|
|
@ApiModelProperty("专家组别信息Json") |
|
private List<ExpertGroupInfo> expertGroupInfo; |
|
|
|
// @ApiModelProperty("抽取专家信息json") |
|
// private List<ExtractExpertsInfo> extractExpertsInfo; |
|
|
|
} |
|
|
|
@Data |
|
public static class DeleteReviewParam { |
|
@ApiModelProperty("评审id") |
|
private String id; |
|
|
|
} |
|
|
|
|
|
public enum ConfirmEnum { |
|
//发布类型 |
|
JOIN("1", "参加"), |
|
NOT_JOIN("2", "不参加"), |
|
TO_BE_CONFIRMED("0", "待确认"), |
|
; |
|
|
|
private String code; |
|
private String describe; |
|
|
|
ConfirmEnum(String code, String describe) { |
|
this.code = code; |
|
this.describe = describe; |
|
|
|
} |
|
|
|
public String getCode() { |
|
return code; |
|
} |
|
|
|
public void setCode(String code) { |
|
this.code = code; |
|
} |
|
|
|
public String getDescribe() { |
|
return describe; |
|
} |
|
|
|
public void setDescribe(String describe) { |
|
this.describe = describe; |
|
} |
|
} |
|
|
|
@Data |
|
public static class ExtractExpertsInfo { |
|
|
|
@ApiModelProperty("专家编号/公司编号") |
|
private String id; |
|
|
|
|
|
|
|
@ApiModelProperty("专家姓名") |
|
private String expertName; |
|
@ApiModelProperty("专家组别") |
|
private String expertGroup; |
|
@ApiModelProperty("联系方式") |
|
private String phoneNumber; |
|
@ApiModelProperty("工作单位名称") |
|
private String workUnit; |
|
|
|
|
|
|
|
//公共字段 |
|
@ApiModelProperty("确认时间") |
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|
private LocalDateTime confirmTime; |
|
@ApiModelProperty("确认人姓名") |
|
private String confirmName; |
|
@ApiModelProperty("确认人id") |
|
private String confirmId; |
|
@ApiModelProperty("抽取轮次") |
|
private String ExtractionRounds; |
|
@ApiModelProperty("确认状态") |
|
private String status = ConfirmEnum.TO_BE_CONFIRMED.getCode(); |
|
@ApiModelProperty("备注") |
|
private String remark; |
|
@ApiModelProperty("参加确认按钮展示") |
|
private Boolean showJoinButton = true; |
|
|
|
|
|
//招标公司相关字段 |
|
@ApiModelProperty("联系人信息") |
|
private List<ExpertDto.ContactInformation> contactInformation; |
|
|
|
@ApiModelProperty("公司名称") |
|
private String companyName; |
|
|
|
} |
|
|
|
|
|
@Data |
|
public static class ExpertGroupInfo { |
|
@ApiModelProperty("组别code") |
|
private String groupCode; |
|
@ApiModelProperty("组别名称") |
|
private String groupName; |
|
|
|
@ApiModelProperty("专家库人数") |
|
private String numberOfExpert; |
|
|
|
@ApiModelProperty("抽取人数") |
|
private String numberOfExtract; |
|
|
|
@ApiModelProperty("确认参加人数") |
|
private String numberOfParticipants = "0"; |
|
@ApiModelProperty("删除按钮展示") |
|
private Boolean showDelButton = true; |
|
|
|
} |
|
|
|
|
|
@Data |
|
public static class ParticipateInConfirmationParam { |
|
@ApiModelProperty("评审id") |
|
private String id; |
|
|
|
@ApiModelProperty("专家编码") |
|
private String expertId; |
|
|
|
@ApiModelProperty("确认状态 1-参加 2-不参加") |
|
private String status; |
|
|
|
@ApiModelProperty("备注") |
|
private String remark; |
|
|
|
|
|
} |
|
|
|
@Data |
|
public static class SaveExtractionResultsParam { |
|
@ApiModelProperty("评审id") |
|
private String id; |
|
|
|
@ApiModelProperty("抽取专家信息json") |
|
private List<ExtractExpertsInfo> extractExpertsInfo; |
|
|
|
|
|
} |
|
|
|
@Data |
|
public static class UploadExtractionResults { |
|
@ApiModelProperty("抽签项目id") |
|
private String id; |
|
|
|
@ApiModelProperty("抽取结果") |
|
private FileInfo uploaderVO; |
|
|
|
|
|
} |
|
|
|
@Data |
|
public static class FileInfo { |
|
@Schema(description = "名称") |
|
private String name; |
|
@Schema(description = "请求接口") |
|
private String url; |
|
@Schema(description = "预览文件id") |
|
private String fileVersionId; |
|
@Schema(description = "文件大小") |
|
private Long fileSize; |
|
@Schema(description = "文件后缀") |
|
private String fileExtension; |
|
@Schema(description = "缩略图") |
|
private String thumbUrl; |
|
} |
|
}
|
|
|