Browse Source

任务评价体系

master
陈裕财 3 years ago
parent
commit
55d97488b5
  1. 106
      xm-core/src/main/java/com/xm/core/ctrl/XmTaskEvalController.java
  2. 41
      xm-core/src/main/java/com/xm/core/entity/MyTotalEval.java
  3. 8
      xm-core/src/main/java/com/xm/core/entity/XmTaskEval.java
  4. 18
      xm-core/src/main/java/com/xm/core/service/XmTaskEvalService.java
  5. 33
      xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskEvalMapper.xml

106
xm-core/src/main/java/com/xm/core/ctrl/XmTaskEvalController.java

@ -1,32 +1,30 @@
package com.xm.core.ctrl;
import java.util.*;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.*;
import static com.mdp.core.utils.ResponseHelper.*;
import static com.mdp.core.utils.BaseUtils.*;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.mdp.mybatis.PageUtils;
import com.mdp.core.utils.RequestUtils;
import com.mdp.core.utils.NumberUtil;
import com.mdp.mybatis.PageUtils;
import com.mdp.safe.client.entity.User;
import com.mdp.safe.client.utils.LoginUtils;
import com.mdp.swagger.ApiEntityParams;
import com.xm.core.entity.MyTotalEval;
import com.xm.core.entity.XmTaskEval;
import com.xm.core.service.XmTaskEvalService;
import com.xm.core.service.client.SysClient;
import io.swagger.annotations.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import com.xm.core.service.XmTaskEvalService;
import com.xm.core.entity.XmTaskEval;
import java.util.*;
import java.util.stream.Collectors;
import static com.mdp.core.utils.BaseUtils.fromMap;
import static com.mdp.core.utils.BaseUtils.toMap;
import static com.mdp.core.utils.ResponseHelper.failed;
/**
* url编制采用rest风格,如对xm_task_eval xm_task_eval的操作有增删改查,对应的url分别为:<br>
@ -42,6 +40,9 @@ public class XmTaskEvalController {
@Autowired
private XmTaskEvalService xmTaskEvalService;
@Autowired
SysClient sysClient;
Map<String,Object> fieldsMap = toMap(new XmTaskEval());
@ -72,10 +73,37 @@ public class XmTaskEvalController {
m.put("tips", tips);
return m;
}
/**
@ApiOperation( value = "服务商中心交易评价汇总信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response= MyTotalEval.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/getServiceProviderEval",method=RequestMethod.GET)
public Map<String,Object> getMyEval(){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
User user = LoginUtils.getCurrentUserInfo();
MyTotalEval myTotalEval = xmTaskEvalService.getServiceProviderEval(user); //列出XmTaskEval列表
m.put("data",myTotalEval);
m.put("tips", tips);
return m;
}
@ApiOperation( value = "个人中心交易评价汇总信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response= MyTotalEval.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'错误码'},total:总记录数,data:[数据对象1,数据对象2,...]}")
})
@RequestMapping(value="/getPersonEval",method=RequestMethod.GET)
public Map<String,Object> getPersonEval(){
Map<String,Object> m = new HashMap<>();
Tips tips=new Tips("查询成功");
User user = LoginUtils.getCurrentUserInfo();
MyTotalEval myTotalEval = xmTaskEvalService.getPersonEval(user); //列出XmTaskEval列表
m.put("data",myTotalEval);
m.put("tips", tips);
return m;
}
@ApiOperation( value = "新增一条xm_task_eval信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmTaskEval.class,message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
@ -95,6 +123,24 @@ public class XmTaskEvalController {
return failed("pk-exists","编号重复,请修改编号再提交");
}
}
if(!StringUtils.hasText(xmTaskEval.getTaskId())){
return failed("taskId-0","任务编号不能为空");
}
if(!StringUtils.hasText(xmTaskEval.getToUserid())){
return failed("toUserid-0","被评价人编号不能为空");
}
User user = LoginUtils.getCurrentUserInfo();
User toUser=sysClient.getUserByUserid(xmTaskEval.getToUserid());
if(toUser==null){
return failed("toUser-0","被评价人不存在");
}
xmTaskEval.setEvalTime(new Date());
xmTaskEval.setEvalUserid(user.getUserid());
xmTaskEval.setEvalUsername(user.getUsername());
xmTaskEval.setEvalBranchId(user.getBranchId());
xmTaskEval.setToUsername(toUser.getUsername());
xmTaskEval.setToBranchId(toUser.getBranchId());
xmTaskEvalService.insert(xmTaskEval);
m.put("data",xmTaskEval);
}catch (BizException e) {
@ -107,9 +153,7 @@ public class XmTaskEvalController {
m.put("tips", tips);
return m;
}
*/
/**
@ApiOperation( value = "删除一条xm_task_eval信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}}")
@ -137,9 +181,7 @@ public class XmTaskEvalController {
m.put("tips", tips);
return m;
}
*/
/**
@ApiOperation( value = "根据主键修改一条xm_task_eval信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200,response=XmTaskEval.class, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'},data:数据对象}")
@ -168,9 +210,7 @@ public class XmTaskEvalController {
m.put("tips", tips);
return m;
}
*/
/**
@ApiOperation( value = "批量修改某些字段",notes="")
@ApiEntityParams( value = XmTaskEval.class, props={ }, remark = "xm_task_eval", paramType = "body" )
@ApiResponses({
@ -242,9 +282,7 @@ public class XmTaskEvalController {
m.put("tips", tips);
return m;
}
*/
/**
@ApiOperation( value = "根据主键列表批量删除xm_task_eval信息",notes=" ")
@ApiResponses({
@ApiResponse(code = 200, message = "{tips:{isOk:true/false,msg:'成功/失败原因',tipscode:'失败时错误码'}")
@ -292,5 +330,5 @@ public class XmTaskEvalController {
m.put("tips", tips);
return m;
}
*/
}

