From 05600d089901d44e8d5036046025b6a90ceb896a Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: Tue, 03 Dec 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