调整技术-今日事务
This commit is contained in:
parent
eae10871e0
commit
de7e7d72e7
@ -83,9 +83,11 @@ public class GlobalExceptionHandler {
|
||||
|
||||
/**
|
||||
* 系统异常
|
||||
* @param e
|
||||
* @param request
|
||||
* @return
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param e 异常
|
||||
* @param request 请求
|
||||
* @return R
|
||||
*/
|
||||
@ExceptionHandler(Exception.class)
|
||||
public R handleException(Exception e, HttpServletRequest request) {
|
||||
@ -94,5 +96,4 @@ public class GlobalExceptionHandler {
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
|
||||
//TODO:可以自行后续拓展
|
||||
}
|
||||
|
||||
@ -31,7 +31,6 @@ public class SysOperationLogListen {
|
||||
// 保存日志
|
||||
operationLog.setId(IdUtils.fastSimpleUUID());
|
||||
if (coreService.saveOperationLog(operationLog)) {
|
||||
//TODO;后续可自定义其他操作
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -73,7 +73,6 @@ public class CoreServiceImpl implements CoreService {
|
||||
operationLog.setCreateUserId(loginUser.getUserId());
|
||||
operationLog.setUpdateUserId(loginUser.getUserId());
|
||||
if (coreMapper.insertOperationLog(operationLog)) {
|
||||
//TODO:后续可自定义其他操作
|
||||
}
|
||||
return operationLog.getId();
|
||||
}
|
||||
|
||||
@ -14,40 +14,5 @@ import org.springframework.stereotype.Service;
|
||||
*/
|
||||
@Service("brandExtendService")
|
||||
public class BrandExtendServiceImpl extends ServiceImpl<BrandExtendMapper, BrandExtend> implements BrandExtendService {
|
||||
/**
|
||||
* @descriptions 查询品牌分页列表
|
||||
* @author DB
|
||||
* @date 2023/09/13 17:55
|
||||
* @param bo 请求参数
|
||||
* @return com.cpop.core.base.R<com.mybatisflex.core.paginate.Page<com.cpop.jambox.business.vo.BrandPageVo>>
|
||||
*/
|
||||
/*@Override
|
||||
public Page<BrandPageVo> getBrandPage(BrandPageBo bo) {
|
||||
PageDomain pageDomain = SqlUtils.getInstance().getPageDomain();
|
||||
return this.mapper.paginateAs(pageDomain.getPageNum(),pageDomain.getPageSize(),
|
||||
QueryWrapper.create()
|
||||
.select(BRAND.ID,BRAND.BRAND_CLOUD_ID,BRAND.NAME,BRAND.CREATE_TIME,BRAND.BACKGROUND_URL,BRAND.CONSULTANT_NAME)
|
||||
.select(groupConcat(BRAND_STAFF_MID_CAMPUS.BRAND_STAFF_ID).as(BrandPageVo::getBrandStaffId))
|
||||
.select(groupConcat(BRAND_STAFF.NAME).as(BrandPageVo::getBrandStaffName))
|
||||
//管理员-品牌-校区表
|
||||
.leftJoin(BRAND_STAFF_MID_CAMPUS).on(BRAND_STAFF_MID_CAMPUS.BRAND_ID.eq(BRAND.ID))
|
||||
//管理员
|
||||
.leftJoin(BRAND_STAFF).on(BRAND_STAFF.ID.eq(BRAND_STAFF_MID_CAMPUS.BRAND_STAFF_ID))
|
||||
.and(BRAND.NAME.like(bo.getName()))
|
||||
.groupBy(BRAND.ID),
|
||||
BrandPageVo.class);
|
||||
}*/
|
||||
|
||||
/**
|
||||
* @descriptions 修改品牌表
|
||||
* @author DB
|
||||
* @date 2023/09/14 11:40
|
||||
* @param bo 请求参数
|
||||
*/
|
||||
/*@Override
|
||||
public void updateBrand(BrandBo bo) {
|
||||
Brand entity = BeanUtils.mapToClass(bo, Brand.class);
|
||||
this.updateById(entity);
|
||||
//TODO:可能需要通知到云库
|
||||
}*/
|
||||
}
|
||||
|
||||
@ -1,151 +0,0 @@
|
||||
package com.cpop.mall.web;
|
||||
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.write.style.ContentLoopMerge;
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/11/15 17:15
|
||||
* @description CBC相关测试类
|
||||
*/
|
||||
@SpringBootTest
|
||||
public class CpopCbcTests {
|
||||
|
||||
private final String FILE_NAME = "C:/Users/Administrator/Desktop/常规赛1v1对战信息" + System.currentTimeMillis() + ".xlsx";
|
||||
|
||||
/**
|
||||
* @descriptions 导出比赛结果
|
||||
* @author DB
|
||||
* @date 2023/11/15 17:16
|
||||
* @return: void
|
||||
*/
|
||||
public void exportGameResult() {
|
||||
//TODO:获取数据
|
||||
//EasyExcel.write(FILE_NAME, GameResult.class).sheet("常规赛1v1对战信息").doWrite(data());
|
||||
}
|
||||
|
||||
/**
|
||||
* 比赛结果
|
||||
*/
|
||||
@Data
|
||||
public class GameResult {
|
||||
|
||||
/**
|
||||
* 场次
|
||||
*/
|
||||
@ContentLoopMerge(eachRow = 10)
|
||||
@ExcelProperty("场次")
|
||||
private String session;
|
||||
|
||||
/**
|
||||
* "类型", "常规/OneMore"
|
||||
*/
|
||||
@ExcelProperty({"类型", "常规/OneMore"})
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 舞种
|
||||
*/
|
||||
@ExcelProperty("舞种")
|
||||
private String danceType;
|
||||
|
||||
/**
|
||||
* 轮次
|
||||
*/
|
||||
@ExcelProperty("轮次")
|
||||
private String turn;
|
||||
|
||||
/**
|
||||
* "战队A", "战队"
|
||||
*/
|
||||
@ExcelProperty({"战队A", "战队"})
|
||||
private String teamA;
|
||||
|
||||
/**
|
||||
* "战队A", "舞者"
|
||||
*/
|
||||
@ExcelProperty({"战队A", "舞者"})
|
||||
private String userA;
|
||||
|
||||
/**
|
||||
* "战队B", "战队"
|
||||
*/
|
||||
@ExcelProperty({"战队B", "战队"})
|
||||
private String teamB;
|
||||
|
||||
/**
|
||||
* "战队B", "舞者"
|
||||
*/
|
||||
@ExcelProperty({"战队B", "舞者"})
|
||||
private String userB;
|
||||
|
||||
/**
|
||||
* 胜负
|
||||
*/
|
||||
@ExcelProperty("胜负")
|
||||
private String winUser;
|
||||
|
||||
/**
|
||||
* 主裁
|
||||
*/
|
||||
@ExcelProperty({"主裁", "名称"})
|
||||
private String masterReferee;
|
||||
|
||||
/**
|
||||
* "主裁", "打分"
|
||||
*/
|
||||
@ExcelProperty({"主裁", "打分"})
|
||||
private String masterRefereeMark;
|
||||
|
||||
/**
|
||||
* "副裁一", "名称"
|
||||
*/
|
||||
@ExcelProperty({"副裁一", "名称"})
|
||||
private String slaveRefereeA;
|
||||
|
||||
/**
|
||||
* "副裁一", "打分"
|
||||
*/
|
||||
@ExcelProperty({"副裁一", "打分"})
|
||||
private String slaveRefereeAMark;
|
||||
|
||||
/**
|
||||
* "副裁二", "名称"
|
||||
*/
|
||||
@ExcelProperty({"副裁二", "名称"})
|
||||
private String slaveRefereeB;
|
||||
|
||||
/**
|
||||
* "副裁二", "打分"
|
||||
*/
|
||||
@ExcelProperty({"副裁二", "打分"})
|
||||
private String slaveRefereeBMark;
|
||||
|
||||
/**
|
||||
* "副裁三", "名称"
|
||||
*/
|
||||
@ExcelProperty({"副裁三", "名称"})
|
||||
private String slaveRefereeC;
|
||||
|
||||
/**
|
||||
* "副裁三", "打分"
|
||||
*/
|
||||
@ExcelProperty({"副裁三", "打分"})
|
||||
private String slaveRefereeCMark;
|
||||
|
||||
/**
|
||||
* "副裁四", "名称"
|
||||
*/
|
||||
@ExcelProperty({"副裁四", "名称"})
|
||||
private String slaveRefereeD;
|
||||
|
||||
/**
|
||||
* "副裁四", "打分"
|
||||
*/
|
||||
@ExcelProperty({"副裁四", "打分"})
|
||||
private String slaveRefereeDMark;
|
||||
}
|
||||
}
|
||||
@ -111,7 +111,7 @@ public class StaffBo implements Serializable {
|
||||
/**
|
||||
* 角色id
|
||||
*/
|
||||
//TODO:@NotBlank(message = "角色id不能为空")
|
||||
@NotBlank(message = "角色id不能为空")
|
||||
@ApiModelProperty(value = "角色id",required = true)
|
||||
private String roleId;
|
||||
|
||||
|
||||
@ -131,8 +131,7 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
|
||||
}
|
||||
//获取品牌信息
|
||||
Brand brand = SpringUtils.getBean(BrandService.class).queryChain().where(BRAND.ID.eq(roleBrand.getBrandId())).one();
|
||||
//TODO:角色暂时不做处理,都是超级管理员
|
||||
//roleBrand.setRoleId(bo.getRoleId());
|
||||
roleBrand.setRoleId(bo.getRoleId());
|
||||
//设置中间表
|
||||
roleBrandService.save(roleBrand);
|
||||
staff.setUserId(sysUser.getId())
|
||||
|
||||
@ -273,7 +273,6 @@ public class CpopWxCpTests {
|
||||
exportUsers.forEach(item -> {
|
||||
//创建用户
|
||||
SysUser sysUser = new SysUser();
|
||||
//TODO:获取初始化密码
|
||||
sysUser.setId(IdUtils.fastSimpleUUID());
|
||||
sysUser.setPassword("$2a$10$6CA0M3iyO8u8zSVtmufYGO3KfLvjaE5fxdHCqTQ2NpxYH/Dxi/fBu")
|
||||
.setNickName(item.getAlias())
|
||||
|
||||
@ -1,44 +0,0 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/15 16:20
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Task列表分页查询对象", description = "OAM-任务")
|
||||
public class PersonTaskPageBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 周一
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
|
||||
@ApiModelProperty("周一")
|
||||
private LocalDate monday;
|
||||
|
||||
/**
|
||||
* 周末
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
|
||||
@ApiModelProperty("周末")
|
||||
private LocalDate sunday;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
@ApiModelProperty("任务状态")
|
||||
private Integer taskStatus;
|
||||
}
|
||||
@ -29,17 +29,11 @@ public class TaskAuditCommentsBo {
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
* 是否通过
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 预期完成日期
|
||||
*/
|
||||
@ApiModelProperty("预期完成日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private LocalDate expectedCompletionDate;
|
||||
@NotNull(message = "是否通过不能为空")
|
||||
@ApiModelProperty(value = "是否通过", required = true)
|
||||
private Boolean isPass;
|
||||
|
||||
/**
|
||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||
@ -47,4 +41,9 @@ public class TaskAuditCommentsBo {
|
||||
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
||||
private Integer taskRating;
|
||||
|
||||
/**
|
||||
* 备注(不通过时可以写入备注)
|
||||
*/
|
||||
@ApiModelProperty("备注(不通过时可以写入备注)")
|
||||
private String remark;
|
||||
}
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* OAM-任务-关联员工任务组表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-22
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskStaffGroup对象", description = "OAM-任务-关联员工任务组表")
|
||||
public class TaskStaffGroupListBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotBlank(message = "不能为空")
|
||||
@ApiModelProperty(value = "任务id",required = true)
|
||||
private String taskId;
|
||||
|
||||
}
|
||||
@ -17,9 +17,7 @@ import java.io.Serializable;
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Task转交对象", description = "Task转交对象")
|
||||
public class TransferTaskBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
public class TransferTaskBo {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
|
||||
@ -16,6 +16,7 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.cpop.oam.business.service.TaskWorkOrderService;
|
||||
|
||||
/**
|
||||
@ -43,6 +44,7 @@ public class TaskTechnologyController {
|
||||
|
||||
/**
|
||||
* 技术模块-今日事务-获取个人工单列表
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-11-30 19:41:32
|
||||
*/
|
||||
@ -56,182 +58,179 @@ public class TaskTechnologyController {
|
||||
|
||||
/**
|
||||
* 工单模块-今日事务-工单记录列表
|
||||
* @author DB
|
||||
*
|
||||
* @param workOrderId 工单id
|
||||
* @author DB
|
||||
* @since 2023-11-29 11:25:28
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:record')")
|
||||
@ApiOperation("技术模块-今日事务-工单记录列表")
|
||||
@GetMapping("/getWorkOrderRecordList/{workOrderId}")
|
||||
public R<List<TaskWorkOrderRecordListVo>> getWorkOrderRecordList(@PathVariable @ApiParam("工单id")
|
||||
String workOrderId) {
|
||||
String workOrderId) {
|
||||
List<TaskWorkOrderRecordListVo> list = taskWorkOrderService.getWorkOrderRecordList(workOrderId);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 工单模块-今日事务-新增工单记录
|
||||
* @author DB
|
||||
*
|
||||
* @param bo 请求参数
|
||||
* @author DB
|
||||
* @since 2023-11-29 11:33:35
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:record')")
|
||||
@ApiOperation("技术模块-今日事务-新增工单记录")
|
||||
@PostMapping("/insertWorkOrderRecord")
|
||||
public R<Void> insertWorkOrderRecord(@RequestBody @Validated
|
||||
TaskWorkOrderRecordBo bo) {
|
||||
TaskWorkOrderRecordBo bo) {
|
||||
//是否是第一个
|
||||
taskWorkOrderService.whetherReceive(bo.getTaskWorkOrderId());
|
||||
taskWorkOrderService.insertWorkOrderRecord(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务归档-获取任务归档分页
|
||||
* @author DB
|
||||
* @param subject 主体
|
||||
*
|
||||
* @param subject 主体
|
||||
* @param taskContent 任务内容
|
||||
* @author DB
|
||||
* @since 2023-11-30 21:11:47
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:taskArchiving:list')")
|
||||
@ApiOperation("技术模块-任务归档-获取任务归档分页")
|
||||
@GetMapping("/getTaskArchivingPage")
|
||||
public R<Page<TaskArchivingPagVo>> getTaskArchivingPage(@ApiParam(value = "主体")
|
||||
String subject, @ApiParam(value = "任务内容")
|
||||
String taskContent, @RequestParam("isFinish") @ApiParam(value = "是否已归档", required = true)
|
||||
Boolean isFinish) {
|
||||
String subject, @ApiParam(value = "任务内容")
|
||||
String taskContent, @RequestParam("isFinish") @ApiParam(value = "是否已归档", required = true)
|
||||
Boolean isFinish) {
|
||||
Page<TaskArchivingPagVo> page = taskService.getTaskArchivingPage(subject, taskContent, isFinish);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务归档-设置任务归档
|
||||
* @author DB
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @author DB
|
||||
* @since 2023-11-30 21:49:05
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:taskArchiving:update')")
|
||||
@ApiOperation("技术模块-任务归档-设置任务归档")
|
||||
@PutMapping("/setTaskArchiving/{taskId}")
|
||||
public R<Void> setTaskArchiving(@PathVariable @ApiParam("任务id")
|
||||
String taskId) {
|
||||
String taskId) {
|
||||
taskService.setTaskArchiving(taskId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-获取领取任务分页
|
||||
*
|
||||
* @param subject 主体
|
||||
* @param taskContent 任务内容
|
||||
* @param taskGetStatus 任务领取状态(0:待领取;1:待评估;10:审核不通过)
|
||||
* @author DB
|
||||
* @param subject 主体
|
||||
* @param taskContent 任务内容
|
||||
* @param toBeEvaluated 是否待评估
|
||||
* @since 2023-11-30 22:21:58
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:list')")
|
||||
@ApiOperation("技术模块-任务领取-获取领取任务分页")
|
||||
@GetMapping("/getToBeClaimedPage")
|
||||
public R<Page<TaskToBeClaimedPageVo>> getToBeClaimedPage(@ApiParam(value = "主体")
|
||||
String subject, @ApiParam(value = "任务内容")
|
||||
String taskContent, @RequestParam("toBeEvaluated") @ApiParam(value = "是否待评估", required = true)
|
||||
Boolean toBeEvaluated) {
|
||||
Page<TaskToBeClaimedPageVo> list = taskService.getToBeClaimedPage(subject, taskContent, toBeEvaluated);
|
||||
String subject, @ApiParam(value = "任务内容")
|
||||
String taskContent, @RequestParam("taskGetStatus") @ApiParam(value = "任务领取状态(0:待领取;1:待评估;2:审核不通过)", required = true)
|
||||
Integer taskGetStatus) {
|
||||
Page<TaskToBeClaimedPageVo> list = taskService.getToBeClaimedPage(subject, taskContent, taskGetStatus);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-新增迭代任务
|
||||
* @author DB
|
||||
*
|
||||
* @param bo 请求
|
||||
* @author DB
|
||||
* @since 2023-12-01 09:45:08
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:iterateTask:insert')")
|
||||
@ApiOperation("技术模块-任务领取-新增迭代任务")
|
||||
@PostMapping("/insertIterationTask")
|
||||
public R<Void> insertIterationTask(@RequestBody @Validated
|
||||
TaskIterationBo bo) {
|
||||
TaskIterationBo bo) {
|
||||
taskService.insertIterationTask(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-技术人员领取任务
|
||||
* @author DB
|
||||
*
|
||||
* @param id 任务id
|
||||
* @author DB
|
||||
* @since 2023-12-01 10:15:28
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:iterateTask:update')")
|
||||
@ApiOperation("技术模块-任务领取-技术人员领取任务")
|
||||
@PutMapping("/claimTask/{id}")
|
||||
public R<Void> claimTask(@PathVariable @ApiParam("任务id")
|
||||
String id) {
|
||||
String id) {
|
||||
taskService.claimTask(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-任务审核
|
||||
* @author DB
|
||||
*
|
||||
* @param bo 请求参数
|
||||
* @author DB
|
||||
* @since 2023-12-01 10:35:31
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:taskAudit:update')")
|
||||
@ApiOperation("技术模块-任务领取-任务审核")
|
||||
@PutMapping("/setTaskAuditComments")
|
||||
public R<Void> setTaskAuditComments(@RequestBody @Validated
|
||||
TaskAuditCommentsBo bo) {
|
||||
TaskAuditCommentsBo bo) {
|
||||
taskService.setTaskAuditComments(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 删除任务
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/19 18:03
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:remove')")
|
||||
@ApiOperation("删除任务")
|
||||
@DeleteMapping("/removeTask/{id}")
|
||||
public R<Void> removeTask(@PathVariable
|
||||
String id) {
|
||||
taskService.removeById(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-个人任务分页列表
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
* 技术模块-今日事务-个人任务分页列表
|
||||
*
|
||||
* @return R<Page < PersonTaskPageVo>>
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:list')")
|
||||
@ApiOperation("个人任务分页列表")
|
||||
@ApiOperation("技术模块-今日事务-个人任务分页列表")
|
||||
@GetMapping("/getPersonTaskPage")
|
||||
public R<Page<PersonTaskPageVo>> getPersonTaskPage(PersonTaskPageBo bo) {
|
||||
Page<PersonTaskPageVo> list = taskService.getPersonTaskPage(bo);
|
||||
public R<Page<PersonTaskPageVo>> getPersonTaskPage() {
|
||||
Page<PersonTaskPageVo> list = taskService.getPersonTaskPage();
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-任务成员组列表
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
@ApiOperation("任务成员组列表")
|
||||
@GetMapping("/getTaskStaffGroupList")
|
||||
public R<List<TaskStaffGroupVo>> getTaskStaffGroupList(@Validated
|
||||
TaskStaffGroupListBo bo) {
|
||||
List<TaskStaffGroupVo> list = taskStaffGroupService.getTaskStaffGroupList(bo);
|
||||
* 技术模块-今日事务-任务成员组列表
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return R<List < TaskStaffGroupVo>>
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@ApiOperation("技术模块-今日事务-任务成员组列表")
|
||||
@GetMapping("/getTaskStaffGroupList/{taskId}")
|
||||
public R<List<TaskStaffGroupVo>> getTaskStaffGroupList(@PathVariable String taskId) {
|
||||
List<TaskStaffGroupVo> list = taskStaffGroupService.getTaskStaffGroupList(taskId);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询技术员工列表
|
||||
* @return: R<PageVo<StaffPageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 17:50
|
||||
**/
|
||||
@ApiOperation("查询技术员工列表")
|
||||
* 技术模块-今日事务-查询技术员工列表
|
||||
*
|
||||
* @return R<List < StaffVo>>
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@ApiOperation("技术模块-今日事务-查询技术员工列表")
|
||||
@GetMapping("/getTechnologyStaffList")
|
||||
public R<List<StaffVo>> getTechnologyStaffList() {
|
||||
List<StaffVo> list = staffService.getTechnologyStaffList();
|
||||
@ -239,83 +238,89 @@ public class TaskTechnologyController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 新增任务员工组
|
||||
* 技术模块-今日事务-新增任务小组成员
|
||||
*
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:58
|
||||
**/
|
||||
@ApiOperation("新增任务小组成员")
|
||||
* @return R<Void>
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@ApiOperation("技术模块-今日事务-新增任务小组成员")
|
||||
@PostMapping("/insertTaskStaffGroup")
|
||||
public R<Void> insertTaskStaffGroup(@RequestBody @Validated
|
||||
TaskStaffGroupBo bo) {
|
||||
TaskStaffGroupBo bo) {
|
||||
taskStaffGroupService.insertTaskStaffGroup(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改员工任务绩点
|
||||
* 技术模块-今日事务-修改任务负责人
|
||||
*
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 11:48
|
||||
**/
|
||||
@ApiOperation("修改员工任务绩点")
|
||||
@PutMapping("/updateStaffGradePoint")
|
||||
public R<Void> updateStaffGradePoint(@RequestBody @Validated
|
||||
TaskStaffGroupBo bo) {
|
||||
taskStaffGroupService.updateStaffGradePoint(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 删除成员组
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:18
|
||||
**/
|
||||
@ApiOperation("删除成员组")
|
||||
@DeleteMapping("/removeTaskStaffGroup/{id}")
|
||||
public R<Void> removeTaskStaffGroup(@PathVariable
|
||||
String id) {
|
||||
taskStaffGroupService.removeTaskStaffGroupById(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改任务进度
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:58
|
||||
**/
|
||||
@ApiOperation("修改任务进度")
|
||||
@PutMapping("/updateTaskItem")
|
||||
public R<Void> updateTaskItem(@RequestBody @Validated
|
||||
TaskItemBo bo) {
|
||||
taskService.updateTaskItem(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改任务负责人
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:58
|
||||
**/
|
||||
@ApiOperation("修改任务负责人")
|
||||
* @return R<Void>
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@ApiOperation("技术模块-今日事务-修改任务负责人")
|
||||
@PutMapping("/updateTaskResponsibleStaff")
|
||||
public R<Void> updateTaskResponsibleStaff(@RequestBody @Validated
|
||||
TransferTaskBo bo) {
|
||||
TransferTaskBo bo) {
|
||||
taskService.updateTaskResponsibleStaff(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 完成任务
|
||||
* 技术模块-今日事务-修改员工任务绩点
|
||||
*
|
||||
* @param bo 请求参数
|
||||
* @return R<Void>
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@ApiOperation("技术模块-今日事务-修改员工任务绩点")
|
||||
@PutMapping("/updateStaffGradePoint")
|
||||
public R<Void> updateStaffGradePoint(@RequestBody @Validated
|
||||
TaskStaffGroupBo bo) {
|
||||
taskStaffGroupService.updateStaffGradePoint(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-今日事务-删除成员组
|
||||
*
|
||||
* @param id 任务组id
|
||||
* @return R<Void>
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@ApiOperation("技术模块-今日事务-删除成员组")
|
||||
@DeleteMapping("/removeTaskStaffGroup/{id}")
|
||||
public R<Void> removeTaskStaffGroup(@PathVariable
|
||||
String id) {
|
||||
taskStaffGroupService.removeTaskStaffGroupById(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param bo 请求参数
|
||||
* @Description: 修改任务进度
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:58
|
||||
**/
|
||||
@ApiOperation("技术模块-今日事务-转交任务")
|
||||
@PutMapping("/updateTaskItem")
|
||||
public R<Void> updateTaskItem(@RequestBody @Validated
|
||||
TaskItemBo bo) {
|
||||
taskService.updateTaskItem(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param id 主键
|
||||
* @Description: 完成任务
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/31 16:24
|
||||
@ -324,15 +329,15 @@ public class TaskTechnologyController {
|
||||
@ApiOperation("完成任务")
|
||||
@PutMapping("/finishTask/{id}")
|
||||
public R<Void> finishTask(@PathVariable
|
||||
String id) {
|
||||
String id) {
|
||||
taskService.finishTask(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 获取月度任务统计列表
|
||||
* @param bo 请求参数
|
||||
* @return: R<List<TaskListVo>>
|
||||
* @Description: 获取月度任务统计列表
|
||||
* @return: R<List < TaskListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/15 16:42
|
||||
**/
|
||||
|
||||
@ -64,7 +64,6 @@ public class TaskWorkOrderController {
|
||||
* 工单模块-工单提交-获取当天值班人员
|
||||
* @author DB
|
||||
* @since 2023-11-29 14:01:03
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:list')")
|
||||
@ApiOperation("工单模块-工单提交-获取当天值班人员")
|
||||
@ -78,7 +77,6 @@ public class TaskWorkOrderController {
|
||||
* 工单模块-工单提交-已办结分页列表
|
||||
* @author DB
|
||||
* @since 2023-11-29 14:35:08
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:list')")
|
||||
@ApiOperation("工单模块-工单提交-已办结分页列表")
|
||||
@ -109,7 +107,6 @@ public class TaskWorkOrderController {
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 11:25:28
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:record')")
|
||||
@ApiOperation("工单模块-工单提交-工单记录列表")
|
||||
@ -125,7 +122,6 @@ public class TaskWorkOrderController {
|
||||
* @author DB
|
||||
* @param bo 请求参数
|
||||
* @since 2023-11-29 11:33:35
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:record')")
|
||||
@ApiOperation("工单模块-工单提交-新增工单记录")
|
||||
@ -141,7 +137,6 @@ public class TaskWorkOrderController {
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 11:41:46
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:record')")
|
||||
@ApiOperation("工单模块-工单提交-工单提醒")
|
||||
@ -157,7 +152,6 @@ public class TaskWorkOrderController {
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 12:30:21
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Deprecated
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:update')")
|
||||
@ -174,7 +168,6 @@ public class TaskWorkOrderController {
|
||||
* @author DB
|
||||
* @param bo 请求参数
|
||||
* @since 2023-11-29 16:00:18
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:update')")
|
||||
@ApiOperation("工单模块-工单提交-工单暂停")
|
||||
@ -190,7 +183,6 @@ public class TaskWorkOrderController {
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 15:44:08
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:update')")
|
||||
@ApiOperation("工单模块-工单提交-工单办结")
|
||||
@ -211,8 +203,7 @@ public class TaskWorkOrderController {
|
||||
@GetMapping("/getBrandList")
|
||||
public R<List<BrandListVo>> getBrandList(@ApiParam("品牌名")
|
||||
String brandName) {
|
||||
List<BrandListVo> list =
|
||||
brandService.queryChain().and(BRAND.BRAND_NAME.like(brandName)).listAs(BrandListVo.class);
|
||||
List<BrandListVo> list = brandService.queryChain().and(BRAND.BRAND_NAME.like(brandName)).listAs(BrandListVo.class);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ public class Task extends BaseEntity implements Serializable {
|
||||
private String responsibleStaffId;
|
||||
|
||||
/**
|
||||
* 任务状态(-1:失败;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;5:暂停;6:逾期完成;7:接收超时;8:待部署;9:待归档)
|
||||
* 任务状态(-1:失败;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;5:暂停;6:逾期完成;7:接收超时;8:待部署;9:待归档;10:审核不通过)
|
||||
*/
|
||||
private Integer taskStatus;
|
||||
|
||||
|
||||
@ -105,20 +105,11 @@ public interface StaffService extends IService<Staff> {
|
||||
List<StaffVo> getServiceStaffList();
|
||||
|
||||
/**
|
||||
* @Description: 查询技术员工列表
|
||||
* @return: R<PageVo<StaffPageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 17:50
|
||||
**/
|
||||
* 技术模块-今日事务-查询技术员工列表
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @return List<StaffVo>
|
||||
*/
|
||||
List<StaffVo> getTechnologyStaffList();
|
||||
|
||||
/**
|
||||
* @descriptions 创建企业微信用户
|
||||
* @author DB
|
||||
* @date 2023/10/13 14:31
|
||||
* @param wxMessage 企业微信用户信息
|
||||
* @return: void
|
||||
*/
|
||||
void createWxCpUser(WxCpXmlMessage wxMessage, WxCpService cpService);
|
||||
|
||||
}
|
||||
|
||||
@ -39,10 +39,10 @@ public interface TaskService extends IService<Task> {
|
||||
* @author DB
|
||||
* @param subject 主体
|
||||
* @param taskContent 任务内容
|
||||
* @param toBeEvaluated 是否待评估
|
||||
* @param taskGetStatus 任务领取状态(0:待领取;1:待评估;10:审核不通过)
|
||||
* @since 2023-11-30 22:21:58
|
||||
*/
|
||||
Page<TaskToBeClaimedPageVo> getToBeClaimedPage(String subject, String taskContent, Boolean toBeEvaluated);
|
||||
Page<TaskToBeClaimedPageVo> getToBeClaimedPage(String subject, String taskContent, Integer taskGetStatus);
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-新增迭代任务
|
||||
@ -69,12 +69,12 @@ public interface TaskService extends IService<Task> {
|
||||
void setTaskAuditComments(TaskAuditCommentsBo bo);
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-个人任务分页列表
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
Page<PersonTaskPageVo> getPersonTaskPage(PersonTaskPageBo bo);
|
||||
* 技术模块-今日事务-个人任务分页列表
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @return Page<PersonTaskPageVo>
|
||||
*/
|
||||
Page<PersonTaskPageVo> getPersonTaskPage();
|
||||
|
||||
/**
|
||||
* @Description: 修改任务进度
|
||||
@ -86,12 +86,11 @@ public interface TaskService extends IService<Task> {
|
||||
void updateTaskItem(TaskItemBo bo);
|
||||
|
||||
/**
|
||||
* @Description: 修改任务负责人
|
||||
* 技术模块-今日事务-修改任务负责人
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:58
|
||||
**/
|
||||
*/
|
||||
void updateTaskResponsibleStaff(TransferTaskBo bo);
|
||||
|
||||
/**
|
||||
|
||||
@ -2,7 +2,6 @@ package com.cpop.oam.business.service;
|
||||
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.cpop.oam.business.bo.TaskStaffGroupBo;
|
||||
import com.cpop.oam.business.bo.TaskStaffGroupListBo;
|
||||
import com.cpop.oam.business.entity.TaskStaffGroup;
|
||||
import com.cpop.oam.business.vo.TaskStaffGroupVo;
|
||||
|
||||
@ -17,37 +16,35 @@ import java.util.List;
|
||||
public interface TaskStaffGroupService extends IService<TaskStaffGroup> {
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-任务成员组列表
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
List<TaskStaffGroupVo> getTaskStaffGroupList(TaskStaffGroupListBo bo);
|
||||
* 技术模块-今日事务-任务成员组列
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param taskId 任务id
|
||||
* @return List<TaskStaffGroupVo>
|
||||
*/
|
||||
List<TaskStaffGroupVo> getTaskStaffGroupList(String taskId);
|
||||
|
||||
/**
|
||||
* @Description: 新增任务员工组
|
||||
* 技术模块-今日事务-新增任务小组成员
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:58
|
||||
**/
|
||||
*/
|
||||
void insertTaskStaffGroup(TaskStaffGroupBo bo);
|
||||
|
||||
/**
|
||||
* @Description: 修改员工任务绩点
|
||||
* 技术模块-今日事务-修改员工任务绩点
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 11:48
|
||||
**/
|
||||
*/
|
||||
void updateStaffGradePoint(TaskStaffGroupBo bo);
|
||||
|
||||
/**
|
||||
* @Description: 删除成员组
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:18
|
||||
**/
|
||||
* 技术模块-今日事务-删除成员组
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param id 任务组id
|
||||
*/
|
||||
void removeTaskStaffGroupById(String id);
|
||||
}
|
||||
|
||||
@ -34,7 +34,6 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* 工单模块-工单提交-获取当天值班人员
|
||||
* @author DB
|
||||
* @since 2023-11-29 14:01:03
|
||||
* @version 1.0.0
|
||||
*/
|
||||
WorkOrderDutyVo getWorkOrderDutyStaff();
|
||||
|
||||
@ -42,14 +41,12 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* 工单模块-工单提交-已办结分页列表
|
||||
* @author DB
|
||||
* @since 2023-11-29 14:35:08
|
||||
* @version 1.0.0
|
||||
*/
|
||||
Page<TaskWorkOrderPageVo> finishWorkOrderPage();
|
||||
|
||||
/**
|
||||
* 工单模块-工单提交-新增工单
|
||||
* @param bo 请求参数
|
||||
* @return R<Void>
|
||||
* @author DB
|
||||
* @since 2023/5/30 16:53
|
||||
**/
|
||||
@ -60,7 +57,6 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 11:25:28
|
||||
* @version 1.0.0
|
||||
*/
|
||||
List<TaskWorkOrderRecordListVo> getWorkOrderRecordList(String workOrderId);
|
||||
|
||||
@ -69,7 +65,6 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* @author DB
|
||||
* @param bo 请求参数
|
||||
* @since 2023-11-29 11:33:35
|
||||
* @version 1.0.0
|
||||
*/
|
||||
void insertWorkOrderRecord(TaskWorkOrderRecordBo bo);
|
||||
|
||||
@ -78,7 +73,6 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 11:41:46
|
||||
* @version 1.0.0
|
||||
*/
|
||||
void workOrderRemind(String workOrderId);
|
||||
|
||||
@ -87,7 +81,6 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 12:30:21
|
||||
* @version 1.0.0
|
||||
*/
|
||||
void workOrderToDemand(String workOrderId);
|
||||
|
||||
@ -96,7 +89,6 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* @author DB
|
||||
* @param bo 请求参数
|
||||
* @since 2023-11-29 16:00:18
|
||||
* @version 1.0.0
|
||||
*/
|
||||
void pauseWorkOrder(PauseWorkOrderBo bo);
|
||||
|
||||
@ -105,7 +97,6 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 15:44:08
|
||||
* @version 1.0.0
|
||||
*/
|
||||
void workOrderFinish(String workOrderId);
|
||||
|
||||
@ -115,4 +106,12 @@ public interface TaskWorkOrderService extends IService<TaskWorkOrder> {
|
||||
* @since 2023-11-30 19:41:32
|
||||
*/
|
||||
List<TaskWorkOrderPersonVo> getPersonWorkOrder();
|
||||
|
||||
/**
|
||||
* 是否是第一个接收的技术员工
|
||||
* @param taskWorkOrderId 工单记录id
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
void whetherReceive(String taskWorkOrderId);
|
||||
}
|
||||
|
||||
@ -364,11 +364,11 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询技术员工列表
|
||||
* @return: R<PageVo<StaffPageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 17:50
|
||||
**/
|
||||
* 技术模块-今日事务-查询技术员工列表
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @return List<StaffVo>
|
||||
*/
|
||||
@Override
|
||||
public List<StaffVo> getTechnologyStaffList() {
|
||||
return this.listAs(QueryWrapper.create()
|
||||
@ -381,17 +381,4 @@ public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements
|
||||
StaffVo.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 创建企业微信用户
|
||||
* @author DB
|
||||
* @date 2023/10/13 14:31
|
||||
* @param wxMessage 企业微信用户信息
|
||||
* @return: void
|
||||
*/
|
||||
@Override
|
||||
public void createWxCpUser(WxCpXmlMessage wxMessage, WxCpService cpService) {
|
||||
//TODO:先改造部门
|
||||
//insertStaff(wxCpUserToStaff(wxMessage, cpService));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -44,10 +44,7 @@ import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.time.temporal.TemporalAdjusters;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cpop.oam.business.entity.table.StaffTableDef.STAFF;
|
||||
@ -55,6 +52,7 @@ import static com.cpop.oam.business.entity.table.TaskDemandTableDef.TASK_DEMAND;
|
||||
import static com.cpop.oam.business.entity.table.TaskStaffGroupTableDef.TASK_STAFF_GROUP;
|
||||
import static com.cpop.oam.business.entity.table.TaskTableDef.TASK;
|
||||
import static com.mybatisflex.core.query.QueryMethods.groupConcat;
|
||||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
@ -68,9 +66,10 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
|
||||
/**
|
||||
* 技术模块-任务归档-获取任务归档分页
|
||||
* @author DB
|
||||
* @param subject 品主体牌名
|
||||
*
|
||||
* @param subject 品主体牌名
|
||||
* @param taskContent 任务内容
|
||||
* @author DB
|
||||
* @since 2023-11-30 21:11:47
|
||||
*/
|
||||
@Override
|
||||
@ -79,105 +78,108 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||
PageDomain pageDomain = SqlUtils.getInstance().getPageDomain();
|
||||
return this.mapper.paginateAs(Page.of(pageDomain.getPageNum(), pageDomain.getPageSize()),
|
||||
QueryWrapper.create()
|
||||
.select(TASK.ID,
|
||||
TASK.RESPONSIBLE_STAFF_ID,
|
||||
TASK.TASK_CONTENT,
|
||||
TASK.TASK_RATING,
|
||||
TASK.TASK_RECEIPT_TIME,
|
||||
TASK.TEST_TO_FINISH_URL,
|
||||
TASK.TO_TEST_TIME,
|
||||
TASK.TO_FINISH_TIME,
|
||||
TASK.SUBJECT)
|
||||
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
||||
.from(TASK)
|
||||
.leftJoin(TASK_STAFF_GROUP)
|
||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK_STAFF_GROUP.STAFF_ID.eq(loginUserInfo.getString("id")))
|
||||
.and(TASK.TASK_STATUS.eq(isFinish ? 8 : 9).and(TASK.TASK_CONTENT.like(taskContent)))
|
||||
.and(TASK.SUBJECT.like(subject)),
|
||||
TaskArchivingPagVo.class,
|
||||
// 负责人
|
||||
item -> item.field(TaskArchivingPagVo::getResponsibleStaffName)
|
||||
.queryWrapper(
|
||||
recordStaff -> queryChain().select(STAFF.NAME.as(TaskArchivingPagVo::getResponsibleStaffName))
|
||||
.from(STAFF)
|
||||
.where(STAFF.ID.eq(recordStaff.getResponsibleStaffId()))),
|
||||
// 小组成员
|
||||
item -> item.field(TaskArchivingPagVo::getTaskGroupStaffs)
|
||||
.queryWrapper(taskGroupStaffs -> queryChain()
|
||||
.select(groupConcat(STAFF.NAME).as(TaskArchivingPagVo::getTaskGroupStaffs))
|
||||
.from(STAFF)
|
||||
.leftJoin(TASK_STAFF_GROUP)
|
||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK_STAFF_GROUP.STAFF_ID.eq(taskGroupStaffs.getId()))
|
||||
.groupBy(TASK.ID)));
|
||||
QueryWrapper.create()
|
||||
.select(TASK.ID,
|
||||
TASK.RESPONSIBLE_STAFF_ID,
|
||||
TASK.TASK_CONTENT,
|
||||
TASK.TASK_RATING,
|
||||
TASK.TASK_RECEIPT_TIME,
|
||||
TASK.TEST_TO_FINISH_URL,
|
||||
TASK.TO_TEST_TIME,
|
||||
TASK.TO_FINISH_TIME,
|
||||
TASK.SUBJECT)
|
||||
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
||||
.from(TASK)
|
||||
.leftJoin(TASK_STAFF_GROUP)
|
||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK_STAFF_GROUP.STAFF_ID.eq(loginUserInfo.getString("id")))
|
||||
.and(TASK.TASK_STATUS.eq(isFinish ? 8 : 9).and(TASK.TASK_CONTENT.like(taskContent)))
|
||||
.and(TASK.SUBJECT.like(subject)),
|
||||
TaskArchivingPagVo.class,
|
||||
// 负责人
|
||||
item -> item.field(TaskArchivingPagVo::getResponsibleStaffName)
|
||||
.queryWrapper(
|
||||
recordStaff -> queryChain().select(STAFF.NAME.as(TaskArchivingPagVo::getResponsibleStaffName))
|
||||
.from(STAFF)
|
||||
.where(STAFF.ID.eq(recordStaff.getResponsibleStaffId()))),
|
||||
// 小组成员
|
||||
item -> item.field(TaskArchivingPagVo::getTaskGroupStaffs)
|
||||
.queryWrapper(taskGroupStaffs -> queryChain()
|
||||
.select(groupConcat(STAFF.NAME).as(TaskArchivingPagVo::getTaskGroupStaffs))
|
||||
.from(STAFF)
|
||||
.leftJoin(TASK_STAFF_GROUP)
|
||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK_STAFF_GROUP.STAFF_ID.eq(taskGroupStaffs.getId()))
|
||||
.groupBy(TASK.ID)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务归档-设置任务归档
|
||||
* @author DB
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @author DB
|
||||
* @since 2023-11-30 21:49:05
|
||||
*/
|
||||
@Override
|
||||
public void setTaskArchiving(String taskId) {
|
||||
this.updateChain()
|
||||
.set(TASK.TASK_STATUS, 9)
|
||||
.set(TASK.TO_FINISH_TIME, LocalDateTime.now())
|
||||
.where(TASK.ID.eq(taskId))
|
||||
.update();
|
||||
.set(TASK.TASK_STATUS, 9)
|
||||
.set(TASK.TO_FINISH_TIME, LocalDateTime.now())
|
||||
.where(TASK.ID.eq(taskId))
|
||||
.update();
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-获取领取任务分页
|
||||
*
|
||||
* @param subject 主体
|
||||
* @param taskContent 任务内容
|
||||
* @param taskGetStatus 任务领取状态(0:待领取;1:待评估;10:审核不通过)
|
||||
* @author DB
|
||||
* @param subject 主体
|
||||
* @param taskContent 任务内容
|
||||
* @param toBeEvaluated 是否待评估
|
||||
* @since 2023-11-30 22:21:58
|
||||
*/
|
||||
@Override
|
||||
public Page<TaskToBeClaimedPageVo> getToBeClaimedPage(String subject, String taskContent, Boolean toBeEvaluated) {
|
||||
public Page<TaskToBeClaimedPageVo> getToBeClaimedPage(String subject, String taskContent, Integer taskGetStatus) {
|
||||
// 获取当前员工
|
||||
PageDomain pageDomain = SqlUtils.getInstance().getPageDomain();
|
||||
return this.mapper.paginateAs(Page.of(pageDomain.getPageNum(), pageDomain.getPageSize()),
|
||||
QueryWrapper.create()
|
||||
.select(TASK.ID,
|
||||
TASK.TASK_TYPE,
|
||||
TASK.SUBJECT,
|
||||
TASK.TASK_CONTENT,
|
||||
TASK.ATTACHMENT_URL,
|
||||
TASK.TASK_RATING,
|
||||
TASK.CREATE_TIME)
|
||||
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
||||
.from(TASK)
|
||||
.leftJoin(TASK_STAFF_GROUP)
|
||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK.TASK_STATUS.eq(toBeEvaluated ? 0 : 1))
|
||||
.and(TASK.TASK_CONTENT.like(taskContent))
|
||||
.and(TASK.SUBJECT.like(subject))
|
||||
.orderBy(TASK.IS_URGENT.desc(), TASK.CREATE_TIME.desc()),
|
||||
TaskToBeClaimedPageVo.class,
|
||||
// 对接人
|
||||
item -> item.field(TaskToBeClaimedPageVo::getDockingStaff).queryWrapper(dockingStaff -> {
|
||||
if (dockingStaff.getTaskType() == 1) {
|
||||
return queryChain().select(STAFF.NAME.as(TaskToBeClaimedPageVo::getDockingStaff))
|
||||
.select(STAFF.NAME)
|
||||
.from(STAFF)
|
||||
.leftJoin(TASK_DEMAND)
|
||||
.on(TASK_DEMAND.RECORD_STAFF_ID.eq(STAFF.ID))
|
||||
.where(TASK_DEMAND.TASK_ID.eq(dockingStaff.getId()));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}));
|
||||
QueryWrapper.create()
|
||||
.select(TASK.ID,
|
||||
TASK.TASK_TYPE,
|
||||
TASK.SUBJECT,
|
||||
TASK.TASK_CONTENT,
|
||||
TASK.ATTACHMENT_URL,
|
||||
TASK.TASK_RATING,
|
||||
TASK.CREATE_TIME)
|
||||
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
||||
.from(TASK)
|
||||
.leftJoin(TASK_STAFF_GROUP)
|
||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK.TASK_STATUS.eq(taskGetStatus))
|
||||
.and(TASK.TASK_CONTENT.like(taskContent))
|
||||
.and(TASK.SUBJECT.like(subject))
|
||||
.orderBy(TASK.IS_URGENT.desc(), TASK.CREATE_TIME.desc()),
|
||||
TaskToBeClaimedPageVo.class,
|
||||
// 对接人
|
||||
item -> item.field(TaskToBeClaimedPageVo::getDockingStaff).queryWrapper(dockingStaff -> {
|
||||
if (dockingStaff.getTaskType() == 1) {
|
||||
return queryChain().select(STAFF.NAME.as(TaskToBeClaimedPageVo::getDockingStaff))
|
||||
.select(STAFF.NAME)
|
||||
.from(STAFF)
|
||||
.leftJoin(TASK_DEMAND)
|
||||
.on(TASK_DEMAND.RECORD_STAFF_ID.eq(STAFF.ID))
|
||||
.where(TASK_DEMAND.TASK_ID.eq(dockingStaff.getId()));
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-新增迭代任务
|
||||
* @author DB
|
||||
*
|
||||
* @param bo 请求
|
||||
* @author DB
|
||||
* @since 2023-12-01 09:45:08
|
||||
*/
|
||||
@Override
|
||||
@ -202,10 +204,10 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
phoneList.add(auditStaffPhone);
|
||||
try {
|
||||
SpringUtils.getBean(WebHookSendHandler.class)
|
||||
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||
phoneList,
|
||||
"==========您有一条新的迭代任务需要审核==========" + "\n" + entity.getTaskContent(),
|
||||
false);
|
||||
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||
phoneList,
|
||||
"==========您有一条新的迭代任务需要审核==========" + "\n" + entity.getTaskContent(),
|
||||
false);
|
||||
} catch (IOException e) {
|
||||
throw new ServiceException("发送迭代任务通知失败!");
|
||||
}
|
||||
@ -213,8 +215,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-技术人员领取任务
|
||||
* @author DB
|
||||
*
|
||||
* @param id 任务id
|
||||
* @author DB
|
||||
* @since 2023-12-01 10:15:28
|
||||
*/
|
||||
@Override
|
||||
@ -257,11 +260,11 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
}
|
||||
}
|
||||
// 获取当前用户
|
||||
LoginUser loginUser = SecurityUtils.getInstance().getLoginUser();
|
||||
if (!Constants.SUPER_ADMIN.equals(loginUser.getUsername())) {
|
||||
JSONObject loginUser = SecurityUtils.getInstance().getLoginUserInfo();
|
||||
if (!Constants.SUPER_ADMIN.equals(loginUser.getString("userName"))) {
|
||||
// 获取当前员工
|
||||
Staff staff = SpringUtils.getBean(StaffService.class)
|
||||
.getOne(QueryWrapper.create().where(STAFF.USER_ID.eq(loginUser.getUserId())));
|
||||
.getOne(QueryWrapper.create().where(STAFF.USER_ID.eq(loginUser.getString("userId"))));
|
||||
task.setResponsibleStaffId(staff.getId());
|
||||
}
|
||||
this.updateById(task);
|
||||
@ -290,78 +293,82 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
}
|
||||
taskStaffGroup.setStaffId(task.getResponsibleStaffId()).setTaskId(id).setGradePoint(taskRatingPoint);
|
||||
SpringUtils.getBean(TaskStaffGroupService.class).save(taskStaffGroup);
|
||||
// 通知所有人
|
||||
try {
|
||||
SpringUtils.getBean(WebHookSendHandler.class)
|
||||
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||
Collections.singletonList(loginUser.getString("phoneNumber")),
|
||||
"==========任务领取==========" + "\n" + task.getTaskContent(),
|
||||
false);
|
||||
} catch (IOException e) {
|
||||
throw new ServiceException("发送任务领取通知失败!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 技术模块-任务领取-任务审核
|
||||
* @author DB
|
||||
*
|
||||
* @param bo 请求参数
|
||||
* @author DB
|
||||
* @since 2023-12-01 10:35:31
|
||||
*/
|
||||
@Override
|
||||
public void setTaskAuditComments(TaskAuditCommentsBo bo) {
|
||||
Task entity = BeanUtils.mapToClass(bo, Task.class);
|
||||
entity.setTaskStatus(1);
|
||||
this.updateById(entity);
|
||||
// 通知所有人
|
||||
try {
|
||||
SpringUtils.getBean(WebHookSendHandler.class)
|
||||
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||
new ArrayList<>(),
|
||||
"==========任务审核通过==========" + "\n" + entity.getTaskContent(),
|
||||
true);
|
||||
} catch (IOException e) {
|
||||
throw new ServiceException("发送任务审核通过通知失败!");
|
||||
if (bo.getIsPass()) {
|
||||
entity.setTaskStatus(1);
|
||||
this.updateById(entity);
|
||||
// 通知所有人
|
||||
try {
|
||||
SpringUtils.getBean(WebHookSendHandler.class)
|
||||
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||
new ArrayList<>(),
|
||||
"==========任务审核通过==========" + "\n" + entity.getTaskContent(),
|
||||
true);
|
||||
} catch (IOException e) {
|
||||
throw new ServiceException("发送任务审核通过通知失败!");
|
||||
}
|
||||
} else {
|
||||
entity.setTaskStatus(10);
|
||||
this.updateById(entity);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-个人任务分页列表
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
* 技术模块-今日事务-个人任务分页列表
|
||||
*
|
||||
* @return Page<PersonTaskPageVo>
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@Override
|
||||
public Page<PersonTaskPageVo> getPersonTaskPage(PersonTaskPageBo bo) {
|
||||
// 获取当前登录用户
|
||||
LoginUser loginUser = SecurityUtils.getInstance().getLoginUser();
|
||||
String staffId = null;
|
||||
if (Constants.SUPER_ADMIN.equals(loginUser.getUsername())) {
|
||||
// TODO:超级管理员暂时获取所有任务
|
||||
} else {
|
||||
Staff staff = SpringUtils.getBean(StaffService.class)
|
||||
.getOne(QueryWrapper.create().where(STAFF.USER_ID.eq(loginUser.getUserId())));
|
||||
staffId = staff.getId();
|
||||
}
|
||||
// 任务状态
|
||||
QueryWrapper queryWrapper = QueryWrapper.create();
|
||||
if (null != bo.getTaskStatus()) {
|
||||
queryWrapper.and(TASK.TASK_STATUS.in(3, 6));
|
||||
} else {
|
||||
// 只查询接受与已逾期的任务
|
||||
queryWrapper.and(TASK.TASK_STATUS.in(2, 4));
|
||||
}
|
||||
public Page<PersonTaskPageVo> getPersonTaskPage() {
|
||||
PageDomain pageDomain = SqlUtils.getInstance().getPageDomain();
|
||||
return this.mapper.paginateAs(pageDomain.getPageNum(),
|
||||
pageDomain.getPageSize(),
|
||||
queryWrapper.select(TASK.ALL_COLUMNS)
|
||||
.select(STAFF.NAME.as(PersonTaskPageVo::getResponsibleStaffName))
|
||||
.from(TASK)
|
||||
// 员工表
|
||||
.leftJoin(STAFF)
|
||||
.on(STAFF.ID.eq(TASK.RESPONSIBLE_STAFF_ID))
|
||||
// 任务员工组
|
||||
.leftJoin(TASK_STAFF_GROUP)
|
||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK.TASK_TYPE.in(0, 1))
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(staffId))
|
||||
.orderBy(TASK.EXPECTED_COMPLETION_DATE.asc()),
|
||||
PersonTaskPageVo.class);
|
||||
pageDomain.getPageSize(),
|
||||
QueryWrapper.create()
|
||||
.select(TASK.ID, TASK.TASK_STATUS, TASK.TASK_CONTENT, TASK.TASK_ITEM, TASK.TASK_RATING, TASK.TASK_RECEIPT_TIME, TASK.EXPECTED_COMPLETION_DATE)
|
||||
.select(STAFF.NAME.as(PersonTaskPageVo::getResponsibleStaffName))
|
||||
//个人绩点
|
||||
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
||||
.from(TASK)
|
||||
// 员工表
|
||||
.leftJoin(STAFF)
|
||||
.on(STAFF.ID.eq(TASK.RESPONSIBLE_STAFF_ID))
|
||||
// 任务员工组
|
||||
.leftJoin(TASK_STAFF_GROUP)
|
||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK.TASK_TYPE.in(0, 1))
|
||||
//进行中与已完成的任务
|
||||
.and(TASK.TASK_STATUS.in(2, 3, 4, 6))
|
||||
.and(STAFF.ID.eq(SecurityUtils.getInstance().getLoginUserInfo().getString("id")))
|
||||
.orderBy(TASK.EXPECTED_COMPLETION_DATE.asc()),
|
||||
PersonTaskPageVo.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改任务进度
|
||||
* @param bo 请求参数
|
||||
* @Description: 修改任务进度
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:58
|
||||
@ -373,50 +380,50 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改任务负责人
|
||||
* 技术模块-今日事务-修改任务负责人
|
||||
*
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:58
|
||||
**/
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@Override
|
||||
public void updateTaskResponsibleStaff(TransferTaskBo bo) {
|
||||
isTaskResponsibleStaff(bo.getId());
|
||||
// 新负责人在不在任务组内
|
||||
TaskStaffGroupService taskStaffGroupService = SpringUtils.getBean(TaskStaffGroupService.class);
|
||||
long count = taskStaffGroupService.count(QueryWrapper.create()
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(bo.getId()))
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(bo.getNewResponsibleStaffId())));
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(bo.getId()))
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(bo.getNewResponsibleStaffId())));
|
||||
// 获取旧员工绩点
|
||||
TaskStaffGroup oldStaffGroup = taskStaffGroupService.getOne(QueryWrapper.create()
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(bo.getId()))
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(bo.getResponsibleStaffId())));
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(bo.getId()))
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(bo.getResponsibleStaffId())));
|
||||
if (count == 0) {
|
||||
// 不在
|
||||
TaskStaffGroup taskStaffGroup = new TaskStaffGroup();
|
||||
taskStaffGroup.setStaffId(bo.getNewResponsibleStaffId())
|
||||
.setTaskId(bo.getId())
|
||||
.setGradePoint(oldStaffGroup.getGradePoint());
|
||||
.setTaskId(bo.getId())
|
||||
.setGradePoint(oldStaffGroup.getGradePoint());
|
||||
taskStaffGroupService.save(taskStaffGroup);
|
||||
} else {
|
||||
// 在,直接添加绩点
|
||||
TaskStaffGroup newStaffGroup = taskStaffGroupService.getOne(QueryWrapper.create()
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(bo.getId()))
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(bo.getNewResponsibleStaffId())));
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(bo.getId()))
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(bo.getNewResponsibleStaffId())));
|
||||
newStaffGroup.setGradePoint(newStaffGroup.getGradePoint() + oldStaffGroup.getGradePoint());
|
||||
taskStaffGroupService.updateById(newStaffGroup);
|
||||
}
|
||||
taskStaffGroupService.removeById(oldStaffGroup.getId());
|
||||
// 替换任务负责人
|
||||
this.updateChain()
|
||||
.set(TASK.RESPONSIBLE_STAFF_ID, bo.getNewResponsibleStaffId())
|
||||
.where(TASK.ID.eq(bo.getId()))
|
||||
.update();
|
||||
.set(TASK.RESPONSIBLE_STAFF_ID, bo.getNewResponsibleStaffId())
|
||||
.where(TASK.ID.eq(bo.getId()))
|
||||
.update();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 是否是任务主要负责员工
|
||||
* @param taskId 任务id
|
||||
* @Description: 是否是任务主要负责员工
|
||||
* @return: Boolean
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 9:48
|
||||
@ -436,8 +443,8 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 完成任务
|
||||
* @param id 主键
|
||||
* @Description: 完成任务
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/31 16:24
|
||||
@ -467,9 +474,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 获取月度任务统计列表
|
||||
* @param bo 请求参数
|
||||
* @return: R<List<TaskListVo>>
|
||||
* @Description: 获取月度任务统计列表
|
||||
* @return: R<List < TaskListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/15 16:42
|
||||
**/
|
||||
@ -480,16 +487,14 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
// 读取员工信息
|
||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||
QueryWrapper queryWrapper = QueryWrapper.create();
|
||||
if (Constants.SUPER_ADMIN.equals(loginUserInfo.getString("userName"))) {
|
||||
// TODO:超级管理员暂时获取所有任务
|
||||
} else {
|
||||
if (!Constants.SUPER_ADMIN.equals(loginUserInfo.getString("userName"))) {
|
||||
// 查询个人涉及到的任务
|
||||
TaskStaffGroupService taskStaffGroupService = SpringUtils.getBean(TaskStaffGroupService.class);
|
||||
taskStaffGroups = taskStaffGroupService
|
||||
.list(QueryWrapper.create().where(TASK_STAFF_GROUP.STAFF_ID.eq(loginUserInfo.getString("id"))));
|
||||
.list(QueryWrapper.create().where(TASK_STAFF_GROUP.STAFF_ID.eq(loginUserInfo.getString("id"))));
|
||||
if (!taskStaffGroups.isEmpty()) {
|
||||
queryWrapper.and(
|
||||
TASK.ID.in(taskStaffGroups.stream().map(TaskStaffGroup::getTaskId).collect(Collectors.toSet())));
|
||||
TASK.ID.in(taskStaffGroups.stream().map(TaskStaffGroup::getTaskId).collect(Collectors.toSet())));
|
||||
}
|
||||
if (taskStaffGroups.isEmpty()) {
|
||||
return new TaskMonthStatisticsVo();
|
||||
@ -508,8 +513,8 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
firstDay = now.with(TemporalAdjusters.firstDayOfMonth());
|
||||
}
|
||||
List<Task> taskList = this.list(queryWrapper.select(TASK.ALL_COLUMNS)
|
||||
.and(TASK.EXPECTED_COMPLETION_DATE.ge(firstDay))
|
||||
.orderBy(TASK.EXPECTED_COMPLETION_DATE.asc()));
|
||||
.and(TASK.EXPECTED_COMPLETION_DATE.ge(firstDay))
|
||||
.orderBy(TASK.EXPECTED_COMPLETION_DATE.asc()));
|
||||
if (taskList.isEmpty()) {
|
||||
return new TaskMonthStatisticsVo();
|
||||
}
|
||||
@ -524,7 +529,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
* @Date: 2023/5/15 17:54
|
||||
**/
|
||||
private TaskMonthStatisticsVo buildMonthTaskStatistics(List<Task> taskList, TaskMonthStatisticsBo bo,
|
||||
List<TaskStaffGroup> taskStaffGroups) {
|
||||
List<TaskStaffGroup> taskStaffGroups) {
|
||||
TaskMonthStatisticsVo statisticsVo = new TaskMonthStatisticsVo();
|
||||
List<TaskMonthStatisticsVo.DataStatisticsVo> vos = new ArrayList<>();
|
||||
statisticsVo.setVos(vos);
|
||||
@ -533,7 +538,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
statisticsVo.setInProgress(taskList.stream().filter(s -> 2 == s.getTaskStatus()).count());
|
||||
// 已完成
|
||||
Set<String> finishTaskSet =
|
||||
taskList.stream().filter(s -> 3 == s.getTaskStatus()).map(Task::getId).collect(Collectors.toSet());
|
||||
taskList.stream().filter(s -> 3 == s.getTaskStatus()).map(Task::getId).collect(Collectors.toSet());
|
||||
statisticsVo.setHaveCompleted(Long.parseLong(String.valueOf(finishTaskSet.size())));
|
||||
// 已逾期
|
||||
statisticsVo.setOverdue(taskList.stream().filter(s -> 4 == s.getTaskStatus()).count());
|
||||
@ -543,15 +548,15 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
statisticsVo.setOverdueCompletion(taskList.stream().filter(s -> 6 == s.getTaskStatus()).count());
|
||||
// 逾期完成
|
||||
Set<String> overdueCompletionSet =
|
||||
taskList.stream().filter(s -> 6 == s.getTaskStatus()).map(Task::getId).collect(Collectors.toSet());
|
||||
taskList.stream().filter(s -> 6 == s.getTaskStatus()).map(Task::getId).collect(Collectors.toSet());
|
||||
if (null != taskStaffGroups) {
|
||||
// 统计绩点(计算已完成的和逾期完成)
|
||||
Long finishGpa = statisticalGPA(taskStaffGroups.stream()
|
||||
.filter(s -> finishTaskSet.contains(s.getTaskId()))
|
||||
.collect(Collectors.toList()));
|
||||
.filter(s -> finishTaskSet.contains(s.getTaskId()))
|
||||
.collect(Collectors.toList()));
|
||||
Long overdueCompletionGpa = statisticalGPA(taskStaffGroups.stream()
|
||||
.filter(s -> overdueCompletionSet.contains(s.getTaskId()))
|
||||
.collect(Collectors.toList()));
|
||||
.filter(s -> overdueCompletionSet.contains(s.getTaskId()))
|
||||
.collect(Collectors.toList()));
|
||||
statisticsVo.setGpaOfTheMonth(finishGpa + overdueCompletionGpa);
|
||||
}
|
||||
List<Date> allTheDateOfMonth;
|
||||
@ -582,8 +587,8 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 统计绩点
|
||||
* @param taskStaffGroups 绩点列表
|
||||
* @Description: 统计绩点
|
||||
* @return: Long
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 18:24
|
||||
|
||||
@ -14,7 +14,6 @@ import com.cpop.core.service.RedisService;
|
||||
import com.cpop.core.utils.SecurityUtils;
|
||||
import com.cpop.core.utils.SpringUtils;
|
||||
import com.cpop.oam.business.bo.TaskStaffGroupBo;
|
||||
import com.cpop.oam.business.bo.TaskStaffGroupListBo;
|
||||
import com.cpop.oam.business.entity.Task;
|
||||
import com.cpop.oam.business.entity.TaskStaffGroup;
|
||||
import com.cpop.oam.business.mapper.TaskStaffGroupMapper;
|
||||
@ -45,42 +44,38 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
||||
implements TaskStaffGroupService {
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-任务成员组列表
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
* 技术模块-今日事务-任务成员组列
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param taskId 任务id
|
||||
* @return List<TaskStaffGroupVo>
|
||||
*/
|
||||
@Override
|
||||
public List<TaskStaffGroupVo> getTaskStaffGroupList(TaskStaffGroupListBo bo) {
|
||||
public List<TaskStaffGroupVo> getTaskStaffGroupList(String taskId) {
|
||||
return this.listAs(QueryWrapper.create()
|
||||
.select(TASK_STAFF_GROUP.ALL_COLUMNS)
|
||||
.select(STAFF.NAME.as(TaskStaffGroupVo::getStaffName))
|
||||
.from(TASK_STAFF_GROUP)
|
||||
.leftJoin(STAFF)
|
||||
.on(STAFF.ID.eq(TASK_STAFF_GROUP.STAFF_ID))
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(bo.getTaskId())), TaskStaffGroupVo.class);
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(taskId)), TaskStaffGroupVo.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 新增任务员工组
|
||||
* 技术模块-今日事务-新增任务小组成员
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:58
|
||||
**/
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void insertTaskStaffGroup(TaskStaffGroupBo bo) {
|
||||
// 获取任务
|
||||
TaskService taskService = SpringUtils.getBean(TaskService.class);
|
||||
Task task = taskService.getById(bo.getTaskId());
|
||||
// 当前操作员工是否是主要负责人,不是抛出异常
|
||||
LoginUser loginUser = SecurityUtils.getInstance().getLoginUser();
|
||||
// 读取员工信息
|
||||
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
||||
JSONObject cacheObject = redisService.getCacheObject(UserType.OAM_USER.getKey() + loginUser.getUsername());
|
||||
OamStaffLoginInfo loginInfo = cacheObject.getJSONObject("user").toJavaObject(OamStaffLoginInfo.class);
|
||||
if (!StringUtils.equals(task.getResponsibleStaffId(), loginInfo.getId())) {
|
||||
// 当前操作员工是否是主要负责人,不是抛出异常
|
||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||
if (!StringUtils.equals(task.getResponsibleStaffId(), loginUserInfo.getString("id"))) {
|
||||
throw new ServiceException("当前操作员工不是当前任务主要负责人,不允许操作当前任务!");
|
||||
}
|
||||
// 查询当前添加的员工是否存在在此任务中
|
||||
@ -106,16 +101,14 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
||||
this.updateById(responsibleStaff);
|
||||
// 企微通知绩点调整人员
|
||||
List<String> phoneList = new ArrayList<String>();
|
||||
phoneList.add(loginInfo.getPhoneNumber());
|
||||
phoneList.add(loginUserInfo.getString("phoneNumber"));
|
||||
// 获取新增员工信息
|
||||
StaffInfoVo staffInfo = SpringUtils.getBean(StaffService.class).getStaffInfo(bo.getStaffId());
|
||||
phoneList.add(staffInfo.getPhoneNumber());
|
||||
try {
|
||||
SpringUtils.getBean(WebHookSendHandler.class)
|
||||
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||
phoneList,
|
||||
loginInfo.getName() + "您的绩点调整为" + responsibleStaff.getGradePoint() + "\n" + staffInfo.getName()
|
||||
+ "您新加入任务:" + task.getTaskContent() + "绩点为:" + bo.getGradePoint(),
|
||||
SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT, phoneList,
|
||||
loginUserInfo.getString("name") + "您的绩点调整为" + responsibleStaff.getGradePoint() + "\n" + staffInfo.getName()
|
||||
+ "您新加入任务:" + task.getTaskContent() + "绩点为:" + bo.getGradePoint(),
|
||||
false);
|
||||
} catch (IOException e) {
|
||||
throw new ServiceException("发送通知失败!");
|
||||
@ -123,12 +116,11 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改员工任务绩点
|
||||
* 技术模块-今日事务-修改员工任务绩点
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 11:48
|
||||
**/
|
||||
*/
|
||||
@Override
|
||||
public void updateStaffGradePoint(TaskStaffGroupBo bo) {
|
||||
// 获取任务主负责人相关绩点
|
||||
@ -137,13 +129,8 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
||||
if (null == task) {
|
||||
throw new ServiceException("获取任务失败!请联系相关人员!");
|
||||
}
|
||||
// 当前操作员工是否是主要负责人,不是抛出异常
|
||||
LoginUser loginUser = SecurityUtils.getInstance().getLoginUser();
|
||||
// 读取员工信息
|
||||
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
||||
JSONObject cacheObject = redisService.getCacheObject(UserType.OAM_USER.getKey() + loginUser.getUsername());
|
||||
OamStaffLoginInfo loginInfo = cacheObject.getJSONObject("user").toJavaObject(OamStaffLoginInfo.class);
|
||||
if (!StringUtils.equals(task.getResponsibleStaffId(), loginInfo.getId())) {
|
||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||
if (!StringUtils.equals(task.getResponsibleStaffId(), loginUserInfo.getString("id"))) {
|
||||
throw new ServiceException("当前操作员工不是当前任务主要负责人,不允许操作当前任务!");
|
||||
}
|
||||
if (StringUtils.equals(bo.getStaffId(), task.getResponsibleStaffId())) {
|
||||
@ -181,16 +168,14 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
||||
.update();
|
||||
// 企微通知绩点调整人员
|
||||
List<String> phoneList = new ArrayList<String>();
|
||||
phoneList.add(loginInfo.getPhoneNumber());
|
||||
phoneList.add(loginUserInfo.getString("phoneNumber"));
|
||||
// 获取新增员工信息
|
||||
StaffInfoVo staffInfo = SpringUtils.getBean(StaffService.class).getStaffInfo(bo.getStaffId());
|
||||
phoneList.add(staffInfo.getPhoneNumber());
|
||||
try {
|
||||
SpringUtils.getBean(WebHookSendHandler.class)
|
||||
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||
phoneList,
|
||||
loginInfo.getName() + "您的绩点调整为" + responsibleStaffTaskInfo.getGradePoint() + "\n"
|
||||
+ staffInfo.getName() + "您的绩点调整为:" + bo.getGradePoint(),
|
||||
SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT, phoneList,
|
||||
loginUserInfo.getString("name") + "您的绩点调整为" + responsibleStaffTaskInfo.getGradePoint() + "\n"
|
||||
+ staffInfo.getName() + "您的绩点调整为:" + bo.getGradePoint(),
|
||||
false);
|
||||
} catch (IOException e) {
|
||||
throw new ServiceException("发送通知失败!");
|
||||
@ -198,24 +183,19 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 删除成员组
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:18
|
||||
**/
|
||||
* 技术模块-今日事务-删除成员组
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
* @param id 任务组id
|
||||
*/
|
||||
@Override
|
||||
public void removeTaskStaffGroupById(String id) {
|
||||
// 获取任务
|
||||
TaskStaffGroup taskStaffGroup = this.getById(id);
|
||||
TaskService taskService = SpringUtils.getBean(TaskService.class);
|
||||
Task task = taskService.getById(taskStaffGroup.getTaskId());
|
||||
// 当前操作员工是否是主要负责人,不是抛出异常
|
||||
LoginUser loginUser = SecurityUtils.getInstance().getLoginUser();
|
||||
// 读取员工信息
|
||||
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
||||
OamStaffLoginInfo loginInfo = redisService.getCacheObject(UserType.OAM_USER.getKey() + loginUser.getUsername());
|
||||
if (!StringUtils.equals(task.getResponsibleStaffId(), loginInfo.getId())) {
|
||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||
if (!StringUtils.equals(task.getResponsibleStaffId(), loginUserInfo.getString("id"))) {
|
||||
throw new ServiceException("当前操作员工不是当前任务主要负责人,不允许操作当前任务!");
|
||||
}
|
||||
// 不允许删除主要负责人
|
||||
|
||||
@ -172,7 +172,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* 工单模块-工单提交-获取当天值班人员
|
||||
* @author DB
|
||||
* @since 2023-11-29 14:01:03
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Override
|
||||
public WorkOrderDutyVo getWorkOrderDutyStaff() {
|
||||
@ -190,7 +189,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* 工单模块-工单提交-已办结分页列表
|
||||
* @author DB
|
||||
* @since 2023-11-29 14:35:08
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Override
|
||||
public Page<TaskWorkOrderPageVo> finishWorkOrderPage() {
|
||||
@ -215,7 +213,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
/**
|
||||
* 工单模块-工单提交-新增工单
|
||||
* @param bo 请求参数
|
||||
* @return R<Void>
|
||||
* @author DB
|
||||
* @since 2023/5/30 16:53
|
||||
**/
|
||||
@ -233,11 +230,12 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
BeanUtils.copyBeanProp(task, bo);
|
||||
// 默认待接受
|
||||
task.setTaskStatus(1)
|
||||
// 默认开发中
|
||||
.setTaskItem(0)
|
||||
.setTaskWeight(10)
|
||||
// 工单不参与评级
|
||||
.setTaskRating(-1);
|
||||
// 默认开发中
|
||||
.setTaskItem(0)
|
||||
.setTaskWeight(10)
|
||||
// 工单不参与评级
|
||||
.setTaskRating(-1)
|
||||
.setResponsibleStaffId(duty.getTechnologyStaffId());
|
||||
TaskService taskService = SpringUtils.getBean(TaskService.class);
|
||||
taskService.save(task);
|
||||
// 添加工单
|
||||
@ -288,7 +286,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* @param isStart 是否是开始标识
|
||||
* @param dateTime 时间
|
||||
* @since 2023-11-29 10:21:02
|
||||
* @version 1.0.0
|
||||
*/
|
||||
private void startOrRemoveWorkOrderAcceptTask(String workOrderId, Boolean isStart, LocalDateTime dateTime) {
|
||||
// 基于表达式构建触发器
|
||||
@ -329,7 +326,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* @param isUpdate 是否更新
|
||||
* @param dateTime 开始时间
|
||||
* @since 2023-11-29 16:09:02
|
||||
* @version 1.0.0
|
||||
*/
|
||||
private void startOrUpdateWorkOrderOvertimeTask(String workOrderId, Boolean isUpdate, LocalDateTime dateTime) {
|
||||
// 基于表达式构建触发器
|
||||
@ -369,7 +365,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 11:25:28
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Override
|
||||
public List<TaskWorkOrderRecordListVo> getWorkOrderRecordList(String workOrderId) {
|
||||
@ -398,7 +393,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* @author DB
|
||||
* @param bo 请求参数
|
||||
* @since 2023-11-29 11:33:35
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Override
|
||||
public void insertWorkOrderRecord(TaskWorkOrderRecordBo bo) {
|
||||
@ -414,6 +408,7 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
taskWorkOrderRecord.setRecordStaffId(loginUserInfo.getString("id"));
|
||||
// 插入记录
|
||||
SpringUtils.getBean(TaskWorkOrderRecordService.class).save(taskWorkOrderRecord);
|
||||
//没有负责人
|
||||
if (StringUtils.isNotBlank(task.getResponsibleStaffId())) {
|
||||
// 负责人手机号
|
||||
StaffInfoVo responsibleStaff =
|
||||
@ -439,7 +434,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 11:41:46
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Override
|
||||
public void workOrderRemind(String workOrderId) {
|
||||
@ -484,7 +478,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 12:30:21
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Override
|
||||
public void workOrderToDemand(String workOrderId) {
|
||||
@ -512,7 +505,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* @author DB
|
||||
* @param bo 请求参数
|
||||
* @since 2023-11-29 16:00:18
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -562,7 +554,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
* @author DB
|
||||
* @param workOrderId 工单id
|
||||
* @since 2023-11-29 15:44:08
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -678,4 +669,40 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
||||
.where(STAFF.ID.eq(recordStaff.getRecordStaffId()))));
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否是第一个接收的技术员工
|
||||
* @param taskWorkOrderId 工单记录id
|
||||
* @author DB
|
||||
* @since 2023/12/04
|
||||
*/
|
||||
@Override
|
||||
public void whetherReceive(String taskWorkOrderId) {
|
||||
Task task = SpringUtils.getBean(TaskService.class).queryChain()
|
||||
.leftJoin(TASK_WORK_ORDER).on(TASK_WORK_ORDER.TASK_ID.eq(TASK.ID))
|
||||
.where(TASK_WORK_ORDER.ID.eq(taskWorkOrderId)).one();
|
||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||
//判断当前登陆用户是否是当前工单的负责员工
|
||||
if (StringUtils.equals(loginUserInfo.getString("id"),task.getResponsibleStaffId())){
|
||||
//查询负责员工的记录数
|
||||
long count = SpringUtils.getBean(TaskWorkOrderRecordService.class).queryChain()
|
||||
.where(TASK_WORK_ORDER_RECORD.TASK_WORK_ORDER_ID.eq(taskWorkOrderId))
|
||||
.and(TASK_WORK_ORDER_RECORD.RECORD_STAFF_ID.eq(task.getResponsibleStaffId()))
|
||||
.count();
|
||||
//首次记录修改状态
|
||||
if (count == 0){
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
task.setTaskStatus(2).setTaskReceiptTime(now);
|
||||
//获取工单
|
||||
TaskWorkOrder workOrder = this.getById(taskWorkOrderId);
|
||||
int receivingTime = now.compareTo(workOrder.getCreateTime());
|
||||
workOrder.setReceivingTime(receivingTime);
|
||||
this.updateById(workOrder);
|
||||
//删除定时任务
|
||||
startOrRemoveWorkOrderAcceptTask(taskWorkOrderId, false, now);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -29,18 +29,6 @@ public class PersonTaskPageVo implements Serializable {
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务类型(0:迭代;1:需求;2:投诉)
|
||||
*/
|
||||
@ApiModelProperty("任务类型(0:迭代;1:需求;2:投诉)")
|
||||
private Integer taskType;
|
||||
|
||||
/**
|
||||
* 主要负责员工id
|
||||
*/
|
||||
@ApiModelProperty("主要负责员工id")
|
||||
private String responsibleStaffId;
|
||||
|
||||
/**
|
||||
* 主要负责员工名
|
||||
*/
|
||||
@ -50,7 +38,7 @@ public class PersonTaskPageVo implements Serializable {
|
||||
/**
|
||||
* 任务状态(-1:失败;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;)
|
||||
*/
|
||||
@ApiModelProperty("任务状态(-1:失败;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;)")
|
||||
@ApiModelProperty("任务状态(-1:失败;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;5:暂停;6:逾期完成;7:接收超时;8:待部署;9:待归档;10:审核不通过)")
|
||||
private Integer taskStatus;
|
||||
|
||||
/**
|
||||
@ -65,12 +53,6 @@ public class PersonTaskPageVo implements Serializable {
|
||||
@ApiModelProperty("任务内容")
|
||||
private String taskContent;
|
||||
|
||||
/**
|
||||
* 任务权重
|
||||
*/
|
||||
@ApiModelProperty("任务权重")
|
||||
private Integer taskWeight;
|
||||
|
||||
/**
|
||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||
*/
|
||||
@ -78,16 +60,10 @@ public class PersonTaskPageVo implements Serializable {
|
||||
private Integer taskRating;
|
||||
|
||||
/**
|
||||
* 附件地址
|
||||
* 个人任务绩点
|
||||
*/
|
||||
@ApiModelProperty("附件地址")
|
||||
private String attachmentUrl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
@ApiModelProperty("个人任务绩点")
|
||||
private Integer gradePoint;
|
||||
|
||||
/**
|
||||
* 预期完成日期
|
||||
@ -96,13 +72,6 @@ public class PersonTaskPageVo implements Serializable {
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private LocalDate expectedCompletionDate;
|
||||
|
||||
/**
|
||||
* 完成日期
|
||||
*/
|
||||
@ApiModelProperty("完成日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private LocalDate completionDate;
|
||||
|
||||
/**
|
||||
* 任务接收时间
|
||||
*/
|
||||
|
||||
@ -16,9 +16,7 @@ import java.io.Serializable;
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskStaffGroup对象", description = "OAM-任务-关联员工任务组表")
|
||||
public class TaskStaffGroupVo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
public class TaskStaffGroupVo {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
|
||||
@ -31,7 +31,7 @@ public class ContactChangeHandler extends AbstractHandler {
|
||||
//通知处理
|
||||
switch (wxMessage.getChangeType()){
|
||||
case WxCpConstant.CREATE_USER:
|
||||
staffService.createWxCpUser(wxMessage, cpService);
|
||||
//staffService.createWxCpUser(wxMessage, cpService);
|
||||
break;
|
||||
case WxCpConstant.UPDATE_USER:
|
||||
break;
|
||||
|
||||
@ -20,7 +20,6 @@ public class LocationHandler extends AbstractHandler {
|
||||
public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context, WxCpService cpService,
|
||||
WxSessionManager sessionManager) {
|
||||
if (wxMessage.getMsgType().equals(WxConsts.XmlMsgType.LOCATION)) {
|
||||
//TODO 接收处理用户发送的地理位置消息
|
||||
try {
|
||||
String content = "感谢反馈,您的的地理位置已收到!";
|
||||
return new TextBuilder().build(content, wxMessage, null);
|
||||
@ -34,8 +33,6 @@ public class LocationHandler extends AbstractHandler {
|
||||
this.logger.info("\n上报地理位置,纬度 : {}\n经度 : {}\n精度 : {}",
|
||||
wxMessage.getLatitude(), wxMessage.getLongitude(), String.valueOf(wxMessage.getPrecision()));
|
||||
|
||||
//TODO 可以将用户地理位置信息保存到本地数据库,以便以后使用
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -26,10 +26,10 @@ public class MsgHandler extends AbstractHandler {
|
||||
}
|
||||
|
||||
if (!msgType.equals(WxConsts.XmlMsgType.EVENT)) {
|
||||
//TODO 可以选择将消息保存到本地
|
||||
|
||||
}
|
||||
|
||||
//TODO 组装回复消息
|
||||
|
||||
String content = "收到信息内容:" + JsonUtils.toJson(wxMessage);
|
||||
|
||||
return new TextBuilder().build(content, wxMessage, cpService);
|
||||
|
||||
@ -27,7 +27,7 @@ public class SubscribeHandler extends AbstractHandler {
|
||||
WxCpUser userWxInfo = cpService.getUserService().getById(wxMessage.getFromUserName());
|
||||
|
||||
if (userWxInfo != null) {
|
||||
// TODO 可以添加关注用户到本地
|
||||
|
||||
}
|
||||
|
||||
WxCpXmlOutMessage responseResult = null;
|
||||
@ -54,7 +54,7 @@ public class SubscribeHandler extends AbstractHandler {
|
||||
* 处理特殊请求,比如如果是扫码进来的,可以做相应处理
|
||||
*/
|
||||
private WxCpXmlOutMessage handleSpecial(WxCpXmlMessage wxMessage) {
|
||||
//TODO
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -19,7 +19,6 @@ public class UnsubscribeHandler extends AbstractHandler {
|
||||
WxSessionManager sessionManager) {
|
||||
String openId = wxMessage.getFromUserName();
|
||||
this.logger.info("取消关注用户 OPENID: " + openId);
|
||||
// TODO 可以更新本地数据库为取消关注状态
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -38,15 +38,15 @@ public class WorkOrderAcceptOverTimeTask implements Job {
|
||||
// 工单超时为接收,扣除5绩点
|
||||
TaskStaffGroupService taskStaffGroupService = SpringUtils.getBean(TaskStaffGroupService.class);
|
||||
taskStaffGroupService.updateChain()
|
||||
.set(TASK_STAFF_GROUP.GRADE_POINT, -5)
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(task.getId())
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(task.getResponsibleStaffId())));
|
||||
.set(TASK_STAFF_GROUP.GRADE_POINT, -5)
|
||||
.where(TASK_STAFF_GROUP.TASK_ID.eq(task.getId())
|
||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(task.getResponsibleStaffId())));
|
||||
// 更新任务为接收超时
|
||||
taskService.updateChain()
|
||||
.set(TASK.TASK_STATUS, 7)
|
||||
.set(TASK.REMARK, "工单接收超时扣除5绩点 ")
|
||||
.where(TASK.ID.eq(task.getId()))
|
||||
.update();
|
||||
.set(TASK.TASK_STATUS, 7)
|
||||
.set(TASK.REMARK, "工单接收超时扣除5绩点 ")
|
||||
.where(TASK.ID.eq(task.getId()))
|
||||
.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user