41
xm-core/src/main/java/com/xm/core/entity/MyTotalEval.java

@ -0,0 +1,41 @@
package com.xm.core.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 XmTaskEval所有属性名: <br>
* "id","评价","type","评价类型1-雇主对服务商的评价,2-服务商对雇主的评价,3-组长对组员的评价","wspeed","工作速度0-5分","wattit","工作态度0-5分","wquality","工作质量0-5分","totalStar","总体评价0-5分","remark","评价内容","evalUserid","评价人编号","evalUsername","评价人姓名","toUserid","被评价人编号","toUsername","被评价人姓名","evalBranchId","评价人归属机构","toBranchId","被评价人归属机构号","taskId","任务编号","evalTime","评价时间";<br>
* 当前主键(包括多主键):<br>
* id;<br>
*/
@Data
@ApiModel(description="MyTotalEval")
public class MyTotalEval implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(notes="工作速度0-5分",allowEmptyValue=true,example="",allowableValues="")
Integer wspeed;
@ApiModelProperty(notes="工作态度0-5分",allowEmptyValue=true,example="",allowableValues="")
Integer wattit;
@ApiModelProperty(notes="工作质量0-5分",allowEmptyValue=true,example="",allowableValues="")
Integer wquality;
@ApiModelProperty(notes="总体评价0-5分",allowEmptyValue=true,example="",allowableValues="")
Integer totalStar;
@ApiModelProperty(notes="评价人数",allowEmptyValue=true,example="",allowableValues="")
Integer evalUserCnt;
/**
* xm_task_eval
**/
public MyTotalEval() {
}
}

8
xm-core/src/main/java/com/xm/core/entity/XmTaskEval.java

