From 05600d089901d44e8d5036046025b6a90ceb896a Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期二, 03 十二月 2024 16:57:20 +0800 Subject: [PATCH] 修改及增加功能 --- expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java | 30 + expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml | 121 +++++++ expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java | 63 ++- expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java | 74 ++++ expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java | 8 expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java | 15 + expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java | 37 + expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java | 23 + expert-system/src/main/java/com/gkhy/system/domain/vo/ProjectDeptPostVo.java | 25 + expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportResp.java | 52 +++ expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectDetailResp.java | 38 ++ expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java | 39 ++ expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java | 64 +++ expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml | 4 expert-admin/src/main/resources/application.yml | 4 expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java | 9 expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java | 38 ++ expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java | 9 expert-system/src/main/java/com/gkhy/system/domain/vo/ProjectDeptPostDTO.java | 23 + expert-system/src/main/java/com/gkhy/system/domain/vo/request/ExpertBatchChangeReq.java | 32 ++ expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java | 129 +++---- expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java | 8 expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java | 7 expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml | 39 +- expert-system/src/main/java/com/gkhy/system/service/impl/ProjectFileServiceImpl.java | 2 25 files changed, 730 insertions(+), 163 deletions(-) diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java index 3079375..0be9382 100644 --- a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java +++ b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java @@ -7,7 +7,9 @@ import com.gkhy.common.core.domain.AjaxResult; import com.gkhy.common.core.domain.R; import com.gkhy.common.core.page.TableDataInfo; +import com.gkhy.common.utils.SecurityUtils; import com.gkhy.system.domain.SysExpertInfo; +import com.gkhy.system.domain.vo.request.ExpertBatchChangeReq; import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq; import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto; import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp; @@ -34,7 +36,7 @@ private SysExpertInfoService expertInfoService; // @RequiresPermissions("system:assess:monitor") - @ApiOperation(value = "专家列表(分页)") + @ApiOperation(value = "专家列表(分页-都可见)") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") @@ -42,6 +44,23 @@ @GetMapping("/list") public TableDataInfo exportInfoList(SysExpertInfo expertInfo) { startPage(); + List<SysExpertInfo> sysExpertInfos = expertInfoService.exportInfoList(expertInfo); + return getDataTable(sysExpertInfos); + + } + + + @ApiOperation(value = "专家列表(分页-限制处室)") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), + @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") + }) + @GetMapping("/perList") + public TableDataInfo exportInfoPerList(SysExpertInfo expertInfo) { + startPage(); + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + expertInfo.setDeptId(SecurityUtils.getDeptId()); + } List<SysExpertInfo> sysExpertInfos = expertInfoService.exportInfoList(expertInfo); return getDataTable(sysExpertInfos); @@ -114,4 +133,13 @@ } + @RepeatSubmit + //@RequiresPermissions("system:assess:monitor") + @ApiOperation(value = "一键修改证书有效期") + @PostMapping("/batchChangeEmploymentDate") + public AjaxResult batchChangeEmploymentDate(@RequestBody ExpertBatchChangeReq expertInfo) { + expertInfoService.batchChangeEmploymentDate(expertInfo); + return AjaxResult.success(); + } + } diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java index b11a769..3428cb3 100644 --- a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java +++ b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java @@ -203,6 +203,18 @@ return R.ok(projectManagementService.selectProjectExpertDetailList(projectExpertId)); } + @ApiOperation(value = "专家考评记录——专家考评详情") + //@PreAuthorize("@ss.hasPermi('system:management:list')") + @GetMapping("/selectProjectExpertDetail") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "projectExpertId", dataType = "long", required = true, value = "项目专家id") + }) + public R<ProjectDetailResp> selectProjectExpertDetail(@RequestParam("projectExpertId") Long projectExpertId) + { + return R.ok(projectManagementService.selectProjectExpertDetail(projectExpertId)); + } + + @GetMapping("/selectProjectFileList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "projectId", dataType = "long", required = true, value = "项目id"), @@ -219,4 +231,15 @@ return R.ok(projectManagementService.getProjectNum()); } + @ApiOperation(value = "项目管理----导出专家报销") + //@PreAuthorize("@ss.hasPermi('system:management:list')") + @GetMapping("/projectExpertExportList") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", name = "projectId", dataType = "long", required = true, value = "项目id") + }) + public R<List<ProjectExpertExportInfoRes>> projectExpertExportList(@RequestParam("projectId") Long projectId) + { + return R.ok(projectManagementService.projectExpertExportList(projectId)); + } + } diff --git a/expert-admin/src/main/resources/application.yml b/expert-admin/src/main/resources/application.yml index e262d7a..810a2d4 100644 --- a/expert-admin/src/main/resources/application.yml +++ b/expert-admin/src/main/resources/application.yml @@ -48,8 +48,8 @@ basename: i18n/messages profiles: # 环境配置,dev开发环境,prod生产环境 - #active: dev - active: prod + active: dev + #active: prod # 文件上传 servlet: multipart: diff --git a/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java b/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java index 5fcb183..f986dd8 100644 --- a/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java +++ b/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java @@ -6,10 +6,11 @@ import com.gkhy.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; +import lombok.Data; +import lombok.EqualsAndHashCode; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; /** @@ -18,6 +19,8 @@ * @author expert * @date 2024-11-14 */ +@EqualsAndHashCode(callSuper = true) +@Data @TableName(resultMap = "com.gkhy.system.mapper.ProjectExpertMapper.ProjectExpertResult") @ApiModel(value = "项目专家关联对象", description = "项目专家关联对象表") public class ProjectExpert extends BaseEntity { @@ -32,40 +35,40 @@ /** * 项目id */ - @ApiModelProperty(name = "项目名称",required = true) + @ApiModelProperty(value = "项目名称",required = true) @NotNull(message = "项目不能为空") private Long projectId; /** * 专家id */ - @ApiModelProperty(name = "专家id",required = true) + @ApiModelProperty(value = "专家id",required = true) @NotNull(message = "选择专家") private Long expertId; /** * 总分 */ - @ApiModelProperty(name = "总分") + @ApiModelProperty(value = "总分") private Long score; /** * 评估状态0未评估1已评估 */ - @ApiModelProperty(name = "评估状态0未评估1已评估") + @ApiModelProperty(value = "评估状态0未评估1已评估") private Long evaluationState; /** * 选取方式1固定2随机 */ - @ApiModelProperty(name = "选取方式1固定2随机",required = true) + @ApiModelProperty(value = "选取方式1固定2随机",required = true) @NotNull(message = "选取方式不能为空") private Long selectionMode; /** * 是否组长0否1是 */ - @ApiModelProperty(name = "是否组长0否1是",required = true) + @ApiModelProperty(value = "是否组长0否1是",required = true) @NotNull(message = "是否组长不能为空") private Long teamLeader; @@ -74,85 +77,65 @@ */ private Long delFlag; - public void setId(Long id) { - this.id = id; - } - public Long getId() { - return id; - } + @ApiModelProperty(value = "职业道德1优秀2合格3基本合格4不合格") + private Long professionalEthics; - public void setProjectId(Long projectId) { - this.projectId = projectId; - } + /** 公正廉洁1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "公正廉洁1优秀2合格3基本合格4不合格") + private Long impartialHonest; - public Long getProjectId() { - return projectId; - } + /** 综合协调1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "综合协调1优秀2合格3基本合格4不合格") + private Long comprehensiveCoordination; - public void setExpertId(Long expertId) { - this.expertId = expertId; - } + /** 专业能力1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "专业能力1优秀2合格3基本合格4不合格") + private Long professionalAbility; - public Long getExpertId() { - return expertId; - } + /** 意见表达1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "意见表达1优秀2合格3基本合格4不合格") + private Long expressingOpinions; - public void setScore(Long score) { - this.score = score; - } + /** 其他意见 */ + @ApiModelProperty(value = "其他意见") + private String others; - public Long getScore() { - return score; - } + /** 综合评价1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "综合评价1优秀2合格3基本合格4不合格") + private Long comprehensiveEvaluation; - public void setevaluationState(Long evaluationState) { - this.evaluationState = evaluationState; - } + /** 重大隐患 */ + @ApiModelProperty(value = "重大隐患") + private Long majorDangers; - public Long getevaluationState() { - return evaluationState; - } + /** 一般隐患 */ + @ApiModelProperty(value = "一般隐患") + private Long generalHazards; - public void setSelectionMode(Long selectionMode) { - this.selectionMode = selectionMode; - } + /** 内容描述 */ + @ApiModelProperty(value = "内容描述") + private String content; - public Long getSelectionMode() { - return selectionMode; - } + /** 计费标准 */ + @ApiModelProperty(value = "计费标准") + private String freightBasis; - public void setTeamLeader(Long teamLeader) { - this.teamLeader = teamLeader; - } + /** 计费时长 */ + @ApiModelProperty(value = "计费时长") + private BigDecimal billingDuration; - public Long getTeamLeader() { - return teamLeader; - } + /** 税后金额 */ + @ApiModelProperty(value = "税后金额") + private BigDecimal afterTaxAmount; - public void setDelFlag(Long delFlag) { - this.delFlag = delFlag; - } + /** 开户行 */ + @ApiModelProperty(value = "开户行") + private String openBank; - public Long getDelFlag() { - return delFlag; - } + /** 卡号 */ + @ApiModelProperty(value = "卡号") + private String bankCard; - @Override - public String toString() { - return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) - .append("id", getId()) - .append("projectId", getProjectId()) - .append("expertId", getExpertId()) - .append("score", getScore()) - .append("evaluationState", getevaluationState()) - .append("selectionMode", getSelectionMode()) - .append("teamLeader", getTeamLeader()) - .append("delFlag", getDelFlag()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } + } \ No newline at end of file diff --git a/expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java b/expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java index 473232d..f2ffdc2 100644 --- a/expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java +++ b/expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java @@ -1,10 +1,13 @@ package com.gkhy.system.domain; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.fasterxml.jackson.annotation.JsonFormat; import com.gkhy.common.core.domain.BaseEntity; +import com.gkhy.system.domain.vo.ProjectDeptPostDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -21,7 +24,7 @@ * @author expert * @date 2024-11-14 */ -@TableName(resultMap = "com.gkhy.system.mapper.ProjectManagementMapper.ProjectManagementResult") +@TableName(autoResultMap = true) @ApiModel(value = "项目管理对象", description = "项目管理对象表") public class ProjectManagement extends BaseEntity { private static final long serialVersionUID = 1L; @@ -56,8 +59,8 @@ /** * 被检单位 */ - @ApiModelProperty(value = "被检单位") - private String companyName; + @ApiModelProperty(value = "工作类别") + private String jobCategory; /** * 项目地址 @@ -66,12 +69,16 @@ @NotBlank(message = "项目地址不能为空") private String projectAddress; - /** - * 部门带队人员 - */ - @ApiModelProperty(value = "部门带队人员",required = true) - @NotBlank(message = "处室带队人员不能为空") - private String deptUserName; +// /** +// * 部门带队人员 +// */ +// @ApiModelProperty(value = "处室人员",required = false,hidden = true) +// private String deptUserName; + + @ApiModelProperty(value = "处室人员及职务职务",required = true) + @NotNull(message = "处室人员及职务职务不能为空") + @TableField(typeHandler = JacksonTypeHandler.class) + private ProjectDeptPostDTO deptPostName; /** * 乐观锁 @@ -176,13 +183,7 @@ return deptName; } - public void setCompanyName(String companyName) { - this.companyName = companyName; - } - public String getCompanyName() { - return companyName; - } public void setProjectAddress(String projectAddress) { this.projectAddress = projectAddress; @@ -192,13 +193,13 @@ return projectAddress; } - public void setDeptUserName(String deptUserName) { - this.deptUserName = deptUserName; - } - - public String getDeptUserName() { - return deptUserName; - } +// public void setDeptUserName(String deptUserName) { +// this.deptUserName = deptUserName; +// } +// +// public String getDeptUserName() { +// return deptUserName; +// } public void setVersion(Long version) { this.version = version; @@ -263,9 +264,7 @@ .append("projectName", getProjectName()) .append("deptId", getDeptId()) .append("deptName", getDeptName()) - .append("companyName", getCompanyName()) .append("projectAddress", getProjectAddress()) - .append("deptUserName", getDeptUserName()) .append("version", getVersion()) .append("state", getState()) .append("remark", getRemark()) @@ -338,4 +337,20 @@ public void setEvaluationState(Long evaluationState) { this.evaluationState = evaluationState; } + + public String getJobCategory() { + return jobCategory; + } + + public void setJobCategory(String jobCategory) { + this.jobCategory = jobCategory; + } + + public ProjectDeptPostDTO getDeptPostName() { + return deptPostName; + } + + public void setDeptPostName(ProjectDeptPostDTO deptPostName) { + this.deptPostName = deptPostName; + } } \ No newline at end of file diff --git a/expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java b/expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java index 7f4790e..ea5686e 100644 --- a/expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java +++ b/expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java @@ -79,7 +79,7 @@ @TableField("title") private String title; - @NotBlank(message ="电子照片不能为空" ) + //@NotBlank(message ="电子照片不能为空" ) @ApiModelProperty("电子照片") @TableField("electronic_photo") private String electronicPhoto; @@ -156,6 +156,7 @@ private String supportDirectionEmergency; @ApiModelProperty("简历") + @NotBlank(message ="简历不可为空" ) @TableField("resume_key") private String resumeKey; @@ -230,4 +231,9 @@ @TableField("expert_certificate") private String expertCertificate; + @ApiModelProperty("证明材料") + @TableField("evidence") + private String evidence; + + } diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/ProjectDeptPostDTO.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/ProjectDeptPostDTO.java new file mode 100644 index 0000000..d7607f5 --- /dev/null +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/ProjectDeptPostDTO.java @@ -0,0 +1,23 @@ +package com.gkhy.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; +import java.util.List; + +@Data +@ApiModel(value = "项目处室及职务对象", description = "项目处室及职务对象") +public class ProjectDeptPostDTO implements Serializable { + + /** + * 部门带队人员 + */ + @ApiModelProperty(value = "处室职务对象",required = true) + @NotEmpty(message = "处室职务对象不能为空") + private List<ProjectDeptPostVo> postVos; + + +} diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/ProjectDeptPostVo.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/ProjectDeptPostVo.java new file mode 100644 index 0000000..1c75357 --- /dev/null +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/ProjectDeptPostVo.java @@ -0,0 +1,25 @@ +package com.gkhy.system.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +@Data +@ApiModel(value = "项目处室及职务", description = "项目处室及职务") +public class ProjectDeptPostVo implements Serializable { + + /** + * 部门带队人员 + */ + @ApiModelProperty(value = "处室人员",required = true) + @NotBlank(message = "处室人员不能为空") + private String deptUserName; + + @ApiModelProperty(value = "职务",required = true) + @NotBlank(message = "职务不能为空") + private String deptPostName; + +} diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ExpertBatchChangeReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ExpertBatchChangeReq.java new file mode 100644 index 0000000..1eefe2d --- /dev/null +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ExpertBatchChangeReq.java @@ -0,0 +1,32 @@ +package com.gkhy.system.domain.vo.request; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@ApiModel(value = "专家一建修改有效期" , description = "专家一建修改有效期") +@Data +public class ExpertBatchChangeReq implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "选中数据",required = true) + @NotEmpty + private List<Long> id; + + @JsonFormat(pattern = "yyyy-MM-dd") + @NotNull + @ApiModelProperty(value = "聘书有效开始时间",required = true) + private Date employmentDateStart; + + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "聘书有效结束时间",required = true) + @NotNull + private Date employmentDateEnd; +} diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java index 5b8d301..10e1a98 100644 --- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java @@ -7,6 +7,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.math.BigDecimal; import java.util.List; @ApiModel(value = "项目专家人员考评分数" , description = "项目专家人员考评分数") @@ -28,6 +29,79 @@ @NotNull(message = "得分不能为空") private Long score; + + @ApiModelProperty(value = "职业道德1优秀2合格3基本合格4不合格") + @NotNull(message = "职业道德不能为空") + private Long professionalEthics; + + /** 公正廉洁1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "公正廉洁1优秀2合格3基本合格4不合格") + @NotNull(message = "公正廉洁不能为空") + private Long impartialHonest; + + /** 综合协调1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "综合协调1优秀2合格3基本合格4不合格") + @NotNull(message = "综合协调不能为空") + private Long comprehensiveCoordination; + + /** 专业能力1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "专业能力1优秀2合格3基本合格4不合格") + @NotNull(message = "专业能力不能为空") + private Long professionalAbility; + + /** 意见表达1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "意见表达1优秀2合格3基本合格4不合格") + @NotNull(message = "意见表达不能为空") + private Long expressingOpinions; + + /** 其他意见 */ + @ApiModelProperty(value = "其他意见") + private String others; + + /** 综合评价1优秀2合格3基本合格4不合格 */ + @ApiModelProperty(value = "综合评价1优秀2合格3基本合格4不合格") + @NotNull(message = "综合评价不能为空") + private Long comprehensiveEvaluation; + + /** 重大隐患 */ + @ApiModelProperty(value = "重大隐患") + private Long majorDangers; + + /** 一般隐患 */ + @ApiModelProperty(value = "一般隐患") + private Long generalHazards; + + /** 内容描述 */ + @ApiModelProperty(value = "内容描述") + private String content; + + /** 计费标准 */ + @ApiModelProperty(value = "计费标准") + @NotBlank(message = "计费标准不能为空") + private String freightBasis; + + /** 计费时长 */ + @ApiModelProperty(value = "计费时长") + @NotNull(message = "计费时长不能为空") + private BigDecimal billingDuration; + + /** 税后金额 */ + @ApiModelProperty(value = "税后金额") + @NotNull(message = "税后金额不能为空") + private BigDecimal afterTaxAmount; + + /** 开户行 */ + @ApiModelProperty(value = "开户行") + @NotBlank(message = "开户行不能为空") + private String openBank; + + /** 卡号 */ + @ApiModelProperty(value = "卡号") + @NotBlank(message = "卡号不能为空") + private String bankCard; + + + @Data static public class Score { diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java index bc0121d..7479a6f 100644 --- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java @@ -1,6 +1,7 @@ package com.gkhy.system.domain.vo.request; import com.fasterxml.jackson.annotation.JsonFormat; +import com.gkhy.system.domain.vo.ProjectDeptPostDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -24,8 +25,8 @@ /** * 项目名称 */ - @ApiModelProperty(value = "项目名称",required = true) - @NotBlank(message = "项目名称不能为空") + @ApiModelProperty(value = "项目名称(事由)",required = true) + @NotBlank(message = "项目名称(事由)不能为空") private String projectName; /** @@ -45,22 +46,31 @@ /** * 被检单位 */ - @ApiModelProperty(value = "被检单位") - private String companyName; + @ApiModelProperty(value = "工作类别") + @NotBlank(message = "工作类别不能为空") + private String jobCategory; /** * 项目地址 */ - @ApiModelProperty(value = "项目地址",required = true) - @NotBlank(message = "项目地址不能为空") + @ApiModelProperty(value = "目的地及相关企业名称等",required = true) + @NotBlank(message = "目的地及相关企业名称等") private String projectAddress; - /** - * 部门带队人员 - */ - @ApiModelProperty(value = "部门带队人员",required = true) - @NotBlank(message = "处室带队人员不能为空") - private String deptUserName; +// /** +// * 部门带队人员 +// */ +// @ApiModelProperty(value = "处室人员",required = true) +// @NotBlank(message = "处室人员不能为空") +// private String deptUserName; +// +// @ApiModelProperty(value = "职务",required = true) +// @NotBlank(message = "职务不能为空") +// private String postName; + + @ApiModelProperty(value = "处室人员及职务职务",required = true) + @NotNull(message = "处室人员及职务职务不能为空") + private ProjectDeptPostDTO deptPostName; /** * 项目预计开始日期 @@ -79,7 +89,6 @@ private Date projectDateEnd; - @ApiModelProperty(value = "项目概况",required = true) - @NotBlank(message = "项目概况不能为空") + @ApiModelProperty(value = "项目概况") private String remark; } diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectDetailResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectDetailResp.java new file mode 100644 index 0000000..873f551 --- /dev/null +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectDetailResp.java @@ -0,0 +1,38 @@ +package com.gkhy.system.domain.vo.response; + +import com.gkhy.system.domain.ProjectExpert; +import com.gkhy.system.domain.ProjectExpertDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@ApiModel(value = "项目专家详情", description = "项目专家详情") +@Data +public class ProjectDetailResp extends ProjectExpert { + + @ApiModelProperty("记录详情") + private List<ProjectExpertDetail> expertDetails; + + /** + * 处室 + */ + @ApiModelProperty(value = "处室") + private Long deptId; + + /** + * 部门名称 + */ + @ApiModelProperty(value = "处室名称") + private String deptName; + + @ApiModelProperty(value = "项目名称") + private String projectName; + + @ApiModelProperty(value = "职称") + private String title; + + @ApiModelProperty(value = "职务") + private String job; +} diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java index 857a82f..87d0ca3 100644 --- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java @@ -5,6 +5,8 @@ import lombok.Data; import java.io.Serializable; +import java.util.Date; + @ApiModel(value = "项目专家审批详情", description = "项目专家审批详情") @Data public class ProjectExpertCheckResp implements Serializable { @@ -37,4 +39,17 @@ @ApiModelProperty("专家领域") private String domain; + @ApiModelProperty("公司名称") + private String companyName; + + @ApiModelProperty("联系电话") + private String phone; + + @ApiModelProperty("实际使用时间") + private Date selectionTime; + + @ApiModelProperty("备注") + private String expertRemark; + + } diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java new file mode 100644 index 0000000..b3787ce --- /dev/null +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java @@ -0,0 +1,39 @@ +package com.gkhy.system.domain.vo.response; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 项目管理对象 project_management + * + * @author expert + * @date 2024-11-14 + */ +@ApiModel(value = "项目管理专家详情" , description = "项目管理专家详情") +@Data +public class ProjectExpertExportInfoRes implements Serializable { + private static final long serialVersionUID = 1L; + + + /** + * 项目名称 + */ + @ApiModelProperty(name = "项目名称") + private String projectName; + + + /** + * 部门名称 + */ + @ApiModelProperty(name = "处室名称") + private String deptName; + + @ApiModelProperty(name = "专家数据") + private List<ProjectExpertExportResp> projectExpertExportResps; + +} \ No newline at end of file diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportResp.java new file mode 100644 index 0000000..8a11937 --- /dev/null +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportResp.java @@ -0,0 +1,52 @@ +package com.gkhy.system.domain.vo.response; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@ApiModel(value = "项目专家审批详情", description = "项目专家审批详情") +@Data +public class ProjectExpertExportResp implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("专家名称") + private String name; + + @ApiModelProperty("身份证号码") + private String idCard; + + @ApiModelProperty("职称") + private String title; + + @ApiModelProperty("职务") + private String job; + + @ApiModelProperty("单位名称") + private String companyName; + + /** 计费标准 */ + @ApiModelProperty(value = "计费标准") + private String freightBasis; + + /** 计费时长 */ + @ApiModelProperty(value = "计费时长") + private BigDecimal billingDuration; + + /** 税后金额 */ + @ApiModelProperty(value = "税后金额") + private BigDecimal afterTaxAmount; + + /** 开户行 */ + @ApiModelProperty(value = "开户行") + private String openBank; + + /** 卡号 */ + @ApiModelProperty(value = "卡号") + private String bankCard; + + + +} diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java index 12eb702..827c487 100644 --- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java +++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java @@ -43,8 +43,8 @@ /** * 被检单位 */ - @ApiModelProperty(name = "被检单位") - private String companyName; + @ApiModelProperty(name = "工作类别") + private String jobCategory; /** * 项目地址 @@ -61,11 +61,6 @@ @ApiModelProperty(value = "步骤1暂存2专家选取3审批4完结") private Long step; -// /** -// * 部门带队人员 -// */ -// @ApiModelProperty(name = "部门带队人员") -// private String deptUserName; /** * 项目预计开始日期 diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java index f767c69..bb3edcc 100644 --- a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java +++ b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java @@ -4,6 +4,7 @@ import com.gkhy.system.domain.ProjectExpert; import com.gkhy.system.domain.vo.request.SysProjectExpertReq; import com.gkhy.system.domain.vo.response.ProjectExpertEvaluationResp; +import com.gkhy.system.domain.vo.response.ProjectExpertExportInfoRes; import com.gkhy.system.domain.vo.response.ProjectExpertResp; import java.util.List; @@ -87,4 +88,11 @@ * @return */ List<ProjectExpertResp> projectExpertEvaList(SysProjectExpertReq req); + + /** + * 导出报销 + * @param projectId + * @return + */ + List<ProjectExpertExportInfoRes> projectExpertExportList(Long projectId); } diff --git a/expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java b/expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java index f79b35f..ec94097 100644 --- a/expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java +++ b/expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java @@ -125,4 +125,13 @@ ProjectNumResp getProjectNum(); + + ProjectDetailResp selectProjectExpertDetail(Long projectExpertId); + + /** + * 导出项目报销 + * @param projectId + * @return + */ + List<ProjectExpertExportInfoRes> projectExpertExportList(Long projectId); } \ No newline at end of file diff --git a/expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java b/expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java index 745abb6..bdbff3c 100644 --- a/expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java +++ b/expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.system.domain.SysExpertInfo; +import com.gkhy.system.domain.vo.request.ExpertBatchChangeReq; import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq; import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto; import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp; @@ -81,4 +82,10 @@ * @return */ List<ProjectExpertSectionResp> getExpertRound(SysExpertInfoRoundReq req); + + /** + *一建修改证书有效期 + * @param req + */ + void batchChangeEmploymentDate(ExpertBatchChangeReq req); } diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectFileServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectFileServiceImpl.java index 9f7e14b..6e56033 100644 --- a/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectFileServiceImpl.java +++ b/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectFileServiceImpl.java @@ -6,6 +6,7 @@ import com.gkhy.system.service.IProjectFileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -22,6 +23,7 @@ @Override + @Transactional public Boolean saveBatchProjectFile(List<ProjectFile> projectFile) { return saveBatch(projectFile); } diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java index fb1907f..e5f0a8b 100644 --- a/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java +++ b/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java @@ -8,16 +8,10 @@ import com.gkhy.common.utils.DateUtils; import com.gkhy.common.utils.SecurityUtils; import com.gkhy.common.utils.StringUtils; -import com.gkhy.system.domain.ProjectExpert; -import com.gkhy.system.domain.ProjectExpertDetail; -import com.gkhy.system.domain.ProjectFile; -import com.gkhy.system.domain.ProjectManagement; +import com.gkhy.system.domain.*; import com.gkhy.system.domain.vo.request.*; import com.gkhy.system.domain.vo.response.*; -import com.gkhy.system.mapper.ProjectExpertDetailMapper; -import com.gkhy.system.mapper.ProjectExpertMapper; -import com.gkhy.system.mapper.ProjectFileMapper; -import com.gkhy.system.mapper.ProjectManagementMapper; +import com.gkhy.system.mapper.*; import com.gkhy.system.service.IProjectFileService; import com.gkhy.system.service.IProjectManagementService; import org.springframework.beans.factory.annotation.Autowired; @@ -49,6 +43,8 @@ @Autowired private IProjectFileService projectFileService; + @Autowired + private SysExpertInfoMapper sysExpertInfoMapper; /** * 查询项目管理 @@ -94,12 +90,14 @@ projectManagementSave.setUpdateBy(SecurityUtils.getUsername()); projectManagementSave.setUpdateTime(DateUtils.getNowDate()); - projectManagementMapper.updateProjectManagement(projectManagementSave); + // projectManagementMapper.updateProjectManagement(projectManagementSave); + updateById(projectManagementSave); }else { projectManagementSave.setStep(1L); projectManagementSave.setCreateBy(SecurityUtils.getUsername()); projectManagementSave.setCreateTime(DateUtils.getNowDate()); - projectManagementMapper.insertProjectManagement(projectManagementSave); + save(projectManagementSave); + // projectManagementMapper.insertProjectManagement(projectManagementSave); } @@ -376,9 +374,10 @@ //更新项目专家表 ProjectExpert projectExpert = new ProjectExpert(); + BeanUtil.copyProperties(req, projectExpert); projectExpert.setId(req.getProjectExpertId()); projectExpert.setScore(req.getScore()); - projectExpert.setevaluationState(1L); + projectExpert.setEvaluationState(1L); int i = projectExpertMapper.updateProjectExpert(projectExpert); if (i < 1){ throw new ServiceException("保存失败!"); @@ -469,6 +468,49 @@ return projectNumResp; } + @Override + public ProjectDetailResp selectProjectExpertDetail(Long projectExpertId) { + ProjectDetailResp projectDetailResp = new ProjectDetailResp(); + ProjectExpert projectExpert = projectExpertMapper.selectProjectExpertById(projectExpertId); + BeanUtil.copyProperties(projectExpert, projectDetailResp); + if (projectDetailResp != null){ + ProjectExpertDetail projectExpertDetail = new ProjectExpertDetail(); + projectExpertDetail.setProjectExpertId(projectExpertId); + List<ProjectExpertDetail> projectExpertDetails = projectExpertDetailMapper.selectProjectExpertDetailList(projectExpertDetail); + if (StringUtils.isNotEmpty(projectExpertDetails)){ + projectDetailResp.setExpertDetails(projectExpertDetails); + } + Long projectId = projectDetailResp.getProjectId(); + ProjectManagement projectManagement = projectManagementMapper.selectProjectManagementById(projectId); + projectDetailResp.setDeptId(projectManagement.getDeptId()); + projectDetailResp.setDeptName(projectDetailResp.getDeptName()); + projectDetailResp.setProjectName(projectManagement.getProjectName()); + SysExpertInfo sysExpertInfo = sysExpertInfoMapper.selectById(projectDetailResp.getExpertId()); + if (sysExpertInfo != null){ + projectDetailResp.setTitle(sysExpertInfo.getTitle()); + projectDetailResp.setJob(sysExpertInfo.getJob()); + } + } + return projectDetailResp; + } + + @Override + public List<ProjectExpertExportInfoRes> projectExpertExportList(Long projectId) { + ProjectManagement projectManagement = checkData(projectId); + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) && projectManagement.getDeptId().intValue() != SecurityUtils.getDeptId().intValue()){ + throw new ServiceException("非本部门数据,无权操作!"); + } + if (projectManagement.getState() != 4){ + throw new ServiceException("项目未完成,无权操作!"); + } + if (projectManagement.getEvaluationState() == 0){ + throw new ServiceException("有专家未完成评定与报销,请完善后再试"); + } + + return projectExpertMapper.projectExpertExportList(projectId); + + } + private List<ProjectExpertDetail> dealData(List<ProjectExpertScoreSaveReq.Score> data,Long projectExpertId){ List<ProjectExpertDetail> dealData = new ArrayList<>(); data.forEach(dto -> { diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java index a0a16f8..c9c1f28 100644 --- a/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java +++ b/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java @@ -2,11 +2,14 @@ import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.common.enums.DeleteFlagEnum; import com.gkhy.common.exception.ServiceException; import com.gkhy.common.utils.SecurityUtils; +import com.gkhy.common.utils.StringUtils; import com.gkhy.system.domain.SysExpertInfo; +import com.gkhy.system.domain.vo.request.ExpertBatchChangeReq; import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq; import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto; import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp; @@ -30,10 +33,8 @@ @Override public List<SysExpertInfo> exportInfoList(SysExpertInfo expertInfo) { - //todo 验证是否是管理不是管理只能看本部门 - if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ - expertInfo.setDeptId(SecurityUtils.getDeptId()); - } + // + return baseMapper.expertInfoList(expertInfo); } @@ -41,6 +42,9 @@ public int addExpertInfo(SysExpertInfo expertInfo) { if(!checkIdCardUnique(new SysExpertInfo().setIdCard(expertInfo.getIdCard()))){ throw new ServiceException("该业务处室申请数据已存在"); + } + if(StringUtils.isEmpty(expertInfo.getPersonalOpinionKey()) && StringUtils.isEmpty(expertInfo.getRecommendUnitOpinionKey())){ + throw new ServiceException("专家本人意见和推荐单位意见不能同时为空"); } expertInfo.setCreateBy(expertInfo.getName()); boolean b=save(expertInfo); @@ -55,6 +59,7 @@ if(!checkIdCardUnique(expertInfo)){ throw new ServiceException("该业务处室申请数据已存在"); } + checkHavePer(expertInfo.getId()); expertInfo.setUpdateBy(SecurityUtils.getUsername()); boolean b=updateById(expertInfo); if(!b){ @@ -65,6 +70,8 @@ @Override public int delExpertInfo(Long expertId) { + checkHavePer(expertId); + SysExpertInfo expertInfo = new SysExpertInfo(); expertInfo.setId(expertId); expertInfo.setDelFlag(DeleteFlagEnum.DELETED.getCode().intValue()); @@ -86,6 +93,13 @@ return baseMapper.getExpertInfoById(expertId); } + private void checkHavePer(Long expertId){ + SysExpertInfo sysExpertInfo = checkExpertInfoDataScope(expertId); + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) && !sysExpertInfo.getDeptId().toString().equals(SecurityUtils.getDeptId().toString())) + { + throw new ServiceException("没有权限操作该专家信息!"); + } + } public SysExpertInfo checkExpertInfoDataScope(Long expertId) { @@ -120,10 +134,24 @@ @Override public List<ProjectExpertSectionResp> getExpertRound(SysExpertInfoRoundReq req) { - req.setDeptId(SecurityUtils.getDeptId()); + // req.setDeptId(SecurityUtils.getDeptId()); return baseMapper.getExpertRound(req); } + @Override + public void batchChangeEmploymentDate(ExpertBatchChangeReq req) { + if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){ + throw new ServiceException("无权操作!"); + } + + baseMapper.update(null, Wrappers.<SysExpertInfo>lambdaUpdate() + .set(SysExpertInfo::getUpdateBy,SecurityUtils.getUsername()) + .set(SysExpertInfo::getEmploymentDateStart,req.getEmploymentDateStart()) + .set(SysExpertInfo::getEmploymentDateEnd,req.getEmploymentDateEnd()) + .in(SysExpertInfo::getId,req.getId())); + + } + public boolean checkIdCardUnique(SysExpertInfo expertInfo){ Long expertId = expertInfo.getId()==null? -1L : expertInfo.getId(); SysExpertInfo info = baseMapper.checkIdcardUnique(expertInfo.getIdCard(),expertInfo.getDeptId()); diff --git a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml index 153b0f2..5fa846f 100644 --- a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml +++ b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.gkhy.system.mapper.ProjectExpertMapper"> - + <resultMap type="ProjectExpert" id="ProjectExpertResult"> <result property="id" column="id" /> <result property="projectId" column="project_id" /> @@ -17,12 +17,47 @@ <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> + <result property="professionalEthics" column="professional_ethics" /> + <result property="impartialHonest" column="impartial_honest" /> + <result property="comprehensiveCoordination" column="comprehensive_coordination" /> + <result property="professionalAbility" column="professional_ability" /> + <result property="expressingOpinions" column="expressing_opinions" /> + <result property="others" column="others" /> + <result property="comprehensiveEvaluation" column="comprehensive_evaluation" /> + <result property="majorDangers" column="major_dangers" /> + <result property="generalHazards" column="general_hazards" /> + <result property="content" column="content" /> + <result property="freightBasis" column="freight_basis" /> + <result property="billingDuration" column="billing_duration" /> + <result property="afterTaxAmount" column="after_tax_amount" /> + <result property="openBank" column="open_bank" /> + <result property="bankCard" column="bank_card" /> </resultMap> - <sql id="selectProjectExpertVo"> - select id, project_id, expert_id, score, evaluation_state, selection_mode, team_leader, del_flag, create_by, create_time, update_by, update_time from project_expert - </sql> + <resultMap type="com.gkhy.system.domain.vo.response.ProjectExpertExportInfoRes" id="ProjectExpertExportInfoResult"> + <result property="projectName" column="project_name" /> + <result property="deptName" column="dept_name" /> + <collection property="projectExpertExportResps" javaType="java.util.List" resultMap="ExpertExport" /> + </resultMap> + <resultMap id="ExpertExport" type="com.gkhy.system.domain.vo.response.ProjectExpertExportResp"> + <result property="name" column="name" /> + <result property="idCard" column="id_card" /> + <result property="companyName" column="company_name" /> + <result property="job" column="job" /> + <result property="title" column="title" /> + <result property="freightBasis" column="freight_basis" /> + <result property="billingDuration" column="billing_duration" /> + <result property="afterTaxAmount" column="after_tax_amount" /> + <result property="openBank" column="open_bank" /> + <result property="bankCard" column="bank_card" /> + </resultMap> + + + <sql id="selectProjectExpertVo"> + select id, project_id, expert_id, score, evaluation_state, selection_mode, team_leader, del_flag, create_by, create_time, update_by, update_time, professional_ethics, impartial_honest, comprehensive_coordination, professional_ability, expressing_opinions, others, comprehensive_evaluation, major_dangers, general_hazards, content, + freight_basis, billing_duration, after_tax_amount, open_bank, bank_card from project_expert + </sql> <select id="selectProjectExpertList" parameterType="ProjectExpert" resultMap="ProjectExpertResult"> <include refid="selectProjectExpertVo"/> <where> @@ -33,6 +68,21 @@ <if test="evaluationState != null "> and evaluation_state = #{evaluationState}</if> <if test="selectionMode != null "> and selection_mode = #{selectionMode}</if> <if test="teamLeader != null "> and team_leader = #{teamLeader}</if> + <if test="professionalEthics != null "> and professional_ethics = #{professionalEthics}</if> + <if test="impartialHonest != null "> and impartial_honest = #{impartialHonest}</if> + <if test="comprehensiveCoordination != null "> and comprehensive_coordination = #{comprehensiveCoordination}</if> + <if test="professionalAbility != null "> and professional_ability = #{professionalAbility}</if> + <if test="expressingOpinions != null "> and expressing_opinions = #{expressingOpinions}</if> + <if test="others != null and others != ''"> and others = #{others}</if> + <if test="comprehensiveEvaluation != null "> and comprehensive_evaluation = #{comprehensiveEvaluation}</if> + <if test="majorDangers != null "> and major_dangers = #{majorDangers}</if> + <if test="generalHazards != null "> and general_hazards = #{generalHazards}</if> + <if test="content != null and content != ''"> and content = #{content}</if> + <if test="freightBasis != null and freightBasis != ''"> and freight_basis = #{freightBasis}</if> + <if test="billingDuration != null "> and billing_duration = #{billingDuration}</if> + <if test="afterTaxAmount != null "> and after_tax_amount = #{afterTaxAmount}</if> + <if test="openBank != null and openBank != ''"> and open_bank = #{openBank}</if> + <if test="bankCard != null and bankCard != ''"> and bank_card = #{bankCard}</if> </where> </select> @@ -55,7 +105,22 @@ <if test="createTime != null">create_time,</if> <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> - </trim> + <if test="professionalEthics != null">professional_ethics,</if> + <if test="impartialHonest != null">impartial_honest,</if> + <if test="comprehensiveCoordination != null">comprehensive_coordination,</if> + <if test="professionalAbility != null">professional_ability,</if> + <if test="expressingOpinions != null">expressing_opinions,</if> + <if test="others != null">others,</if> + <if test="comprehensiveEvaluation != null">comprehensive_evaluation,</if> + <if test="majorDangers != null">major_dangers,</if> + <if test="generalHazards != null">general_hazards,</if> + <if test="content != null">content,</if> + <if test="freightBasis != null">freight_basis,</if> + <if test="billingDuration != null">billing_duration,</if> + <if test="afterTaxAmount != null">after_tax_amount,</if> + <if test="openBank != null">open_bank,</if> + <if test="bankCard != null">bank_card,</if> + </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="projectId != null">#{projectId},</if> <if test="expertId != null">#{expertId},</if> @@ -68,7 +133,22 @@ <if test="createTime != null">#{createTime},</if> <if test="updateBy != null">#{updateBy},</if> <if test="updateTime != null">#{updateTime},</if> - </trim> + <if test="professionalEthics != null">#{professionalEthics},</if> + <if test="impartialHonest != null">#{impartialHonest},</if> + <if test="comprehensiveCoordination != null">#{comprehensiveCoordination},</if> + <if test="professionalAbility != null">#{professionalAbility},</if> + <if test="expressingOpinions != null">#{expressingOpinions},</if> + <if test="others != null">#{others},</if> + <if test="comprehensiveEvaluation != null">#{comprehensiveEvaluation},</if> + <if test="majorDangers != null">#{majorDangers},</if> + <if test="generalHazards != null">#{generalHazards},</if> + <if test="content != null">#{content},</if> + <if test="freightBasis != null">#{freightBasis},</if> + <if test="billingDuration != null">#{billingDuration},</if> + <if test="afterTaxAmount != null">#{afterTaxAmount},</if> + <if test="openBank != null">#{openBank},</if> + <if test="bankCard != null">#{bankCard},</if> + </trim> </insert> <insert id="batchInsertProjectExpert" parameterType="java.util.List" > @@ -90,10 +170,23 @@ <if test="selectionMode != null">selection_mode = #{selectionMode},</if> <if test="teamLeader != null">team_leader = #{teamLeader},</if> <if test="delFlag != null">del_flag = #{delFlag},</if> - <if test="createBy != null">create_by = #{createBy},</if> - <if test="createTime != null">create_time = #{createTime},</if> <if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateTime != null">update_time = #{updateTime},</if> + <if test="professionalEthics != null">professional_ethics = #{professionalEthics},</if> + <if test="impartialHonest != null">impartial_honest = #{impartialHonest},</if> + <if test="comprehensiveCoordination != null">comprehensive_coordination = #{comprehensiveCoordination},</if> + <if test="professionalAbility != null">professional_ability = #{professionalAbility},</if> + <if test="expressingOpinions != null">expressing_opinions = #{expressingOpinions},</if> + <if test="others != null">others = #{others},</if> + <if test="comprehensiveEvaluation != null">comprehensive_evaluation = #{comprehensiveEvaluation},</if> + <if test="majorDangers != null">major_dangers = #{majorDangers},</if> + <if test="generalHazards != null">general_hazards = #{generalHazards},</if> + <if test="content != null">content = #{content},</if> + <if test="freightBasis != null">freight_basis = #{freightBasis},</if> + <if test="billingDuration != null">billing_duration = #{billingDuration},</if> + <if test="afterTaxAmount != null">after_tax_amount = #{afterTaxAmount},</if> + <if test="openBank != null">open_bank = #{openBank},</if> + <if test="bankCard != null">bank_card = #{bankCard},</if> </trim> where id = #{id} </update> @@ -167,4 +260,16 @@ order by b.team_leader asc , b.create_time desc </select> + + <select id="projectExpertExportList" parameterType="Long" resultMap="ProjectExpertExportInfoResult"> + select a.project_name ,a.dept_name + ,c.name,c.id_card,c.name,c.job,c.title,c.company_name,b.freight_basis,b.billing_duration, b.after_tax_amount, b.open_bank, b.bank_card + from project_management a + left join project_expert b on a.id = b.project_id and b.del_flag = 0 + left join sys_expert_info c on b.expert_id = c.id + where a.id = #{projectId} + order by b.team_leader asc , b.create_time desc + </select> + + </mapper> \ No newline at end of file diff --git a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml index c9195e0..bcbc067 100644 --- a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml +++ b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml @@ -9,9 +9,10 @@ <result property="projectName" column="project_name" /> <result property="deptId" column="dept_id" /> <result property="deptName" column="dept_name" /> - <result property="companyName" column="company_name" /> + <result property="jobCategory" column="job_category" /> <result property="projectAddress" column="project_address" /> - <result property="deptUserName" column="dept_user_name" /> +<!-- <result property="deptUserName" column="dept_user_name" />--> + <result property="deptPostName" column="dept_post_name" typeHandler="com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler" /> <result property="version" column="version" /> <result property="state" column="state" /> <result property="remark" column="remark" /> @@ -40,7 +41,7 @@ <result property="remark" column="remark" /> <result property="state" column="state" /> <result property="step" column="step" /> - <result property="companyName" column="company_name" /> + <result property="jobCategory" column="job_category" /> <result property="projectAddress" column="project_address" /> <!-- <result property="deptUserName" column="dept_user_name" />--> <result property="projectDateStart" column="project_date_start" /> @@ -58,10 +59,14 @@ <result property="ratingLevel" column="rating_level" /> <result property="selectionMode" column="selection_mode" /> <result property="teamLeader" column="team_leader" /> + <result property="companyName" column="company_name" /> + <result property="phone" column="phone" /> + <result property="selectionTime" column="selection_time" /> + <result property="expertRemark" column="expert_remark" /> </resultMap> <sql id="selectProjectManagementVo"> - select id, project_name, dept_id, dept_name, company_name, project_address, dept_user_name, + select id, project_name, dept_id, dept_name, job_category, project_address,dept_post_name, version, state, remark, project_date_start, project_date_end, expert_certificate, evaluation_state, expert_num, del_flag, create_by, create_time, update_by, update_time,project_check_time,expert_id, expert_name,project_end_time,`desc`,step @@ -75,9 +80,9 @@ <if test="projectName != null and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if> <if test="deptId != null "> and dept_id = #{deptId}</if> <if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if> - <if test="companyName != null and companyName != ''"> and company_name like concat('%', #{companyName}, '%')</if> + <if test="jobCategory != null and jobCategory != ''"> and job_category like concat('%', #{jobCategory}, '%')</if> <if test="projectAddress != null and projectAddress != ''"> and project_address = #{projectAddress}</if> - <if test="deptUserName != null and deptUserName != ''"> and dept_user_name like concat('%', #{deptUserName}, '%')</if> +<!-- <if test="deptUserName != null and deptUserName != ''"> and dept_user_name like concat('%', #{deptUserName}, '%')</if>--> <if test="version != null "> and version = #{version}</if> <if test="state != null "> and state = #{state}</if> <if test="step!= null "> and step = #{step}</if> @@ -100,9 +105,10 @@ <if test="projectName != null and projectName != ''">project_name,</if> <if test="deptId != null">dept_id,</if> <if test="deptName != null and deptName != ''">dept_name,</if> - <if test="companyName != null and companyName != ''">company_name,</if> + <if test="jobCategory != null and jobCategory != ''">job_category,</if> <if test="projectAddress != null and projectAddress != ''">project_address,</if> - <if test="deptUserName != null and deptUserName != ''">dept_user_name,</if> +<!-- <if test="deptUserName != null and deptUserName != ''">dept_user_name,</if>--> + <if test="deptPostName != null and deptPostName != ''">dept_post_name,</if> <if test="version != null">version,</if> <if test="state != null">state,</if> <if test="step != null">step,</if> @@ -122,9 +128,10 @@ <if test="projectName != null and projectName != ''">#{projectName},</if> <if test="deptId != null">#{deptId},</if> <if test="deptName != null and deptName != ''">#{deptName},</if> - <if test="companyName != null and companyName != ''">#{companyName},</if> + <if test="jobCategory != null and jobCategory != ''">#{jobCategory},</if> <if test="projectAddress != null and projectAddress != ''">#{projectAddress},</if> - <if test="deptUserName != null and deptUserName != ''">#{deptUserName},</if> +<!-- <if test="deptUserName != null and deptUserName != ''">#{deptUserName},</if>--> + <if test="deptPostName != null and deptPostName != ''">#{deptPostName},</if> <if test="version != null">#{version},</if> <if test="state != null">#{state},</if> <if test="step != null">#{step},</if> @@ -148,9 +155,10 @@ <if test="projectName != null and projectName != ''">project_name = #{projectName},</if> <if test="deptId != null">dept_id = #{deptId},</if> <if test="deptName != null and deptName != ''">dept_name = #{deptName},</if> - <if test="companyName != null and companyName != ''">company_name = #{companyName},</if> + <if test="jobCategory != null and jobCategory != ''">job_category = #{jobCategory},</if> <if test="projectAddress != null and projectAddress != ''">project_address = #{projectAddress},</if> - <if test="deptUserName != null and deptUserName != ''">dept_user_name = #{deptUserName},</if> +<!-- <if test="deptUserName != null and deptUserName != ''">dept_user_name = #{deptUserName},</if>--> + <if test="deptPostName != null and deptPostName != ''">dept_post_name = #{deptPostName},</if> <if test="version != null">version = #{version},</if> <if test="state != null">state = #{state},</if> <if test="step != null">step = #{step},</if> @@ -186,11 +194,12 @@ </update> <select id="projectExpertCheckInfo" parameterType="Long" resultMap="ProjectManagementInfoResult"> - select a.id,a.step, a.project_name, a.dept_name, a.company_name, a.project_address, a.project_date_start, a.project_date_end, a.remark,a.project_check_time,a.state, - b.id project_expert_id,b.expert_id expert_id_info,c.name,c.sex,c.id_card,c.domain,c.rating_level,b.selection_mode,b.team_leader + select a.id,a.step, a.project_name, a.dept_name, a.job_category, a.project_address, a.project_date_start, a.project_date_end, a.remark,a.project_check_time,a.state, + b.id project_expert_id,b.expert_id expert_id_info,c.name,c.sex,c.id_card,c.domain,c.rating_level,b.selection_mode,b.team_leader, + c.company_name,c.phone,a.create_time selection_time,c.remark expert_remark from project_management a left join project_expert b on a.id = b.project_id and b.del_flag = 0 - left join sys_expert_info c on b.expert_id = c.id + left join sys_expert_info c on b.expert_id = c.id where a.id = #{id} order by b.team_leader asc , b.create_time desc </select> diff --git a/expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml b/expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml index 8f0acd5..3ed17c5 100644 --- a/expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml +++ b/expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml @@ -8,7 +8,7 @@ graduation_school,degree,speciality,current_profession,support_direction_safety, support_direction_prevention,support_direction_emergency,resume_key,paper_situation_key, reward_key,achievement_key,personal_opinion_key,recommend_unit_opinion_key,remark,create_by, - create_time,big_classify,small_classify,del_flag,source,rating_level,employment_date_start,employment_date_end,expert_certificate,dept_id,domain + create_time,big_classify,small_classify,del_flag,source,rating_level,employment_date_start,employment_date_end,expert_certificate,dept_id,domain,evidence from sys_expert_info </sql> @@ -20,7 +20,7 @@ </update> <select id="expertInfoList" resultType="com.gkhy.system.domain.SysExpertInfo"> - select id,name,sex,birthday,phone,title,degree,state,speciality,big_classify,small_classify,id_card,company_name, + select id,name,sex,birthday,phone,title,degree,state,speciality,big_classify,small_classify,id_card,company_name,evidence, domain,level,current_profession,duty_status,support_direction_safety,support_direction_prevention,support_direction_emergency,create_time, rating_level,employment_date_start,employment_date_end,expert_certificate,update_time from sys_expert_info <where> -- Gitblit v1.9.2