From 9613abd60de72d1d198f6e2324219323b1907a32 Mon Sep 17 00:00:00 2001 From: wany <13995595726@qq.com> Date: Wed, 11 Sep 2024 14:03:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=91=E7=9A=84=E5=B7=B2=E5=8A=9E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=9B=E8=80=83=E6=A0=B8=E4=BB=BB=E5=8A=A1=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E4=B8=AD=E6=9F=A5=E7=9C=8B=E8=AF=84=E5=88=86=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=8A=A0=E4=B8=8A=E6=8C=87=E6=A0=87=E5=BE=97=E5=88=86?= =?UTF-8?q?=EF=BC=9B=E9=97=AE=E9=A2=98=E6=95=B4=E6=94=B9=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssessTeamRatingController.java | 15 +++++++ .../xyt/entity/so/AssessTaskPageSo.java | 5 ++- .../project/xyt/entity/vo/AssessRatingVo.java | 5 +++ .../xyt/entity/vo/AssessRectifyVo.java | 35 ++++++++++++++++ .../project/xyt/mapper/AssessTaskMapper.java | 40 +++++++++++++++---- .../xyt/mapper/AssessTeamRatingMapper.java | 35 +++++++++++++++- .../project/xyt/model/AssessTeamRating.java | 12 ++++-- .../xyt/service/AssessTaskService.java | 9 ++++- .../xyt/service/AssessTeamRatingService.java | 35 ++++++++++++++-- 9 files changed, 173 insertions(+), 18 deletions(-) create mode 100644 src/main/java/com/gunshi/project/xyt/entity/vo/AssessRectifyVo.java diff --git a/src/main/java/com/gunshi/project/xyt/controller/AssessTeamRatingController.java b/src/main/java/com/gunshi/project/xyt/controller/AssessTeamRatingController.java index 37c6e7c..d20d9a3 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/AssessTeamRatingController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/AssessTeamRatingController.java @@ -1,8 +1,12 @@ package com.gunshi.project.xyt.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.result.R; +import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; import com.gunshi.project.xyt.entity.vo.AssessRatingVo; +import com.gunshi.project.xyt.entity.vo.AssessRectifyVo; import com.gunshi.project.xyt.entity.vo.AssessScoreVo; +import com.gunshi.project.xyt.model.AssessTeamRating; import com.gunshi.project.xyt.service.AssessTeamRatingService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; @@ -52,6 +56,17 @@ public class AssessTeamRatingController extends AbstractCommonFileController{ return R.ok(service.scoreDetail(objectId)); } + @Operation(summary = "考核问题整改") + @PostMapping("/list/page") + public R> listPage(@Validated @RequestBody AssessTaskPageSo page) { + return R.ok(service.listPage(page)); + } + + @Operation(summary = "整改") + @PostMapping("/rectify") + public R rectify(@Validated @RequestBody AssessTeamRating rating) { + return R.ok(service.rectify(rating)); + } @Override public String getGroupId() { diff --git a/src/main/java/com/gunshi/project/xyt/entity/so/AssessTaskPageSo.java b/src/main/java/com/gunshi/project/xyt/entity/so/AssessTaskPageSo.java index 4b4d9d3..b8cb1d8 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/so/AssessTaskPageSo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/so/AssessTaskPageSo.java @@ -27,10 +27,13 @@ public class AssessTaskPageSo { @Schema(description="考核任务名称") private String taskName; - @Schema(description="状态(0未启动 1评分中 2审核中 3已审核 5已作废)") + @Schema(description="任务状态(0未启动 1评分中 2审核中 3已审核 5已作废);整改状态(0未整改 1已整改)") private Integer status; @Schema(description="当前登录人id") private Long userId; + @Schema(description="整改对象") + private String objectUserName; + } diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRatingVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRatingVo.java index 281fdd4..14a9235 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRatingVo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRatingVo.java @@ -6,6 +6,8 @@ import com.gunshi.project.xyt.model.AssessTeamRating; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.math.BigDecimal; + @Data public class AssessRatingVo extends AssessTeamRating { @@ -22,6 +24,9 @@ public class AssessRatingVo extends AssessTeamRating { @Schema(description="标准分数") private Integer standardScore; + @Schema(description="指标得分") + private BigDecimal indicatorScore; + @Schema(description="考核成员id") @JsonSerialize(using = ToStringSerializer.class) private Long teamUserId; diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRectifyVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRectifyVo.java new file mode 100644 index 0000000..b8743c5 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/AssessRectifyVo.java @@ -0,0 +1,35 @@ +package com.gunshi.project.xyt.entity.vo; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.gunshi.project.xyt.model.AssessTeamRating; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class AssessRectifyVo extends AssessTeamRating { + + @Schema(description="考核类目id") + @JsonSerialize(using = ToStringSerializer.class) + private Long categoryId; + + @Schema(description="考核类目名称") + private String name; + + @Schema(description="指标名称") + private String indicatorName; + + @Schema(description="任务名称") + private String taskName; + + @Schema(description="考核对象id") + @JsonSerialize(using = ToStringSerializer.class) + private Long objectUserId; + + @Schema(description="考核对象") + private String objectUserName; + + @Schema(description="考核等级(1优秀 2良好 3合格)") + private Integer assessLevel; + +} diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTaskMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTaskMapper.java index 5c7bca1..c580faa 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessTaskMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/AssessTaskMapper.java @@ -32,12 +32,7 @@ public interface AssessTaskMapper extends BaseMapper { """) - Page myTodo(Page page,@Param("obj") AssessTaskPageSo page1,@Param("type") Integer type); + Page myTodo(Page page,@Param("obj") AssessTaskPageSo page1); + + @Select(""" + + """) + Page myDone(Page page,@Param("obj") AssessTaskPageSo page1,@Param("taskIds") List taskIds); @Select(""" """) List result(@Param("taskId") Long id); + + @Select(""" + + """) + List myDoneTask(@Param("userId") Long userId); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamRatingMapper.java b/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamRatingMapper.java index 98077a0..fb3e781 100644 --- a/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamRatingMapper.java +++ b/src/main/java/com/gunshi/project/xyt/mapper/AssessTeamRatingMapper.java @@ -1,7 +1,10 @@ package com.gunshi.project.xyt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; import com.gunshi.project.xyt.entity.vo.AssessRatingVo; +import com.gunshi.project.xyt.entity.vo.AssessRectifyVo; import com.gunshi.project.xyt.model.AssessTeamRating; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -30,13 +33,43 @@ public interface AssessTeamRatingMapper extends BaseMapper { @Select(""" """) List scoreByObjectId(@Param("objectId") Long objectId); + + @Select(""" + + """) + Page listPage(Page page,@Param("obj") AssessTaskPageSo page1); } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/model/AssessTeamRating.java b/src/main/java/com/gunshi/project/xyt/model/AssessTeamRating.java index 2664b34..890e179 100644 --- a/src/main/java/com/gunshi/project/xyt/model/AssessTeamRating.java +++ b/src/main/java/com/gunshi/project/xyt/model/AssessTeamRating.java @@ -104,10 +104,6 @@ public class AssessTeamRating implements Serializable { @JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8") private Date rectifyLastDate; - @TableField(exist = false) - @Schema(description = "现场图片") - private List files; - /** * 整改状态(0未整改 1已整改) */ @@ -131,4 +127,12 @@ public class AssessTeamRating implements Serializable { @Size(max = 500,message = "整改说明最大长度要小于 500") private String rectifyDesc; + @TableField(exist = false) + @Schema(description = "现场图片") + private List files; + + @TableField(exist = false) + @Schema(description = "整改附件") + private List rectifyFiles; + } \ No newline at end of file diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTaskService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTaskService.java index 7e676a7..bd468cf 100644 --- a/src/main/java/com/gunshi/project/xyt/service/AssessTaskService.java +++ b/src/main/java/com/gunshi/project/xyt/service/AssessTaskService.java @@ -1,6 +1,7 @@ package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -134,7 +135,7 @@ public class AssessTaskService extends ServiceImpl } public Page myTodo(AssessTaskPageSo page) { - Page res = this.baseMapper.myTodo(page.getPageSo().toPage(), page,1); + Page res = this.baseMapper.myTodo(page.getPageSo().toPage(),page); if (res.getRecords() != null && res.getRecords().size() > 0) { fillObject(res.getRecords(),page.getUserId()); } @@ -149,7 +150,11 @@ public class AssessTaskService extends ServiceImpl } public Page myDone(AssessTaskPageSo page) { - Page res = this.baseMapper.myTodo(page.getPageSo().toPage(), page,2); + List taskIds = this.baseMapper.myDoneTask(page.getUserId()); + if (CollectionUtils.isEmpty(taskIds)) { + return null; + } + Page res = this.baseMapper.myDone(page.getPageSo().toPage(), page,taskIds); if (res.getRecords() != null && res.getRecords().size() > 0) { fillObject(res.getRecords(),page.getUserId()); } diff --git a/src/main/java/com/gunshi/project/xyt/service/AssessTeamRatingService.java b/src/main/java/com/gunshi/project/xyt/service/AssessTeamRatingService.java index fe3fdda..a46fe28 100644 --- a/src/main/java/com/gunshi/project/xyt/service/AssessTeamRatingService.java +++ b/src/main/java/com/gunshi/project/xyt/service/AssessTeamRatingService.java @@ -3,8 +3,11 @@ package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gunshi.project.xyt.entity.so.AssessTaskPageSo; import com.gunshi.project.xyt.entity.vo.AssessRatingVo; +import com.gunshi.project.xyt.entity.vo.AssessRectifyVo; import com.gunshi.project.xyt.entity.vo.AssessScoreVo; import com.gunshi.project.xyt.mapper.*; import com.gunshi.project.xyt.model.*; @@ -56,7 +59,7 @@ public class AssessTeamRatingService extends ServiceImpl doDetail(Long teamId) { List list = this.baseMapper.scoreDetail(teamId); for (AssessRatingVo vo : list){ if(vo.getIsNeedRectify() == 1){ - vo.setFiles(fileService.getFiles(getGroupId(),vo.getId().toString())); + vo.setFiles(fileService.queryFileList(vo.getId().toString(),getGroupId(),getScoreType())); } } return list; @@ -168,7 +179,7 @@ public class AssessTeamRatingService extends ServiceImpl ratings = vo.getRatings(); for(AssessTeamRating rating : ratings){ rating.setId(IdWorker.getId()); - fileService.saveFile(rating.getFiles(), getGroupId(), rating.getId().toString()); + fileService.save(rating.getFiles(), rating.getId().toString(), getGroupId(),getScoreType()); } Long teamId = ratings.get(0).getTeamId(); this.delData(teamId); @@ -183,6 +194,24 @@ public class AssessTeamRatingService extends ServiceImpl list = this.baseMapper.scoreByObjectId(objectId); return list.stream().collect(Collectors.groupingBy(AssessTeamRating::getIndicatorId)); } + + public Page listPage(AssessTaskPageSo page) { + Page res = this.baseMapper.listPage(page.getPageSo().toPage(), page); + if (res.getRecords() != null && res.getRecords().size() > 0) { + for (AssessRectifyVo record : res.getRecords()) { + record.setFiles(fileService.queryFileList(record.getId().toString(),getGroupId(),getScoreType())); + record.setRectifyFiles(fileService.queryFileList(record.getId().toString(),getGroupId(),getRectifyType())); + } + } + return res; + } + + public String rectify(AssessTeamRating rating) { + rating.setRectifyStatus(1); + this.updateById(rating); + fileService.save(rating.getRectifyFiles(),rating.getId().toString(),getGroupId(),getRectifyType()); + return "整改成功"; + } }