@ -8,7 +8,7 @@ import java.util.Date;
/**
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
* 实体 XmTaskEval所有属性名: <br>
* "id","评价","type","评价类型1-雇主对服务商的评价,2-服务商对雇主的评价,3-组长对组员的评价","wspeed","工作速度0-5分","wattit","工作态度0-5分","wquality","工作质量0-5分","totalStar","总体评价0-5分","remark","评价内容","evalUserid","评价人编号","evalUsername","评价人姓名","toUserid","被评价人编号","toUsername","被评价人姓名","evalBranchId","评价人归属机构","toBranchId","被评价人归属机构号","taskId","任务编号","evalTime","评价时间";<br>
* "id","评价","type","评价类型1-雇主对服务商的评价,2-服务商对雇主的评价,3-组长对组员的评价","wspeed","工作速度0-5分","wattit","工作态度0-5分","wquality","工作质量0-5分","totalStar","总体评价0-5分","remark","评价内容","evalUserid","评价人编号","evalUsername","评价人姓名","toUserid","被评价人编号","toUsername","被评价人姓名","evalBranchId","评价人归属机构","toBranchId","被评价人归属机构号","taskId","任务编号","evalTime","评价时间","paySpeed","付款及时度0-5分","coopHappy","合作愉快度0-5分";<br>
* 当前主键(包括多主键):<br>
* id;<br>
*/
@ -63,6 +63,12 @@ public class XmTaskEval implements java.io.Serializable {
@ApiModelProperty(notes="评价时间",allowEmptyValue=true,example="",allowableValues="")
Date evalTime;
@ApiModelProperty(notes="付款及时度0-5分",allowEmptyValue=true,example="",allowableValues="")
Integer paySpeed;
@ApiModelProperty(notes="合作愉快度0-5分",allowEmptyValue=true,example="",allowableValues="")
Integer coopHappy;
/**
*评价

18
xm-core/src/main/java/com/xm/core/service/XmTaskEvalService.java

@ -1,16 +1,11 @@
package com.xm.core.service;
import com.mdp.core.service.BaseService;
import com.mdp.safe.client.entity.User;
import com.xm.core.entity.MyTotalEval;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service;
import com.mdp.core.service.BaseService;
import static com.mdp.core.utils.BaseUtils.*;
import com.mdp.core.entity.Tips;
import com.mdp.core.err.BizException;
import com.xm.core.entity.XmTaskEval;
/**
* 父类已经支持增删改查操作,因此,即使本类什么也不写,也已经可以满足一般的增删改查操作了.<br>
* 组织 com 顶级模块 xm 大模块 core 小模块 <br>
@ -20,5 +15,12 @@ import com.xm.core.entity.XmTaskEval;
public class XmTaskEvalService extends BaseService {
static Logger logger =LoggerFactory.getLogger(XmTaskEvalService.class);
public MyTotalEval getServiceProviderEval(User user) {
return super.selectOne("getServiceProviderEval",user);
}
public MyTotalEval getPersonEval(User user) {
return super.selectOne("getPersonEval",user);
}
}

33
xm-core/src/main/resources/mybatis/mapper/xm/core/dao/XmTaskEvalMapper.xml

@ -14,7 +14,22 @@
<if test="key != null and key !='' "> </if>
</sql>
<select id="getServiceProviderEval" parameterType="com.mdp.safe.client.entity.User" resultType="com.xm.core.entity.MyTotalEval">
select sum(ifnull(total_star,5))/count(*) as total_star,sum(ifnull(wspeed,5))/count(*) as wspeed,
sum(ifnull(wattit,5))/count(*) as wattit,sum(ifnull(wquality,5))/count(*) as wquality,
sum(ifnull(coop_happy,5))/count(*) as coop_happy,sum(ifnull(pay_speed,5))/count(*) as pay_speed,
count(*) as eval_user_cnt from xm_task_eval
where to_branch_id=#{branchId}
group by to_branch_id
</select>
<select id="getPersonEval" parameterType="com.mdp.safe.client.entity.User" resultType="com.xm.core.entity.MyTotalEval">
select sum(ifnull(total_star,5))/count(*) as total_star,sum(ifnull(wspeed,5))/count(*) as wspeed,
sum(ifnull(wattit,5))/count(*) as wattit,sum(ifnull(wquality,5))/count(*) as wquality,
sum(ifnull(coop_happy,5))/count(*) as coop_happy,sum(ifnull(pay_speed,5))/count(*) as pay_speed,
count(*) as eval_user_cnt from xm_task_eval
where to_userid=#{userid}
group by to_userid
</select>
<!--结束 自定义sql函数区域-->
@ -67,7 +82,7 @@
insert into xm_task_eval(
<include refid="columns"/>
) values (
#{id},#{type},#{wspeed},#{wattit},#{wquality},#{totalStar},#{remark},#{evalUserid},#{evalUsername},#{toUserid},#{toUsername},#{evalBranchId},#{toBranchId},#{taskId},#{evalTime}
#{id},#{type},#{wspeed},#{wattit},#{wquality},#{totalStar},#{remark},#{evalUserid},#{evalUsername},#{toUserid},#{toUsername},#{evalBranchId},#{toBranchId},#{taskId},#{evalTime},#{paySpeed},#{coopHappy}
)
</insert>
@ -142,7 +157,7 @@
<!--sql片段 列-->
<sql id="columns">
id,type,wspeed,wattit,wquality,total_star,remark,eval_userid,eval_username,to_userid,to_username,eval_branch_id,to_branch_id,task_id,eval_time
id,type,wspeed,wattit,wquality,total_star,remark,eval_userid,eval_username,to_userid,to_username,eval_branch_id,to_branch_id,task_id,eval_time,pay_speed,coop_happy
</sql>
<!--sql片段 动态条件 YYYY-MM-DD HH24:MI:SS-->
@ -162,6 +177,8 @@
<if test="toBranchId != null and toBranchId != ''"> and res.to_branch_id = #{toBranchId} </if>
<if test="taskId != null and taskId != ''"> and res.task_id = #{taskId} </if>
<if test="evalTime != null"> and date_format(res.eval_time,'%Y-%m-%d') = date_format(#{evalTime},'%Y-%m-%d') </if>
<if test="paySpeed != null and paySpeed != ''"> and res.pay_speed = #{paySpeed} </if>
<if test="coopHappy != null and coopHappy != ''"> and res.coop_happy = #{coopHappy} </if>
</sql>
<!--sql片段 更新字段 -->
<sql id="set">
@ -178,7 +195,9 @@
eval_branch_id = #{evalBranchId},
to_branch_id = #{toBranchId},
task_id = #{taskId},
eval_time = #{evalTime}
eval_time = #{evalTime},
pay_speed = #{paySpeed},
coop_happy = #{coopHappy}
</sql>
<sql id="someFieldSet">
<if test="type != null and type != ''"> type = #{type}, </if>
@ -195,6 +214,8 @@
<if test="toBranchId != null and toBranchId != ''"> to_branch_id = #{toBranchId}, </if>
<if test="taskId != null and taskId != ''"> task_id = #{taskId}, </if>
<if test="evalTime != null"> eval_time = #{evalTime}, </if>
<if test="paySpeed != null and paySpeed != ''"> pay_speed = #{paySpeed}, </if>
<if test="coopHappy != null and coopHappy != ''"> coop_happy = #{coopHappy}, </if>
</sql>
<!--sql片段 批量更新 -->
<sql id="batchSet">
@ -211,6 +232,8 @@
eval_branch_id = #{item.evalBranchId},
to_branch_id = #{item.toBranchId},
task_id = #{item.taskId},
eval_time = #{item.evalTime}
eval_time = #{item.evalTime},
pay_speed = #{item.paySpeed},
coop_happy = #{item.coopHappy}
</sql>
</mapper>
Loading…
Cancel
Save