Commit bc7eba2a by tangzhaoqian Committed by chenzg

绩效管理优化、bug修复、测试

parent fc873d2f
......@@ -66,6 +66,12 @@ public class JxglAppraisal extends Model<JxglAppraisal> {
@ApiModelProperty(value = "状态 0目标填写 1目标确认 2自评 3上级评分 4 结果确认 5考核完成 6终止考核 7归档", example = "0")
private Integer sts;
@ApiModelProperty(value = "总分", example = "0")
private Double total;
@ApiModelProperty(value = "等级", example = "0")
private String level;
// 已归档绩效
@TableField(exist = false)
private Integer archivedPNum;
......@@ -99,9 +105,10 @@ public class JxglAppraisal extends Model<JxglAppraisal> {
@TableField(exist = false)
private String executorName;
@TableField(exist = false)
private Double comprehensiveScore;
private Integer executorId;
@TableField(exist = false)
private String level;
private Integer noteSts;
@TableField(exist = false)
private String confirmor;
......
......@@ -55,7 +55,7 @@ public class JxglAppraisalAssessment extends Model<JxglAppraisalAssessment> {
@NotBlank(message = ValidationMsg.NOTBLANK)
@ApiModelProperty(value = "综合评分", example = "综合评分")
private String comprehensiveScore;
private Double comprehensiveScore;
@ApiModelProperty(value = "评语", example = "评语")
private String remarks;
......
......@@ -47,6 +47,9 @@ public class JxglAppraisalIndicators extends Model<JxglAppraisalIndicators> {
@ApiModelProperty(value = "标题", example = "标题")
private String title;
@ApiModelProperty(value = "内容", example = "内容")
private String content;
@ApiModelProperty(value = "权重 整数,单位%", example = "10")
private Integer weight;
......
......@@ -48,6 +48,9 @@ public class JxglAppraisalIndicatorsT extends Model<JxglAppraisalIndicatorsT> {
@ApiModelProperty(value = "标题", example = "标题")
private String title;
@ApiModelProperty(value = "内容", example = "内容")
private String content;
@ApiModelProperty(value = "权重 整数,单位%", example = "10")
private Integer weight;
......
......@@ -66,6 +66,8 @@ public class JxglAppraisalT extends Model<JxglAppraisalT> {
@ApiModelProperty(value = "更新时间", example = "2020-10-10 10:10:10")
private Date updateTime;
@Min(value = 0,message = ValidationMsg.MIN)
@Max(value = 1,message = ValidationMsg.MAX)
@ApiModelProperty(value = "是否可编辑 限制员工的权限", example = "0")
private Integer isEdit;
......
......@@ -66,9 +66,12 @@ public class JxglPerformanceAppraisal extends Model<JxglPerformanceAppraisal> {
@ApiModelProperty(value="范围",example="部门名称、被考核人名称")
private String scope;
@ApiModelProperty(value="考核模板名称",example="考评组名称")
@ApiModelProperty(value="考核模板名称",example="考核模板名称")
private String appraisalTName;
@ApiModelProperty(value="考核模板id",example="考核模板id")
private Integer appraisalTId;
@ApiModelProperty(value="考核人数 考核人数",example="10")
private Integer appraisalPersonNum;
......@@ -98,6 +101,24 @@ public class JxglPerformanceAppraisal extends Model<JxglPerformanceAppraisal> {
@TableField(exist = false)
private Integer performanceArchive;
/**
* 考核完成
*/
@TableField(exist = false)
private Integer assessmentComplete;
/**
* 终止考核
*/
@TableField(exist = false)
private Integer terminationAssessment;
/**
* 考核节点状态
*/
@TableField(exist = false)
private Integer noteSts;
@TableField(exist = false)
private JxglAppraisal appraisal;
......
......@@ -104,7 +104,7 @@ public interface JxglEnumInterface {
SELF_ASSESSMENT(2, "自评"), SUPERIOR_SCORE(3, "上级评分"),
RESULT_VERIFICATION(4, "结果确认"), ASSESSMENT_COMPLETE(5, "考核完成"),
TERMINATION_ASSESSMENT(6, "终止考核"), PERFORMANCE_ARCHIVE(7, "绩效归档");
private Integer type;
private String name;
......
package cn.timer.api.controller.jxgl.service;
import cn.timer.api.bean.jxgl.JxglBasicSetting;
public interface JxglService {
public JxglBasicSetting selectAT(Integer orgCode);
}
package cn.timer.api.controller.jxgl.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.timer.api.bean.jxgl.JxglBasicSetting;
import cn.timer.api.dao.jxgl.JxglBasicSettingMapper;
@Service
public class JxglServiceImpl implements JxglService {
@Autowired
private JxglBasicSettingMapper jxglBasicSettingMapper;
@Override
public JxglBasicSetting selectAT(Integer orgCode) {
// TODO Auto-generated method stub
return jxglBasicSettingMapper.selectAll(orgCode);
}
}
......@@ -68,12 +68,14 @@ import cn.timer.api.dto.spmk.ApprovingDto;
import cn.timer.api.dto.spmk.FlowChildren;
import cn.timer.api.dto.spmk.FromData;
import cn.timer.api.dto.spmk.MySummaryQueryDto;
import cn.timer.api.dto.spmk.Relation;
import cn.timer.api.dto.spmk.Router;
import cn.timer.api.dto.spmk.SpmkApprovalTemplateDto;
import cn.timer.api.dto.spmk.SpmkApproveDetailDto;
import cn.timer.api.dto.spmk.SpmkApproveSummaryDto;
import cn.timer.api.dto.spmk.SpmkCustomApprovalDto;
import cn.timer.api.dto.spmk.SummaryQueryDto;
import cn.timer.api.dto.spmk.User;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import cn.timer.api.utils.router.RouterUtils;
......@@ -473,8 +475,25 @@ public class SpmkController {
// List<SpmkApprovalG> saG = spmkService.selectListAg(userBean);
Router router = spmkApproveSummaryDto.getRouter();
List<Router> routers = router.getChildren();
if (routers != null && routers.size() > 0) {
List<Relation> relations = routers.get(0).getRelation();
if (relations == null || relations.size() < 1) {
return ResultUtil.error("无法发起,请完善审批流程");
}
List<User> users = relations.get(0).getUsers();
if (users == null || users.size() < 1) {
return ResultUtil.error("无法发起,请完善审批流程");
}
}else {
return ResultUtil.error("无法发起,请完善审批流程");
}
List<Router> listRouter = new ArrayList<Router>();
listRouter.add(spmkApproveSummaryDto.getRouter());
listRouter.add(router);
JSONObject jSONObject = spmkApproveSummaryDto.getRequestData()
.set("orgCode", FromData.builder().value(String.valueOf(userBean.getOrgCode())).build())
.set("initiator", FromData.builder().value(ygglMainEmp.getName()).build())
......@@ -599,8 +618,6 @@ public class SpmkController {
.select(SpmkApproveSummary::getSts)
.eq(SpmkApproveSummary::getId, approvingDto.getAsId()));
if (aSummary.getSts() > SpmkEnumInterface.ApproveSummarySts.IN.ordinal()) {
return ResultUtil.error("该审批已结束!");
}
......@@ -621,7 +638,6 @@ public class SpmkController {
return ResultUtil.error("非当前审批人,无法审批!");
}
if (aSummary.getSts() == 0) {
List<FlowChildren> listFlowChildren = ObjectUtil.deserialize(ad.getFlowChildren());
// 审批逻辑
......
......@@ -49,8 +49,14 @@ public class AppraisalDetail implements Serializable{
private String name;
@ApiModelProperty(value = "考核说明", example = "考核说明")
private String appraisalExplain;
@ApiModelProperty(value = "总分", example = "0")
private Integer total;
@ApiModelProperty(value = "等级", example = "0")
private String level;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间", example = "2020-10-10 10:10:10")
private Date createTime;
......@@ -62,8 +68,12 @@ public class AppraisalDetail implements Serializable{
@ApiModelProperty(value = "状态 0目标填写 1目标确认 2自评 3上级评分 4 结果确认 5考核完成 6终止考核 7归档", example = "0")
private Integer sts;
private Integer isEdit;
private String appraisalName;
private String headUrl;
private List<JxglProcessNode> processNodes;
private List<JxglAppraisalAssessment> appraisalAssessments;
......
package cn.timer.api.dto.jxgl;
import javax.validation.constraints.NotNull;
import cn.timer.api.config.exception.ValidationMsg;
import cn.timer.api.utils.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
......@@ -16,10 +13,9 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class EmpAppraisalQuery extends Page {
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value = "员工id", example = "")
private Integer id;
@ApiModelProperty(value = "企业id", example = "")
private Integer orgCode;
}
......@@ -18,10 +18,6 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
public class EmpPerformanceQuery extends Page {
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value = "绩效考核id", example = "")
private Integer id;
@ApiModelProperty(value = "企业id", example = "")
private Integer orgCode;
......
......@@ -67,9 +67,9 @@ public class PerformanceAppraisal implements Serializable{
@ApiModelProperty(value="是否可见 0是 1否。评分及评分结果能否被员工看见",example="1")
private Integer isVisible;
@NotNull(message = ValidationMsg.NOTNULL)
@Min(value = 0,message = ValidationMsg.MIN)
@Max(value = 4,message = ValidationMsg.MAX)
// @NotNull(message = ValidationMsg.NOTNULL)
// @Min(value = 0,message = ValidationMsg.MIN)
// @Max(value = 4,message = ValidationMsg.MAX)
@ApiModelProperty(value="状态 0目标制定 1绩效评分 2结果确认 3绩效归档 4终止考核",example="10")
private Integer sts;
......@@ -87,7 +87,7 @@ public class PerformanceAppraisal implements Serializable{
@ApiModelProperty(value="考核人数 考核人数",example="10")
private Integer appraisalPersonNum;
@NotNull(message = ValidationMsg.NOTNULL)
@Valid
@ApiModelProperty(value="流程节点",example="")
private List<ProcessNode> processNode;
......
......@@ -7,6 +7,7 @@
<id column="id" property="id" />
<result column="appraisal_id" property="appraisalId" />
<result column="title" property="title" />
<result column="content" property="content" />
<result column="weight" property="weight" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
......@@ -18,6 +19,7 @@
id,
appraisal_id,
title,
content,
weight,
create_time,
update_time,
......@@ -29,6 +31,7 @@
id JxglAppraisalIndicators_id,
appraisal_id JxglAppraisalIndicators_appraisal_id,
title JxglAppraisalIndicators_title,
content JxglAppraisalIndicators_content,
weight JxglAppraisalIndicators_weight,
create_time JxglAppraisalIndicators_create_time,
update_time JxglAppraisalIndicators_update_time,
......@@ -47,6 +50,9 @@
<if test ='null != title'>
title,
</if>
<if test ='null != content'>
content,
</if>
<if test ='null != weight'>
weight,
</if>
......@@ -70,6 +76,9 @@
<if test ='null != title'>
#{title},
</if>
<if test ='null != content'>
#{content},
</if>
<if test ='null != weight'>
#{weight},
</if>
......@@ -98,6 +107,7 @@
<set>
<if test ='null != appraisalId'>appraisal_id = #{appraisalId},</if>
<if test ='null != title'>title = #{title},</if>
<if test ='null != content'>content = #{content},</if>
<if test ='null != weight'>weight = #{weight},</if>
<if test ='null != createTime'>create_time = #{createTime},</if>
<if test ='null != updateTime'>update_time = #{updateTime},</if>
......
......@@ -7,6 +7,7 @@
<id column="id" property="id" />
<result column="appraisal_t_id" property="appraisalTId" />
<result column="title" property="title" />
<result column="content" property="content" />
<result column="weight" property="weight" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
......@@ -18,6 +19,7 @@
id,
appraisal_t_id,
title,
content,
weight,
create_time,
update_time,
......@@ -29,6 +31,7 @@
id JxglAppraisalIndicatorsT_id,
appraisal_t_id JxglAppraisalIndicatorsT_appraisal_t_id,
title JxglAppraisalIndicatorsT_title,
content JxglAppraisalIndicatorsT_content,
weight JxglAppraisalIndicatorsT_weight,
create_time JxglAppraisalIndicatorsT_create_time,
update_time JxglAppraisalIndicatorsT_update_time,
......@@ -47,6 +50,9 @@
<if test ='null != title'>
title,
</if>
<if test ='null != title'>
content,
</if>
<if test ='null != weight'>
weight,
</if>
......@@ -70,6 +76,9 @@
<if test ='null != title'>
#{title},
</if>
<if test ='null != content'>
#{content},
</if>
<if test ='null != weight'>
#{weight},
</if>
......@@ -98,6 +107,7 @@
<set>
<if test ='null != appraisalTId'>appraisal_t_id = #{appraisalTId},</if>
<if test ='null != title'>title = #{title},</if>
<if test ='null != content'>content = #{content},</if>
<if test ='null != weight'>weight = #{weight},</if>
<if test ='null != createTime'>create_time = #{createTime},</if>
<if test ='null != updateTime'>update_time = #{updateTime},</if>
......
......@@ -25,9 +25,12 @@
<result column="update_time" property="updateTime" />
<result column="sts" property="sts" />
<result column="is_edit" property="isEdit" />
<result column="executor_name" property="executorName" />
<result column="user_name" property="userName" />
<result column="phone" property="phone" />
<result column="bm_name" property="bmName" />
<result column="executor_name" property="executorName" />
<result column="executor_id" property="executorId" />
<result column="note_sts" property="noteSts" />
</resultMap>
<resultMap id="BaseResultMap_All" type="cn.timer.api.bean.jxgl.JxglAppraisal" >
......@@ -43,7 +46,7 @@
<result column="phone" property="phone" />
<result column="bm_name" property="bmName" />
<result column="executor_name" property="executorName" />
<result column="comprehensive_score" property="comprehensiveScore" />
<result column="total" property="total" />
<result column="level" property="level" />
<result column="confirmor" property="confirmor" />
</resultMap>
......@@ -74,6 +77,7 @@
<id column="id" property="id" />
<result column="appraisal_id" property="appraisalId" />
<result column="title" property="title" />
<result column="content" property="content" />
<result column="weight" property="weight" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
......@@ -93,10 +97,14 @@
<result column="emp_num" property="empNum" />
<result column="name" property="name" />
<result column="appraisal_explain" property="appraisalExplain" />
<result column="total" property="total" />
<result column="level" property="level" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
<result column="sts" property="sts" />
<result column="is_edit" property="isEdit" />
<result column="appraisal_name" property="appraisalName" />
<result column="head_url" property="headUrl" />
<collection column="JxglProcessNode_id" property="processNodes" ofType="cn.timer.api.bean.jxgl.JxglProcessNode"
resultMap="cn.timer.api.dao.jxgl.JxglProcessNodeMapper.BaseResultMap" columnPrefix="JxglProcessNode_">
</collection>
......@@ -131,6 +139,8 @@
a.emp_num,
a.name,
a.appraisal_explain,
a.total,
a.level,
a.create_time,
a.update_time,
a.sts,
......@@ -178,6 +188,7 @@
e.id e_id,
e.appraisal_id e_id,
e.title e_title,
e.content e_content,
e.weight e_weight,
e.create_time e_create_time,
e.update_time e_update_time,
......@@ -210,6 +221,8 @@
emp_num JxglAppraisal_emp_num,
name JxglAppraisal_name,
appraisal_explain JxglAppraisal_appraisal_explain,
total JxglAppraisal_total,
level JxglAppraisal_level,
create_time JxglAppraisal_create_time,
update_time JxglAppraisal_update_time,
sts JxglAppraisal_sts,
......@@ -221,13 +234,10 @@
<include refid="Base_Column_List_a" />,
b.name user_name, b.phone,
(SELECT name FROM zzgl_bmgw_m WHERE id = (SELECT up_id FROM zzgl_bmgw_m WHERE id = b.bmgw_id limit 1) limit 1) as bm_name,
(SELECT name FROM yggl_main_emp WHERE emp_num = c.executor_id AND org_code = #{param.orgCode}) as executor_name,
<!-- (SELECT executor_name FROM jxgl_process_node WHERE sts = 1 LIMIT 1) as confirmor, -->
d.comprehensive_score ,d.level
(SELECT name FROM yggl_main_emp WHERE emp_num = c.executor_id AND org_code = #{param.orgCode}) as executor_name
FROM jxgl_appraisal a
LEFT JOIN yggl_main_emp b ON a.emp_num = b.emp_num AND b.org_code = #{param.orgCode}
LEFT JOIN jxgl_process_node c ON a.id = c.appraisal_id AND c.sts = 1
LEFT JOIN jxgl_appraisal_assessment d ON a.id = d.appraisal_id AND d.type = 1
<!-- 缺部门 搜索 -->
WHERE a.performance_appraisal_id = #{param.id}
<if test="param.query != null and param.query != ''">
......@@ -248,15 +258,12 @@
<include refid="Base_Column_List_a" />,
b.name user_name, b.phone,
(SELECT name FROM zzgl_bmgw_m WHERE id = (SELECT up_id FROM zzgl_bmgw_m WHERE id = b.bmgw_id limit 1) limit 1) as bm_name,
(SELECT name FROM yggl_main_emp WHERE emp_num = c.executor_id AND org_code = #{param.orgCode}) as executor_name,
<!-- (SELECT executor_name FROM jxgl_process_node WHERE sts = 1 LIMIT 1) as confirmor, -->
d.comprehensive_score ,d.level
(SELECT name FROM yggl_main_emp WHERE emp_num = c.executor_id AND org_code = #{param.orgCode}) as executor_name
FROM jxgl_appraisal a
LEFT JOIN yggl_main_emp b ON a.emp_num = b.emp_num AND b.org_code = #{param.orgCode}
LEFT JOIN jxgl_process_node c ON a.id = c.appraisal_id AND c.sts = 1
LEFT JOIN jxgl_appraisal_assessment d ON a.id = d.appraisal_id AND d.type = 1
<!-- 缺部门 搜索 -->
WHERE a.performance_appraisal_id = #{param.id}
<where>
<if test="param.empNums != null and param.empNums.size() > 0">
<choose>
<when test="param.empNums.size() > 1">
......@@ -279,9 +286,7 @@
b.phone like CONCAT('%',#{param.query},'%')
)
</if>
<if test="param.sts != null">
AND a.sts = #{param.sts}
</if>
</where>
ORDER BY a.id DESC
</select>
......@@ -308,6 +313,21 @@
b.phone like CONCAT('%',#{param.query},'%')
)
</if>
<if test="param.empNums != null and param.empNums.size() > 0">
<choose>
<when test="param.empNums.size() > 1">
AND b.emp_num IN
(
<foreach item="it" index="index" collection="param.empNums" separator="," close="" >
#{it}
</foreach>
)
</when>
<otherwise>
AND asso_id = #{param.empNums[0]}
</otherwise>
</choose>
</if>
</where>
GROUP BY a.emp_num
ORDER BY a.id DESC
......@@ -317,6 +337,7 @@
<select id="selectDetailById" resultMap="BaseResultMap_Detail">
SELECT
<include refid="Base_Column_List_a" />,
j.head_url head_url,
<include refid="Base_Column_List_Alias_b" />,
i.name JxglProcessNode_executor_name,
<include refid="Base_Column_List_Alias_c" />,
......@@ -335,6 +356,7 @@
LEFT JOIN jxgl_appraisal_item g ON e.id = g.appraisal_indicators_id
LEFT JOIN jxgl_performance_appraisal h ON a.performance_appraisal_id = h.id
LEFT JOIN yggl_main_emp i ON b.executor_id = i.emp_num AND i.org_code = #{orgCode}
LEFT JOIN yggl_main_emp j ON a.emp_num = j.emp_num AND j.org_code = #{orgCode}
WHERE a.id = #{id}
ORDER BY c.id , d.id , b.process_type
</select>
......@@ -356,6 +378,12 @@
<if test ='null != appraisalExplain'>
appraisal_explain,
</if>
<if test ='null != total'>
total,
</if>
<if test ='null != level'>
level,
</if>
<if test ='null != createTime'>
create_time,
</if>
......@@ -379,6 +407,12 @@
<if test ='null != appraisalExplain'>
#{appraisalExplain},
</if>
<if test ='null != total'>
#{total},
</if>
<if test ='null != level'>
#{level},
</if>
<if test ='null != createTime'>
#{createTime},
</if>
......@@ -403,6 +437,8 @@
<if test ='null != empNum'>emp_num = #{empNum},</if>
<if test ='null != name'>name = #{name},</if>
<if test ='null != appraisalExplain'>appraisal_explain = #{appraisalExplain},</if>
<if test ='null != total'>total = #{total},</if>
<if test ='null != level'>level = #{level},</if>
<if test ='null != createTime'>create_time = #{createTime},</if>
<if test ='null != updateTime'>update_time = #{updateTime},</if>
<if test ='null != sts'>sts = #{sts}</if>
......
......@@ -19,6 +19,7 @@
<id column="id" property="id" />
<result column="appraisal_t_id" property="appraisalTId" />
<result column="title" property="title" />
<result column="content" property="content" />
<result column="weight" property="weight" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
......@@ -84,6 +85,7 @@
b.id JxglAppraisalIndicatorsT_id,
b.appraisal_t_id JxglAppraisalIndicatorsT_appraisal_t_id,
b.title JxglAppraisalIndicatorsT_title,
b.content JxglAppraisalIndicatorsT_content,
b.weight JxglAppraisalIndicatorsT_weight,
b.create_time JxglAppraisalIndicatorsT_create_time,
b.update_time JxglAppraisalIndicatorsT_update_time,
......
......@@ -42,6 +42,10 @@
<result column="performance_score" property="performanceScore" />
<result column="result_verification" property="resultVerification" />
<result column="performance_archive" property="performanceArchive" />
<result column="assessment_complete" property="assessmentComplete" />
<result column="termination_assessment" property="terminationAssessment" />
<result column="note_sts" property="noteSts" />
<association property="appraisal" column="b_id" javaType="cn.timer.api.bean.jxgl.JxglAppraisal" columnPrefix="b_"
resultMap="cn.timer.api.dao.jxgl.JxglAppraisalMapper.BaseResultMap_My">
</association>
......@@ -162,7 +166,9 @@
SUM((CASE WHEN b.sts in (0,1) THEN 1 ELSE 0 END)) AS target_seting,
SUM((CASE WHEN b.sts in (2,3) THEN 1 ELSE 0 END)) AS performance_score,
SUM((CASE WHEN b.sts in (4,5) THEN 1 ELSE 0 END)) AS result_verification,
SUM((CASE WHEN b.sts = 7 THEN 1 ELSE 0 END)) AS performance_archive
SUM((CASE WHEN b.sts = 7 THEN 1 ELSE 0 END)) AS performance_archive,
SUM((CASE WHEN b.sts = 5 THEN 1 ELSE 0 END)) AS assessment_complete,
SUM((CASE WHEN b.sts = 6 THEN 1 ELSE 0 END)) AS termination_assessment
FROM jxgl_performance_appraisal a
LEFT JOIN jxgl_appraisal b ON a.id = b.performance_appraisal_id
WHERE a.org_code = #{param.orgCode} AND a.sts = 3
......@@ -185,14 +191,19 @@
<select id="selectListEmpByQuery" resultMap="BaseResultMap_ALl" >
SELECT
a.name,a.appraisal_start_time,a.appraisal_end_time,
e.name b_user_name, e.phone b_phone,
(SELECT name FROM zzgl_bmgw_m WHERE id = (SELECT up_id FROM zzgl_bmgw_m WHERE id = e.bmgw_id limit 1) limit 1) as b_bm_name,
b.id b_id, b.sts b_sts,
(SELECT name FROM yggl_main_emp WHERE emp_num = d.executor_id AND org_code = a.org_code) as b_executor_name,
d.executor_id b_executor_id,
d.sts b_note_sts,
c.comprehensive_score c_comprehensive_score,
c.level c_level
FROM jxgl_performance_appraisal a
LEFT JOIN jxgl_appraisal b ON b.performance_appraisal_id = a.id
LEFT JOIN jxgl_appraisal_assessment c ON b.id = c.appraisal_id AND c.type = 1
LEFT JOIN jxgl_process_node d ON b.id = d.appraisal_id AND d.sts = 1
LEFT JOIN jxgl_process_node d ON b.id = d.appraisal_id AND b.sts = d.process_type
LEFT JOIN yggl_main_emp e ON b.emp_num = e.emp_num AND a.org_code = e.org_code
WHERE a.org_code = #{param.orgCode} AND b.emp_num = #{param.id}
</select>
......@@ -203,16 +214,18 @@
b.id b_id,b.sts b_sts,
c.comprehensive_score c_comprehensive_score,
c.level c_level,
e.name b_executor_name, e.phone b_phone,
d.sts note_sts,
e.name b_user_name, e.phone b_phone,
(SELECT name FROM zzgl_bmgw_m WHERE id = (SELECT up_id FROM zzgl_bmgw_m WHERE id = e.bmgw_id limit 1) limit 1) as b_bm_name
FROM jxgl_performance_appraisal a
LEFT JOIN jxgl_appraisal b ON b.performance_appraisal_id = a.id
LEFT JOIN jxgl_appraisal_assessment c ON b.id = c.appraisal_id AND c.type = 1
LEFT JOIN jxgl_process_node d ON b.id = d.appraisal_id AND d.sts = 1
LEFT JOIN jxgl_process_node d ON b.id = d.appraisal_id AND d.process_type = b.sts
LEFT JOIN yggl_main_emp e ON b.emp_num = e.emp_num AND a.org_code = e.org_code
<where>
AND a.org_code = #{param.orgCode}
AND d.executor_id = #{param.id}
AND d.sts != 0
<if test="param.sts != null and param.sts == 0">
AND b.sts = 0
</if>
......
......@@ -72,7 +72,7 @@
leader_tier,
</if>
<if test ='null != weight'>
weight,
weight,W
</if>
<if test ='null != sts'>
sts,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment