From bd6f92ee76defc9bfa9f2ec15ea851bf23eb0232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Wed, 9 Dec 2020 10:55:38 +0800 Subject: [PATCH] fix --- .../controller/ResultTaskController.java | 52 +++++++++++++++++++ .../performance/dao/ResultTaskMapper.java | 6 +++ .../performance/dto/ResultTaskDto.java | 21 ++++++++ .../performance/req/ResultTaskDetailReq.java | 10 ++++ .../performance/req/ResultUpdateTakReq.java | 28 ++++++++++ .../performance/res/ResultTaskDetailRes.java | 31 +++++++++++ .../service/ResultTaskService.java | 6 +++ .../service/impl/ResultTaskServiceImpl.java | 48 ++++++++++++++++- .../modules/sys/entity/app/ResultDetail.java | 18 +++++++ .../mapper/app/ResultDetailMapper.xml | 13 +++-- .../mapper/performance/ResultTaskMapper.xml | 4 ++ src/test/java/com/lz/mysql/MysqlMain.java | 4 +- 12 files changed, 233 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/lz/modules/performance/controller/ResultTaskController.java create mode 100644 src/main/java/com/lz/modules/performance/dto/ResultTaskDto.java create mode 100644 src/main/java/com/lz/modules/performance/req/ResultTaskDetailReq.java create mode 100644 src/main/java/com/lz/modules/performance/req/ResultUpdateTakReq.java create mode 100644 src/main/java/com/lz/modules/performance/res/ResultTaskDetailRes.java diff --git a/src/main/java/com/lz/modules/performance/controller/ResultTaskController.java b/src/main/java/com/lz/modules/performance/controller/ResultTaskController.java new file mode 100644 index 00000000..ff74cca9 --- /dev/null +++ b/src/main/java/com/lz/modules/performance/controller/ResultTaskController.java @@ -0,0 +1,52 @@ +package com.lz.modules.performance.controller; + +import com.lz.common.utils.R; +import com.lz.modules.performance.req.ResultUpdateTakReq; +import com.lz.modules.performance.res.ResultTaskDetailRes; +import com.lz.modules.performance.res.TaskListRes; +import com.lz.modules.performance.service.ResultTaskService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/12/9 9:52 + */ +@RestController +@RequestMapping("/performance") +@Slf4j +@Api(value="绩效任务接口", tags={"绩效任务"}) +public class ResultTaskController { + @Autowired + private ResultTaskService resultTaskService; + + @GetMapping("/result/taskDetail") + @ApiOperation("获取绩效任务详情") + @ApiResponses({@ApiResponse(code = 200,message = "成功",response = ResultTaskDetailRes.class)}) + public R taskDetail(Long detailId){ + ResultTaskDetailRes resultTaskDetailRes = resultTaskService.taskDetail(detailId); + return R.ok().put("data",resultTaskDetailRes); + } + + @PostMapping("/result/updateTask") + @ApiOperation("任务修改") + @ApiResponses({@ApiResponse(code = 200,message = "成功")}) + public R updateTask(ResultUpdateTakReq req){ + int i = resultTaskService.saveOrUpdateResultTask(req); + if(i>0){ + return R.ok(); + } + return R.error(); + } + + +} diff --git a/src/main/java/com/lz/modules/performance/dao/ResultTaskMapper.java b/src/main/java/com/lz/modules/performance/dao/ResultTaskMapper.java index e602501d..8e03f072 100644 --- a/src/main/java/com/lz/modules/performance/dao/ResultTaskMapper.java +++ b/src/main/java/com/lz/modules/performance/dao/ResultTaskMapper.java @@ -8,9 +8,13 @@ package com.lz.modules.performance.dao; * @since 2020-12-08 */ import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.modules.performance.dto.ResultTaskDto; import com.lz.modules.performance.entity.ResultTask; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface ResultTaskMapper extends BaseMapper { @@ -29,5 +33,7 @@ public interface ResultTaskMapper extends BaseMapper { int deleteResultTaskById(@Param("id") Long id); + List selectResultTasksByDetailId(Long detailId); + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/dto/ResultTaskDto.java b/src/main/java/com/lz/modules/performance/dto/ResultTaskDto.java new file mode 100644 index 00000000..9eb2bc7e --- /dev/null +++ b/src/main/java/com/lz/modules/performance/dto/ResultTaskDto.java @@ -0,0 +1,21 @@ +package com.lz.modules.performance.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/12/9 10:23 + */ +@Data +public class ResultTaskDto { + //任务名称 + @ApiModelProperty(value = "任务名称", name = "name") + private String name; + //任务的当前进度 + @ApiModelProperty(value = "任务的当前进度", name = "processRate") + private BigDecimal processRate; +} diff --git a/src/main/java/com/lz/modules/performance/req/ResultTaskDetailReq.java b/src/main/java/com/lz/modules/performance/req/ResultTaskDetailReq.java new file mode 100644 index 00000000..ab2e67de --- /dev/null +++ b/src/main/java/com/lz/modules/performance/req/ResultTaskDetailReq.java @@ -0,0 +1,10 @@ +package com.lz.modules.performance.req; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/12/9 9:59 + */ +public class ResultTaskDetailReq { + private Long detailId; +} diff --git a/src/main/java/com/lz/modules/performance/req/ResultUpdateTakReq.java b/src/main/java/com/lz/modules/performance/req/ResultUpdateTakReq.java new file mode 100644 index 00000000..fcf293c8 --- /dev/null +++ b/src/main/java/com/lz/modules/performance/req/ResultUpdateTakReq.java @@ -0,0 +1,28 @@ +package com.lz.modules.performance.req; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/12/9 10:32 + */ +@Data +public class ResultUpdateTakReq { + //绩效详情id + @ApiModelProperty(value = "绩效详情id(如果任务id为空,必传)", name = "detailId") + private Long detailId; + //任务id + @ApiModelProperty(value = "任务id", name = "tasklId") + private Long tasklId; + //任务名称 + @ApiModelProperty(value = "任务名称", name = "name") + private String name; + //任务的当前进度 + @ApiModelProperty(value = "任务的当前进度", name = "processRate") + private BigDecimal processRate; + +} diff --git a/src/main/java/com/lz/modules/performance/res/ResultTaskDetailRes.java b/src/main/java/com/lz/modules/performance/res/ResultTaskDetailRes.java new file mode 100644 index 00000000..0fb34a09 --- /dev/null +++ b/src/main/java/com/lz/modules/performance/res/ResultTaskDetailRes.java @@ -0,0 +1,31 @@ +package com.lz.modules.performance.res; + +import com.lz.modules.performance.dto.ResultTaskDto; +import com.lz.modules.performance.entity.ResultTask; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/12/9 10:01 + */ +@Data +@ApiModel(value = "绩效任务详情") +public class ResultTaskDetailRes { + + //集体进度 + @ApiModelProperty(value = "集体进度", name = "processRate") + private BigDecimal processRate; + //目标 + @ApiModelProperty(value = "目标", name = "target") + private String target; + //任务列表 + @ApiModelProperty(value = "集体进度", name = "resultTasks") + private List resultTasks; +} diff --git a/src/main/java/com/lz/modules/performance/service/ResultTaskService.java b/src/main/java/com/lz/modules/performance/service/ResultTaskService.java index 960494e7..e87dd6b7 100644 --- a/src/main/java/com/lz/modules/performance/service/ResultTaskService.java +++ b/src/main/java/com/lz/modules/performance/service/ResultTaskService.java @@ -2,6 +2,8 @@ package com.lz.modules.performance.service; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.modules.performance.entity.ResultTask; +import com.lz.modules.performance.req.ResultUpdateTakReq; +import com.lz.modules.performance.res.ResultTaskDetailRes; /** *

@@ -29,5 +31,9 @@ public interface ResultTaskService extends IService { int deleteResultTaskById(Long id); + ResultTaskDetailRes taskDetail(Long detailId); + + int saveOrUpdateResultTask(ResultUpdateTakReq req); + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/service/impl/ResultTaskServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/ResultTaskServiceImpl.java index b17f825e..e025f76b 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/ResultTaskServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/ResultTaskServiceImpl.java @@ -2,11 +2,22 @@ package com.lz.modules.performance.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.modules.performance.dao.ResultTaskMapper; +import com.lz.modules.performance.dto.ResultTaskDto; import com.lz.modules.performance.entity.ResultTask; +import com.lz.modules.performance.req.ResultUpdateTakReq; +import com.lz.modules.performance.res.ResultTaskDetailRes; import com.lz.modules.performance.service.ResultTaskService; +import com.lz.modules.sys.entity.app.ResultDetail; +import com.lz.modules.sys.service.app.ResultDetailService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Optional; +import java.util.function.Consumer; + /** *

* 任务表 服务类 @@ -16,12 +27,15 @@ import org.springframework.stereotype.Service; * @since 2020-12-08 */ +@Slf4j @Service public class ResultTaskServiceImpl extends ServiceImpl implements ResultTaskService { @Autowired private ResultTaskMapper resultTaskMapper; + @Autowired + private ResultDetailService resultDetailService; @@ -58,6 +72,38 @@ public class ResultTaskServiceImpl extends ServiceImpl { + res.setProcessRate(resultDetail1.getProcessRate()); + res.setTarget(resultDetail1.getTarget()); + }); + List resultTasks = resultTaskMapper.selectResultTasksByDetailId(detailId); + res.setResultTasks(resultTasks); + return res; + } - + @Override + public int saveOrUpdateResultTask(ResultUpdateTakReq req) { + Long tasklId = req.getTasklId(); + Long detailId = req.getDetailId(); + if(tasklId==null && detailId == null){ + log.error("任务保存或更新失败:tasklId, detailId都为空"); + return -1; + } + ResultTask resultTask; + if(tasklId == null){ + log.info("绩效任务新增操作。。。"); + resultTask = new ResultTask(); + BeanUtils.copyProperties(req,resultTask); + resultTask.setDetailId(detailId); + return resultTaskMapper.insertResultTask(resultTask).intValue(); + } + log.info("绩效任务修改操作。。。"); + resultTask = resultTaskMapper.selectResultTaskById(tasklId); + BeanUtils.copyProperties(req,resultTask); + return resultTaskMapper.updateResultTaskById(resultTask); + } } diff --git a/src/main/java/com/lz/modules/sys/entity/app/ResultDetail.java b/src/main/java/com/lz/modules/sys/entity/app/ResultDetail.java index 38a4bcaf..26d1180c 100644 --- a/src/main/java/com/lz/modules/sys/entity/app/ResultDetail.java +++ b/src/main/java/com/lz/modules/sys/entity/app/ResultDetail.java @@ -79,6 +79,9 @@ public class ResultDetail implements java.io.Serializable { //维度id lz_result_model的id @ApiModelProperty(value = "维度id lz_result_model的id", name = "modelId") private Long modelId; + //进度 + @ApiModelProperty(value = "进度", name = "processRate") + private BigDecimal processRate; /** * * @return @@ -379,6 +382,20 @@ public class ResultDetail implements java.io.Serializable { this.modelId = modelId; } + /** + * 进度 + * @return + */ + public BigDecimal getProcessRate() { + return processRate; + } + /** + * 进度 + * @param processRate + */ + public void setProcessRate(BigDecimal processRate) { + this.processRate = processRate; + } @Override public String toString() { return "ResultDetail{" + @@ -402,6 +419,7 @@ public class ResultDetail implements java.io.Serializable { ",staffId=" + staffId + ",priority=" + priority + ",modelId=" + modelId + + ",processRate=" + processRate + "}"; } } \ No newline at end of file diff --git a/src/main/resources/mapper/app/ResultDetailMapper.xml b/src/main/resources/mapper/app/ResultDetailMapper.xml index fa8bf059..2c345a61 100644 --- a/src/main/resources/mapper/app/ResultDetailMapper.xml +++ b/src/main/resources/mapper/app/ResultDetailMapper.xml @@ -24,12 +24,13 @@ + - id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, back_id AS backId, is_edit AS isEdit, type AS type, target AS target, key_result AS keyResult, key_result_3_5 AS keyResult35, key_result_3_7 AS keyResult37, check_weight AS checkWeight, check_result AS checkResult, super_score AS superScore, acquire_score AS acquireScore, score_comment AS scoreComment, record_id AS recordId, staff_id AS staffId, priority AS priority, model_id AS modelId + id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, back_id AS backId, is_edit AS isEdit, type AS type, target AS target, key_result AS keyResult, key_result_3_5 AS keyResult35, key_result_3_7 AS keyResult37, check_weight AS checkWeight, check_result AS checkResult, super_score AS superScore, acquire_score AS acquireScore, score_comment AS scoreComment, record_id AS recordId, staff_id AS staffId, priority AS priority, model_id AS modelId, process_rate AS processRate @@ -58,6 +59,7 @@ staff_id, priority, model_id, + process_rate, is_delete, gmt_create, gmt_modified @@ -78,6 +80,7 @@ #{ staffId}, #{ priority}, #{ modelId}, + #{ processRate}, 0, now(), now() @@ -106,7 +109,8 @@ record_id = #{recordId}, staff_id = #{staffId}, priority = #{priority}, - model_id = #{modelId} + model_id = #{modelId}, + process_rate = #{processRate} ,gmt_modified = now() where id = #{id} @@ -134,8 +138,9 @@ record_id = #{recordId}, staff_id = #{staffId}, priority = #{priority}, - model_id = #{modelId} - ,gmt_modified = now() + model_id = #{modelId}, + process_rate = #{processRate} + ,gmt_modified = now() where id = #{id} diff --git a/src/main/resources/mapper/performance/ResultTaskMapper.xml b/src/main/resources/mapper/performance/ResultTaskMapper.xml index 47d17b0f..c8972a84 100644 --- a/src/main/resources/mapper/performance/ResultTaskMapper.xml +++ b/src/main/resources/mapper/performance/ResultTaskMapper.xml @@ -79,5 +79,9 @@ update lz_result_task set is_delete = 1 where id=#{id} limit 1 + + diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java index 21e4de04..24972149 100644 --- a/src/test/java/com/lz/mysql/MysqlMain.java +++ b/src/test/java/com/lz/mysql/MysqlMain.java @@ -84,9 +84,7 @@ public class MysqlMain { List list = new ArrayList(); - list.add(new TablesBean("lz_result_task")); - list.add(new TablesBean("lz_task_process_record")); - list.add(new TablesBean("lz_task_comment")); + list.add(new TablesBean("lz_result_detail")); List list2 = new ArrayList(); Map map = MysqlUtil2ShowCreateTable.getComments();