测试任务流程-修复bug
This commit is contained in:
parent
dd0948e875
commit
cb3d91202a
@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.SerializerProvider;
|
|||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 序列化时 逗号拼接转数组 "0","1","2" -> ["0","1","2"]
|
* 序列化时 逗号拼接转数组 "0","1","2" -> ["0","1","2"]
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import org.springframework.boot.test.context.SpringBootTest;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
class CpopMallWebApplicationTests {
|
class CpopMallWebApplicationTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|||||||
@ -35,7 +35,7 @@ import java.util.Map;
|
|||||||
* @createTime 2023/11/01 18:15
|
* @createTime 2023/11/01 18:15
|
||||||
* @description 微信支付
|
* @description 微信支付
|
||||||
*/
|
*/
|
||||||
@SpringBootTest
|
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||||
public class CpopWxPayTests {
|
public class CpopWxPayTests {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -63,13 +63,13 @@ public class CpopWxPayTests {
|
|||||||
.setTotal(refund)
|
.setTotal(refund)
|
||||||
.setCurrency("CNY");
|
.setCurrency("CNY");
|
||||||
request.setSubMchid(wxPayService.getConfig().getSubMchId())
|
request.setSubMchid(wxPayService.getConfig().getSubMchId())
|
||||||
.setTransactionId("4200002010202311202693854147")
|
.setTransactionId("4200002028202312069539269015")
|
||||||
.setOutTradeNo("84052505520087040")
|
.setOutTradeNo("89825115260416000")
|
||||||
//.setTransactionId(order.getOutOrderNo())
|
//.setTransactionId(order.getOutOrderNo())
|
||||||
//.setOutTradeNo(order.getId())
|
//.setOutTradeNo(order.getId())
|
||||||
.setNotifyUrl(wxPayProperties.getNotifyRefund())
|
.setNotifyUrl(wxPayProperties.getNotifyRefund())
|
||||||
.setOutRefundNo(IdUtils.fastSimpleUUID())
|
.setOutRefundNo(IdUtils.fastSimpleUUID())
|
||||||
.setSubMchid("1659765332")
|
.setSubMchid("1661807764")
|
||||||
.setReason("接口测试退款")
|
.setReason("接口测试退款")
|
||||||
.setAmount(amount);
|
.setAmount(amount);
|
||||||
WxPayRefundV3Result result = wxPayService.refundV3(request);
|
WxPayRefundV3Result result = wxPayService.refundV3(request);
|
||||||
@ -129,8 +129,8 @@ public class CpopWxPayTests {
|
|||||||
@Test
|
@Test
|
||||||
public void getOrderInfo() throws WxPayException {
|
public void getOrderInfo() throws WxPayException {
|
||||||
WxPayConfig config = wxPayService.getConfig();
|
WxPayConfig config = wxPayService.getConfig();
|
||||||
config.setSubMchId("1659795861");
|
config.setSubMchId("1661807764");
|
||||||
WxPayOrderQueryResult wxPayOrderQueryResult = wxPayService.queryOrder("4200002050202311175292231256", null);
|
WxPayOrderQueryResult wxPayOrderQueryResult = wxPayService.queryOrder("4200002028202312069539269015", null);
|
||||||
System.out.println(wxPayOrderQueryResult);
|
System.out.println(wxPayOrderQueryResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -143,8 +143,8 @@ public class CpopWxPayTests {
|
|||||||
@Test
|
@Test
|
||||||
public void getSharingInfo() throws WxPayException {
|
public void getSharingInfo() throws WxPayException {
|
||||||
ProfitSharingQueryRequest profitSharingQueryRequest = new ProfitSharingQueryRequest();
|
ProfitSharingQueryRequest profitSharingQueryRequest = new ProfitSharingQueryRequest();
|
||||||
profitSharingQueryRequest.setOutOrderNo("84064193241784320").setTransactionId("4200002009202311209353972307");
|
profitSharingQueryRequest.setOutOrderNo("89825238983995392").setTransactionId("4200002028202312069539269015");
|
||||||
profitSharingQueryRequest.setSubMchId("1659765332");
|
profitSharingQueryRequest.setSubMchId("1661807764");
|
||||||
ProfitSharingQueryResult result = wxPayService.getProfitSharingService().profitSharingQuery(profitSharingQueryRequest);
|
ProfitSharingQueryResult result = wxPayService.getProfitSharingService().profitSharingQuery(profitSharingQueryRequest);
|
||||||
System.out.println(result.getResultCode());
|
System.out.println(result.getResultCode());
|
||||||
}
|
}
|
||||||
@ -168,10 +168,10 @@ public class CpopWxPayTests {
|
|||||||
@Test
|
@Test
|
||||||
public void profitSharingFinish() throws WxPayException {
|
public void profitSharingFinish() throws WxPayException {
|
||||||
ProfitSharingFinishRequest profitSharingFinishRequest = new ProfitSharingFinishRequest();
|
ProfitSharingFinishRequest profitSharingFinishRequest = new ProfitSharingFinishRequest();
|
||||||
profitSharingFinishRequest.setTransactionId("4200002010202311202693854147");
|
profitSharingFinishRequest.setTransactionId("4200002028202312069539269015");
|
||||||
profitSharingFinishRequest.setOutOrderNo("84052505520087040");
|
profitSharingFinishRequest.setOutOrderNo("89825115260416000");
|
||||||
profitSharingFinishRequest.setDescription("结束分账");
|
profitSharingFinishRequest.setDescription("结束分账");
|
||||||
profitSharingFinishRequest.setSubMchId("1659765332");
|
profitSharingFinishRequest.setSubMchId("1661807764");
|
||||||
wxPayService.getProfitSharingService().profitSharingFinish(profitSharingFinishRequest);
|
wxPayService.getProfitSharingService().profitSharingFinish(profitSharingFinishRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -38,12 +38,19 @@ public class TaskAuditCommentsBo {
|
|||||||
/**
|
/**
|
||||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
@ApiModelProperty("任务评级")
|
||||||
private Integer taskRating;
|
private String taskRating;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务权重
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("任务权重(任务绩点)")
|
||||||
|
private Integer taskWeight;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注(不通过时可以写入备注)
|
* 备注(不通过时可以写入备注)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("备注(不通过时可以写入备注)")
|
@ApiModelProperty("备注(不通过时可以写入备注)")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package com.cpop.oam.business.bo;
|
package com.cpop.oam.business.bo;
|
||||||
|
|
||||||
|
import com.cpop.core.annontation.StringArrayConvert;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -37,6 +38,7 @@ public class TaskItemBo {
|
|||||||
/**
|
/**
|
||||||
* 测试转部署文件路径
|
* 测试转部署文件路径
|
||||||
*/
|
*/
|
||||||
|
@StringArrayConvert
|
||||||
@ApiModelProperty(value = "测试转部署文件路径")
|
@ApiModelProperty(value = "测试转部署文件路径")
|
||||||
private String testToFinishUrl;
|
private String testToFinishUrl;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -93,8 +93,6 @@ public class TaskTechnologyController {
|
|||||||
/**
|
/**
|
||||||
* 技术模块-任务归档-获取任务归档分页
|
* 技术模块-任务归档-获取任务归档分页
|
||||||
*
|
*
|
||||||
* @param subject 主体
|
|
||||||
* @param taskContent 任务内容
|
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023-11-30 21:11:47
|
* @since 2023-11-30 21:11:47
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -72,7 +72,12 @@ public class Task extends BaseEntity implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||||
*/
|
*/
|
||||||
private Integer taskRating;
|
private String taskRating;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录员工id
|
||||||
|
*/
|
||||||
|
private String recordStaffId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 附件地址
|
* 附件地址
|
||||||
|
|||||||
@ -48,11 +48,6 @@ public class TaskDemand extends BaseEntity implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String storeId;
|
private String storeId;
|
||||||
|
|
||||||
/**
|
|
||||||
* 记录员工id
|
|
||||||
*/
|
|
||||||
private String recordStaffId;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 签约图片
|
* 签约图片
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -58,11 +58,6 @@ public class TaskWorkOrder extends BaseEntity implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String phoneNumber;
|
private String phoneNumber;
|
||||||
|
|
||||||
/**
|
|
||||||
* 记录员工id
|
|
||||||
*/
|
|
||||||
private String recordStaffId;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 办结时间
|
* 办结时间
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -69,14 +69,15 @@ public class TaskDemandServiceImpl extends ServiceImpl<TaskDemandMapper, TaskDem
|
|||||||
break;
|
break;
|
||||||
// 待领取
|
// 待领取
|
||||||
case 1:
|
case 1:
|
||||||
queryWrapper.and(TASK.TASK_STATUS.eq(1));
|
queryWrapper.and(TASK.TASK_STATUS.in(1));
|
||||||
|
break;
|
||||||
// 处理中
|
// 处理中
|
||||||
case 2:
|
case 2:
|
||||||
queryWrapper.and(TASK.TASK_STATUS.in(2, 4));
|
queryWrapper.and(TASK.TASK_STATUS.in(2, 4));
|
||||||
break;
|
break;
|
||||||
// 已完成
|
// 已完成
|
||||||
default:
|
default:
|
||||||
queryWrapper.and(TASK.TASK_STATUS.in(3, 6));
|
queryWrapper.and(TASK.TASK_STATUS.in(8, 9));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
queryWrapper.and(TASK.TASK_STATUS.eq(0));
|
queryWrapper.and(TASK.TASK_STATUS.eq(0));
|
||||||
@ -88,7 +89,6 @@ public class TaskDemandServiceImpl extends ServiceImpl<TaskDemandMapper, TaskDem
|
|||||||
.select(TASK_DEMAND.ID,
|
.select(TASK_DEMAND.ID,
|
||||||
TASK_DEMAND.BRAND_ID,
|
TASK_DEMAND.BRAND_ID,
|
||||||
TASK_DEMAND.STORE_ID,
|
TASK_DEMAND.STORE_ID,
|
||||||
TASK_DEMAND.RECORD_STAFF_ID,
|
|
||||||
TASK_DEMAND.CREATE_TIME,
|
TASK_DEMAND.CREATE_TIME,
|
||||||
TASK_DEMAND.UPDATE_USER_ID,
|
TASK_DEMAND.UPDATE_USER_ID,
|
||||||
TASK_DEMAND.UPDATE_TIME)
|
TASK_DEMAND.UPDATE_TIME)
|
||||||
@ -98,6 +98,7 @@ public class TaskDemandServiceImpl extends ServiceImpl<TaskDemandMapper, TaskDem
|
|||||||
.select(STORE.STORE_NAME)
|
.select(STORE.STORE_NAME)
|
||||||
// 任务
|
// 任务
|
||||||
.select(TASK.TASK_CONTENT,
|
.select(TASK.TASK_CONTENT,
|
||||||
|
TASK.RECORD_STAFF_ID,
|
||||||
TASK.IS_URGENT,
|
TASK.IS_URGENT,
|
||||||
TASK.ATTACHMENT_URL,
|
TASK.ATTACHMENT_URL,
|
||||||
TASK.EXPECTED_COMPLETION_DATE,
|
TASK.EXPECTED_COMPLETION_DATE,
|
||||||
@ -138,11 +139,11 @@ public class TaskDemandServiceImpl extends ServiceImpl<TaskDemandMapper, TaskDem
|
|||||||
.limit(1)),
|
.limit(1)),
|
||||||
// 任务接收员工
|
// 任务接收员工
|
||||||
item -> item.field(TaskDemandPageVo::getResponsibleStaffName).queryWrapper(responsibleStaffName -> {
|
item -> item.field(TaskDemandPageVo::getResponsibleStaffName).queryWrapper(responsibleStaffName -> {
|
||||||
if (StringUtils.isNoneBlank(responsibleStaffName.getResponsibleStaffName())) {
|
if (StringUtils.isNotBlank(responsibleStaffName.getResponsibleStaffId())) {
|
||||||
return queryWrapper.create()
|
return queryWrapper.create()
|
||||||
.select(STAFF.NAME.as(TaskDemandPageVo::getResponsibleStaffName))
|
.select(STAFF.NAME.as(TaskDemandPageVo::getResponsibleStaffId))
|
||||||
.from(STAFF)
|
.from(STAFF)
|
||||||
.where(STAFF.ID.eq(responsibleStaffName.getResponsibleStaffName()));
|
.where(STAFF.ID.eq(responsibleStaffName.getResponsibleStaffId()));
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -160,17 +161,16 @@ public class TaskDemandServiceImpl extends ServiceImpl<TaskDemandMapper, TaskDem
|
|||||||
public void insertTaskDemand(TaskDemandBo bo) {
|
public void insertTaskDemand(TaskDemandBo bo) {
|
||||||
// 添加任务
|
// 添加任务
|
||||||
Task task = BeanUtils.mapToClass(bo, Task.class);
|
Task task = BeanUtils.mapToClass(bo, Task.class);
|
||||||
|
// 当前操作员工
|
||||||
|
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||||
// 默认待审核
|
// 默认待审核
|
||||||
task.setTaskStatus(0).setTaskItem(0).setTaskType(1);
|
task.setTaskStatus(0).setTaskItem(0).setTaskType(1).setRecordStaffId(loginUserInfo.getString("id")).setSubject("果酱盒子");
|
||||||
TaskService taskService = SpringUtils.getBean(TaskService.class);
|
TaskService taskService = SpringUtils.getBean(TaskService.class);
|
||||||
taskService.save(task);
|
taskService.save(task);
|
||||||
// 添加需求
|
// 添加需求
|
||||||
TaskDemand entity = new TaskDemand();
|
TaskDemand entity = new TaskDemand();
|
||||||
BeanUtils.copyBeanProp(entity, bo);
|
BeanUtils.copyBeanProp(entity, bo);
|
||||||
entity.setTaskId(task.getId());
|
entity.setTaskId(task.getId());
|
||||||
// 当前操作员工
|
|
||||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
|
||||||
entity.setRecordStaffId(loginUserInfo.getString("id"));
|
|
||||||
this.save(entity);
|
this.save(entity);
|
||||||
// 获取审核管理员手机号
|
// 获取审核管理员手机号
|
||||||
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
||||||
@ -188,7 +188,7 @@ public class TaskDemandServiceImpl extends ServiceImpl<TaskDemandMapper, TaskDem
|
|||||||
phoneList.add(loginUserInfo.getString("phoneNumber"));
|
phoneList.add(loginUserInfo.getString("phoneNumber"));
|
||||||
try {
|
try {
|
||||||
SpringUtils.getBean(WebHookSendHandler.class)
|
SpringUtils.getBean(WebHookSendHandler.class)
|
||||||
.webHookSendText(WebHookKeyConstant.ORDER_INFO_BOT,
|
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||||
phoneList,
|
phoneList,
|
||||||
"==========您有一条新的需求任务需要审核==========" + "\n" + task.getTaskContent(),
|
"==========您有一条新的需求任务需要审核==========" + "\n" + task.getTaskContent(),
|
||||||
false);
|
false);
|
||||||
|
|||||||
@ -66,24 +66,23 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
@Override
|
@Override
|
||||||
public Page<TaskArchivingPagVo> getTaskArchivingPage(TaskArchivingPagBo bo) {
|
public Page<TaskArchivingPagVo> getTaskArchivingPage(TaskArchivingPagBo bo) {
|
||||||
// 获取当前员工
|
// 获取当前员工
|
||||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
|
||||||
PageDomain pageDomain = SqlUtils.getInstance().getPageDomain();
|
PageDomain pageDomain = SqlUtils.getInstance().getPageDomain();
|
||||||
return this.mapper.paginateAs(Page.of(pageDomain.getPageNum(), pageDomain.getPageSize()),
|
return this.mapper.paginateAs(Page.of(pageDomain.getPageNum(), pageDomain.getPageSize()),
|
||||||
QueryWrapper.create()
|
QueryWrapper.create()
|
||||||
.select(TASK.ID,
|
.select(TASK.ID,
|
||||||
TASK.RESPONSIBLE_STAFF_ID,
|
TASK.RESPONSIBLE_STAFF_ID,
|
||||||
TASK.TASK_CONTENT,
|
TASK.TASK_CONTENT,
|
||||||
|
TASK.TASK_TYPE,
|
||||||
TASK.TASK_RATING,
|
TASK.TASK_RATING,
|
||||||
|
TASK.TASK_WEIGHT,
|
||||||
TASK.TASK_RECEIPT_TIME,
|
TASK.TASK_RECEIPT_TIME,
|
||||||
TASK.TEST_TO_FINISH_URL,
|
TASK.TEST_TO_FINISH_URL,
|
||||||
TASK.TO_TEST_TIME,
|
TASK.TO_TEST_TIME,
|
||||||
|
TASK.TO_DEPLOY_TIME,
|
||||||
|
TASK.COMPLETION_DATE,
|
||||||
TASK.SUBJECT)
|
TASK.SUBJECT)
|
||||||
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
|
||||||
.from(TASK)
|
.from(TASK)
|
||||||
.leftJoin(TASK_STAFF_GROUP)
|
.and(TASK.TASK_STATUS.eq(bo.getIsFinish() ? 9 : 8).and(TASK.TASK_CONTENT.like(bo.getTaskContent())))
|
||||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
|
||||||
.where(TASK_STAFF_GROUP.STAFF_ID.eq(loginUserInfo.getString("id")))
|
|
||||||
.and(TASK.TASK_STATUS.eq(bo.getIsFinish() ? 8 : 9).and(TASK.TASK_CONTENT.like(bo.getTaskContent())))
|
|
||||||
.and(TASK.SUBJECT.like(bo.getSubject())),
|
.and(TASK.SUBJECT.like(bo.getSubject())),
|
||||||
TaskArchivingPagVo.class,
|
TaskArchivingPagVo.class,
|
||||||
// 负责人
|
// 负责人
|
||||||
@ -98,8 +97,10 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
.select(groupConcat(STAFF.NAME).as(TaskArchivingPagVo::getTaskGroupStaffs))
|
.select(groupConcat(STAFF.NAME).as(TaskArchivingPagVo::getTaskGroupStaffs))
|
||||||
.from(STAFF)
|
.from(STAFF)
|
||||||
.leftJoin(TASK_STAFF_GROUP)
|
.leftJoin(TASK_STAFF_GROUP)
|
||||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
.on(TASK_STAFF_GROUP.STAFF_ID.eq(STAFF.ID))
|
||||||
.where(TASK_STAFF_GROUP.STAFF_ID.eq(taskGroupStaffs.getId()))
|
.leftJoin(TASK)
|
||||||
|
.on(TASK.ID.eq(TASK_STAFF_GROUP.TASK_ID))
|
||||||
|
.where(TASK.ID.eq(taskGroupStaffs.getId()))
|
||||||
.groupBy(TASK.ID)));
|
.groupBy(TASK.ID)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,7 +142,9 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
TASK.TASK_CONTENT,
|
TASK.TASK_CONTENT,
|
||||||
TASK.ATTACHMENT_URL,
|
TASK.ATTACHMENT_URL,
|
||||||
TASK.TASK_RATING,
|
TASK.TASK_RATING,
|
||||||
TASK.CREATE_TIME)
|
TASK.CREATE_TIME,
|
||||||
|
TASK.RECORD_STAFF_ID,
|
||||||
|
TASK.TASK_WEIGHT)
|
||||||
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
||||||
.from(TASK)
|
.from(TASK)
|
||||||
.leftJoin(TASK_STAFF_GROUP)
|
.leftJoin(TASK_STAFF_GROUP)
|
||||||
@ -152,18 +155,11 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
.orderBy(TASK.IS_URGENT.desc(), TASK.CREATE_TIME.desc()),
|
.orderBy(TASK.IS_URGENT.desc(), TASK.CREATE_TIME.desc()),
|
||||||
TaskToBeClaimedPageVo.class,
|
TaskToBeClaimedPageVo.class,
|
||||||
// 对接人
|
// 对接人
|
||||||
item -> item.field(TaskToBeClaimedPageVo::getDockingStaff).queryWrapper(dockingStaff -> {
|
item -> item.field(TaskToBeClaimedPageVo::getDockingStaff).queryWrapper(dockingStaff ->
|
||||||
if (dockingStaff.getTaskType() == 1) {
|
queryChain().select(STAFF.NAME.as(TaskToBeClaimedPageVo::getDockingStaff))
|
||||||
return queryChain().select(STAFF.NAME.as(TaskToBeClaimedPageVo::getDockingStaff))
|
|
||||||
.select(STAFF.NAME)
|
|
||||||
.from(STAFF)
|
.from(STAFF)
|
||||||
.leftJoin(TASK_DEMAND)
|
.where(STAFF.ID.eq(dockingStaff.getRecordStaffId()))
|
||||||
.on(TASK_DEMAND.RECORD_STAFF_ID.eq(STAFF.ID))
|
));
|
||||||
.where(TASK_DEMAND.TASK_ID.eq(dockingStaff.getId()));
|
|
||||||
} else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -175,9 +171,10 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void insertIterationTask(TaskIterationBo bo) {
|
public void insertIterationTask(TaskIterationBo bo) {
|
||||||
|
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||||
Task entity = BeanUtils.mapToClass(bo, Task.class);
|
Task entity = BeanUtils.mapToClass(bo, Task.class);
|
||||||
// 默认待审核 默认开发中
|
// 默认待审核 默认开发中
|
||||||
entity.setTaskStatus(0).setTaskItem(0).setTaskType(0);
|
entity.setTaskStatus(0).setTaskItem(0).setTaskType(0).setRecordStaffId(loginUserInfo.getString("id"));
|
||||||
this.save(entity);
|
this.save(entity);
|
||||||
// 获取审核管理员手机号
|
// 获取审核管理员手机号
|
||||||
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
||||||
@ -221,26 +218,26 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
// 如果任务没有设置预期完成时间,则按照任务评级进行设置默认
|
// 如果任务没有设置预期完成时间,则按照任务评级进行设置默认
|
||||||
if (task.getExpectedCompletionDate() == null) {
|
if (task.getExpectedCompletionDate() == null) {
|
||||||
// 获取任务评级
|
// 获取任务评级
|
||||||
Integer taskRating = task.getTaskRating();
|
String taskRating = task.getTaskRating();
|
||||||
LocalDate now = LocalDate.now();
|
LocalDate now = LocalDate.now();
|
||||||
switch (taskRating) {
|
switch (taskRating) {
|
||||||
case 0:
|
case "A":
|
||||||
// 30天
|
// 30天
|
||||||
task.setExpectedCompletionDate(now.plusDays(30));
|
task.setExpectedCompletionDate(now.plusDays(30));
|
||||||
break;
|
break;
|
||||||
case 1:
|
case "B":
|
||||||
// 21天
|
// 21天
|
||||||
task.setExpectedCompletionDate(now.plusDays(21));
|
task.setExpectedCompletionDate(now.plusDays(21));
|
||||||
break;
|
break;
|
||||||
case 2:
|
case "C":
|
||||||
// 15天
|
// 15天
|
||||||
task.setExpectedCompletionDate(now.plusDays(15));
|
task.setExpectedCompletionDate(now.plusDays(15));
|
||||||
break;
|
break;
|
||||||
case 3:
|
case "D":
|
||||||
// 7天
|
// 7天
|
||||||
task.setExpectedCompletionDate(now.plusDays(7));
|
task.setExpectedCompletionDate(now.plusDays(7));
|
||||||
break;
|
break;
|
||||||
case 4:
|
case "E":
|
||||||
// 3天
|
// 3天
|
||||||
task.setExpectedCompletionDate(now.plusDays(3));
|
task.setExpectedCompletionDate(now.plusDays(3));
|
||||||
break;
|
break;
|
||||||
@ -261,28 +258,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
this.updateById(task);
|
this.updateById(task);
|
||||||
// 添加主要负责人组
|
// 添加主要负责人组
|
||||||
TaskStaffGroup taskStaffGroup = new TaskStaffGroup();
|
TaskStaffGroup taskStaffGroup = new TaskStaffGroup();
|
||||||
int taskRatingPoint;
|
taskStaffGroup.setStaffId(task.getResponsibleStaffId()).setTaskId(id).setGradePoint(task.getTaskWeight());
|
||||||
// 评级换绩点
|
|
||||||
switch (task.getTaskRating()) {
|
|
||||||
case 0:
|
|
||||||
taskRatingPoint = 200;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
taskRatingPoint = 100;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
taskRatingPoint = 80;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
taskRatingPoint = 40;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
taskRatingPoint = 20;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
taskRatingPoint = 10;
|
|
||||||
}
|
|
||||||
taskStaffGroup.setStaffId(task.getResponsibleStaffId()).setTaskId(id).setGradePoint(taskRatingPoint);
|
|
||||||
SpringUtils.getBean(TaskStaffGroupService.class).save(taskStaffGroup);
|
SpringUtils.getBean(TaskStaffGroupService.class).save(taskStaffGroup);
|
||||||
// 通知所有人
|
// 通知所有人
|
||||||
try {
|
try {
|
||||||
@ -314,7 +290,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
SpringUtils.getBean(WebHookSendHandler.class)
|
SpringUtils.getBean(WebHookSendHandler.class)
|
||||||
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
|
||||||
new ArrayList<>(),
|
new ArrayList<>(),
|
||||||
"==========任务审核通过==========" + "\n" + entity.getTaskContent(),
|
"==========任务审核通过==========" + "\n" + this.getById(bo.getId()).getTaskContent(),
|
||||||
true);
|
true);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new ServiceException("发送任务审核通过通知失败!");
|
throw new ServiceException("发送任务审核通过通知失败!");
|
||||||
@ -343,16 +319,16 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
//个人绩点
|
//个人绩点
|
||||||
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
.select(TASK_STAFF_GROUP.GRADE_POINT)
|
||||||
.from(TASK)
|
.from(TASK)
|
||||||
// 员工表
|
|
||||||
.leftJoin(STAFF)
|
|
||||||
.on(STAFF.ID.eq(TASK.RESPONSIBLE_STAFF_ID))
|
|
||||||
// 任务员工组
|
// 任务员工组
|
||||||
.leftJoin(TASK_STAFF_GROUP)
|
.leftJoin(TASK_STAFF_GROUP)
|
||||||
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
.on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||||
|
// 员工表
|
||||||
|
.leftJoin(STAFF)
|
||||||
|
.on(STAFF.ID.eq(TASK_STAFF_GROUP.STAFF_ID))
|
||||||
.where(TASK.TASK_TYPE.in(0, 1))
|
.where(TASK.TASK_TYPE.in(0, 1))
|
||||||
//进行中与已完成的任务
|
//进行中与已完成的任务
|
||||||
.and(TASK.TASK_STATUS.in(2, 3, 4, 6))
|
.and(TASK.TASK_STATUS.in(2, 3, 4, 6))
|
||||||
.and(STAFF.ID.eq(SecurityUtils.getInstance().getLoginUserInfo().getString("id")))
|
.and(TASK_STAFF_GROUP.STAFF_ID.eq(SecurityUtils.getInstance().getLoginUserInfo().getString("id")))
|
||||||
.orderBy(TASK.EXPECTED_COMPLETION_DATE.asc()),
|
.orderBy(TASK.EXPECTED_COMPLETION_DATE.asc()),
|
||||||
PersonTaskPageVo.class);
|
PersonTaskPageVo.class);
|
||||||
}
|
}
|
||||||
@ -385,14 +361,13 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
} else {
|
} else {
|
||||||
task.setTaskStatus(3);
|
task.setTaskStatus(3);
|
||||||
}
|
}
|
||||||
task.setToTestTime(LocalDateTime.now());
|
task.setToTestTime(LocalDateTime.now()).setTaskItem(1);
|
||||||
}
|
}
|
||||||
if (bo.getTaskItem() == 1) {
|
if (bo.getTaskItem() == 1) {
|
||||||
if (StringUtils.isBlank(bo.getTestToFinishUrl())) {
|
if (StringUtils.isBlank(bo.getTestToFinishUrl())) {
|
||||||
throw new ServiceException("当前任务未提交测试部署相关文件,不允许转交");
|
throw new ServiceException("当前任务未提交测试部署相关文件,不允许转交");
|
||||||
}
|
}
|
||||||
task.setToDeployTime(LocalDateTime.now())
|
task.setToDeployTime(LocalDateTime.now()).setTestToFinishUrl(bo.getTestToFinishUrl()).setTaskStatus(8).setTaskItem(2);
|
||||||
.setTaskStatus(8);
|
|
||||||
}
|
}
|
||||||
this.updateById(task);
|
this.updateById(task);
|
||||||
}
|
}
|
||||||
@ -621,7 +596,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
@Override
|
@Override
|
||||||
public String getTaskDailyPaper(TaskDailyPaperBo bo) {
|
public String getTaskDailyPaper(TaskDailyPaperBo bo) {
|
||||||
//获取当前日期的任务
|
//获取当前日期的任务
|
||||||
List<Task> taskList = this.list(QueryWrapper.create().select(distinct(TASK.TASK_STATUS, TASK.ID, TASK.TASK_RECEIPT_TIME, TASK.TASK_CONTENT, TASK.EXPECTED_COMPLETION_DATE))
|
List<Task> taskList = this.list(QueryWrapper.create().select(distinct(TASK.TASK_STATUS,TASK.RESPONSIBLE_STAFF_ID,TASK.TASK_PROGRESS, TASK.ID, TASK.TASK_RECEIPT_TIME, TASK.TASK_CONTENT, TASK.EXPECTED_COMPLETION_DATE))
|
||||||
.leftJoin(TASK_STAFF_GROUP).on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
.leftJoin(TASK_STAFF_GROUP).on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||||
.and(dateFormat(TASK.TASK_RECEIPT_TIME, "%Y-%m-%d").le(bo.getDate()))
|
.and(dateFormat(TASK.TASK_RECEIPT_TIME, "%Y-%m-%d").le(bo.getDate()))
|
||||||
.and(TASK.EXPECTED_COMPLETION_DATE.ge(bo.getDate()))
|
.and(TASK.EXPECTED_COMPLETION_DATE.ge(bo.getDate()))
|
||||||
@ -690,15 +665,15 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
LocalDate firstDay = now.with(TemporalAdjusters.firstDayOfMonth());
|
LocalDate firstDay = now.with(TemporalAdjusters.firstDayOfMonth());
|
||||||
// 获取目标月的最后一天
|
// 获取目标月的最后一天
|
||||||
LocalDate lastDay = now.with(TemporalAdjusters.lastDayOfMonth());
|
LocalDate lastDay = now.with(TemporalAdjusters.lastDayOfMonth());
|
||||||
List<TaskIndividualGpaVo.IndividualGpa> individualGpas = this.listAs(QueryWrapper.create()
|
List<TaskIndividualGpaDetailVo> individualGpas = this.listAs(QueryWrapper.create()
|
||||||
.select(TASK.ID, TASK.TASK_CONTENT, TASK.TASK_STATUS)
|
.select(TASK.ID, TASK.TASK_CONTENT, TASK.TASK_STATUS)
|
||||||
.select(TASK_STAFF_GROUP.GRADE_POINT, TASK_STAFF_GROUP.REMARK)
|
.select(TASK_STAFF_GROUP.GRADE_POINT, TASK_STAFF_GROUP.REMARK)
|
||||||
.leftJoin(TASK_STAFF_GROUP).on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
.leftJoin(TASK_STAFF_GROUP).on(TASK_STAFF_GROUP.TASK_ID.eq(TASK.ID))
|
||||||
.where(TASK.TASK_STATUS.in(2, 3, 4, 5, 6, 7, 8, 9))
|
.where(TASK.TASK_STATUS.in(2, 3, 4, 5, 6, 7, 8, 9))
|
||||||
.and(TASK_STAFF_GROUP.STAFF_ID.eq(loginUserInfo.getString("id")))
|
.and(TASK_STAFF_GROUP.STAFF_ID.eq(loginUserInfo.getString("id")))
|
||||||
//获取当月绩点
|
//获取当月绩点
|
||||||
.and(TASK.COMPLETION_DATE.between(firstDay, lastDay))
|
//.and(dateFormat(TASK.TASK_RECEIPT_TIME, "%Y-%m-%d").between(firstDay, lastDay))
|
||||||
, TaskIndividualGpaVo.IndividualGpa.class);
|
, TaskIndividualGpaDetailVo.class);
|
||||||
TaskIndividualGpaVo vo = new TaskIndividualGpaVo();
|
TaskIndividualGpaVo vo = new TaskIndividualGpaVo();
|
||||||
if (individualGpas.isEmpty()) {
|
if (individualGpas.isEmpty()) {
|
||||||
return vo;
|
return vo;
|
||||||
@ -710,10 +685,10 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
|
|||||||
vo.setDutyVo(workOrderDuty);
|
vo.setDutyVo(workOrderDuty);
|
||||||
//已完成
|
//已完成
|
||||||
vo.setHaveFinished(individualGpas.stream().filter(item -> item.getTaskStatus() == 8 || item.getTaskStatus() == 9)
|
vo.setHaveFinished(individualGpas.stream().filter(item -> item.getTaskStatus() == 8 || item.getTaskStatus() == 9)
|
||||||
.mapToInt(TaskIndividualGpaVo.IndividualGpa::getGradePoint).sum());
|
.mapToInt(TaskIndividualGpaDetailVo::getGradePoint).sum());
|
||||||
//待完成
|
//待完成
|
||||||
vo.setToBeCompleted(individualGpas.stream().filter(item -> item.getTaskStatus() != 8 && item.getTaskStatus() != 9)
|
vo.setToBeCompleted(individualGpas.stream().filter(item -> item.getTaskStatus() != 8 && item.getTaskStatus() != 9)
|
||||||
.mapToInt(TaskIndividualGpaVo.IndividualGpa::getGradePoint).sum());
|
.mapToInt(TaskIndividualGpaDetailVo::getGradePoint).sum());
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,10 +45,11 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术模块-今日事务-任务成员组列
|
* 技术模块-今日事务-任务成员组列
|
||||||
* @author DB
|
*
|
||||||
* @since 2023/12/04
|
|
||||||
* @param taskId 任务id
|
* @param taskId 任务id
|
||||||
* @return List<TaskStaffGroupVo>
|
* @return List<TaskStaffGroupVo>
|
||||||
|
* @author DB
|
||||||
|
* @since 2023/12/04
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<TaskStaffGroupVo> getTaskStaffGroupList(String taskId) {
|
public List<TaskStaffGroupVo> getTaskStaffGroupList(String taskId) {
|
||||||
@ -63,9 +64,10 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术模块-今日事务-新增任务小组成员
|
* 技术模块-今日事务-新增任务小组成员
|
||||||
|
*
|
||||||
|
* @param bo 请求参数
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023/12/04
|
* @since 2023/12/04
|
||||||
* @param bo 请求参数
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@ -107,6 +109,7 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
|||||||
phoneList.add(staffInfo.getPhoneNumber());
|
phoneList.add(staffInfo.getPhoneNumber());
|
||||||
try {
|
try {
|
||||||
SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT, phoneList,
|
SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT, phoneList,
|
||||||
|
"任务:" + task.getTaskContent() + "\n" +
|
||||||
loginUserInfo.getString("name") + "您的绩点调整为" + responsibleStaff.getGradePoint() + "\n" + staffInfo.getName()
|
loginUserInfo.getString("name") + "您的绩点调整为" + responsibleStaff.getGradePoint() + "\n" + staffInfo.getName()
|
||||||
+ "您新加入任务:" + task.getTaskContent() + "绩点为:" + bo.getGradePoint(),
|
+ "您新加入任务:" + task.getTaskContent() + "绩点为:" + bo.getGradePoint(),
|
||||||
false);
|
false);
|
||||||
@ -117,9 +120,10 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术模块-今日事务-修改员工任务绩点
|
* 技术模块-今日事务-修改员工任务绩点
|
||||||
|
*
|
||||||
|
* @param bo 请求参数
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023/12/04
|
* @since 2023/12/04
|
||||||
* @param bo 请求参数
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void updateStaffGradePoint(TaskStaffGroupBo bo) {
|
public void updateStaffGradePoint(TaskStaffGroupBo bo) {
|
||||||
@ -174,6 +178,7 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
|||||||
phoneList.add(staffInfo.getPhoneNumber());
|
phoneList.add(staffInfo.getPhoneNumber());
|
||||||
try {
|
try {
|
||||||
SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT, phoneList,
|
SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT, phoneList,
|
||||||
|
"任务:" + task.getTaskContent() + "\n" +
|
||||||
loginUserInfo.getString("name") + "您的绩点调整为" + responsibleStaffTaskInfo.getGradePoint() + "\n"
|
loginUserInfo.getString("name") + "您的绩点调整为" + responsibleStaffTaskInfo.getGradePoint() + "\n"
|
||||||
+ staffInfo.getName() + "您的绩点调整为:" + bo.getGradePoint(),
|
+ staffInfo.getName() + "您的绩点调整为:" + bo.getGradePoint(),
|
||||||
false);
|
false);
|
||||||
@ -184,9 +189,10 @@ public class TaskStaffGroupServiceImpl extends ServiceImpl<TaskStaffGroupMapper,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术模块-今日事务-删除成员组
|
* 技术模块-今日事务-删除成员组
|
||||||
|
*
|
||||||
|
* @param id 任务组id
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023/12/04
|
* @since 2023/12/04
|
||||||
* @param id 任务组id
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void removeTaskStaffGroupById(String id) {
|
public void removeTaskStaffGroupById(String id) {
|
||||||
|
|||||||
@ -56,6 +56,7 @@ import static com.cpop.oam.business.entity.table.TaskWorkOrderRecordTableDef.TAS
|
|||||||
import static com.cpop.oam.business.entity.table.TaskWorkOrderTableDef.TASK_WORK_ORDER;
|
import static com.cpop.oam.business.entity.table.TaskWorkOrderTableDef.TASK_WORK_ORDER;
|
||||||
import static com.cpop.system.business.entity.table.BrandTableDef.BRAND;
|
import static com.cpop.system.business.entity.table.BrandTableDef.BRAND;
|
||||||
import static com.cpop.system.business.entity.table.StoreTableDef.STORE;
|
import static com.cpop.system.business.entity.table.StoreTableDef.STORE;
|
||||||
|
|
||||||
import com.cpop.core.utils.sql.SqlUtils;
|
import com.cpop.core.utils.sql.SqlUtils;
|
||||||
import com.cpop.core.service.RedisService;
|
import com.cpop.core.service.RedisService;
|
||||||
|
|
||||||
@ -75,9 +76,10 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-接收/处理/暂停中
|
* 工单模块-工单提交-接收/处理/暂停中
|
||||||
|
*
|
||||||
|
* @return com.cpop.core.base.R<com.mybatisflex.core.paginate.Page < com.cpop.oam.business.vo.TaskWorkOrderPageVo>>
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023/09/18 17:18
|
* @since 2023/09/18 17:18
|
||||||
* @return com.cpop.core.base.R<com.mybatisflex.core.paginate.Page<com.cpop.oam.business.vo.TaskWorkOrderPageVo>>
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TaskWorkOrderReceiveDealPauseVo receiveDealPause() {
|
public TaskWorkOrderReceiveDealPauseVo receiveDealPause() {
|
||||||
@ -86,14 +88,13 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
// 工单
|
// 工单
|
||||||
.select(TASK_WORK_ORDER.ID,
|
.select(TASK_WORK_ORDER.ID,
|
||||||
TASK_WORK_ORDER.PHONE_NUMBER,
|
TASK_WORK_ORDER.PHONE_NUMBER,
|
||||||
TASK_WORK_ORDER.RECORD_STAFF_ID,
|
|
||||||
TASK_WORK_ORDER.CREATE_TIME.as("createTime"),
|
TASK_WORK_ORDER.CREATE_TIME.as("createTime"),
|
||||||
TASK_WORK_ORDER.RECEIVING_TIME,
|
TASK_WORK_ORDER.RECEIVING_TIME,
|
||||||
TASK_WORK_ORDER.PAUSE_STAFF_ID,
|
TASK_WORK_ORDER.PAUSE_STAFF_ID,
|
||||||
TASK_WORK_ORDER.PAUSE_RECORD_TIME,
|
TASK_WORK_ORDER.PAUSE_RECORD_TIME,
|
||||||
TASK_WORK_ORDER.PAUSE_EXPIRE_TIME)
|
TASK_WORK_ORDER.PAUSE_EXPIRE_TIME)
|
||||||
// 任务
|
// 任务
|
||||||
.select(TASK.TASK_CONTENT, TASK.TASK_STATUS, TASK.RESPONSIBLE_STAFF_ID, TASK.TASK_RECEIPT_TIME)
|
.select(TASK.TASK_CONTENT, TASK.TASK_STATUS, TASK.RESPONSIBLE_STAFF_ID, TASK.TASK_RECEIPT_TIME, TASK.RECORD_STAFF_ID)
|
||||||
// 品牌
|
// 品牌
|
||||||
.select(BRAND.BRAND_NAME)
|
.select(BRAND.BRAND_NAME)
|
||||||
// 校区
|
// 校区
|
||||||
@ -169,6 +170,7 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-获取当天值班人员
|
* 工单模块-工单提交-获取当天值班人员
|
||||||
|
*
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023-11-29 14:01:03
|
* @since 2023-11-29 14:01:03
|
||||||
*/
|
*/
|
||||||
@ -186,6 +188,7 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-已办结分页列表
|
* 工单模块-工单提交-已办结分页列表
|
||||||
|
*
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023-11-29 14:35:08
|
* @since 2023-11-29 14:35:08
|
||||||
*/
|
*/
|
||||||
@ -211,6 +214,7 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-新增工单
|
* 工单模块-工单提交-新增工单
|
||||||
|
*
|
||||||
* @param bo 请求参数
|
* @param bo 请求参数
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023/5/30 16:53
|
* @since 2023/5/30 16:53
|
||||||
@ -227,13 +231,16 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
// 添加任务
|
// 添加任务
|
||||||
Task task = new Task();
|
Task task = new Task();
|
||||||
BeanUtils.copyBeanProp(task, bo);
|
BeanUtils.copyBeanProp(task, bo);
|
||||||
|
// 读取员工信息
|
||||||
|
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||||
// 默认待接受
|
// 默认待接受
|
||||||
task.setTaskStatus(1)
|
task.setTaskStatus(1)
|
||||||
// 默认开发中
|
// 默认开发中
|
||||||
.setTaskItem(0)
|
.setTaskItem(0)
|
||||||
.setTaskWeight(10)
|
.setTaskWeight(10)
|
||||||
// 工单不参与评级
|
// 工单不参与评级
|
||||||
.setTaskRating(-1)
|
.setTaskRating("N")
|
||||||
|
.setRecordStaffId(loginUserInfo.getString("id"))
|
||||||
.setResponsibleStaffId(duty.getTechnologyStaffId());
|
.setResponsibleStaffId(duty.getTechnologyStaffId());
|
||||||
TaskService taskService = SpringUtils.getBean(TaskService.class);
|
TaskService taskService = SpringUtils.getBean(TaskService.class);
|
||||||
taskService.save(task);
|
taskService.save(task);
|
||||||
@ -241,9 +248,6 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
TaskWorkOrder entity = new TaskWorkOrder();
|
TaskWorkOrder entity = new TaskWorkOrder();
|
||||||
BeanUtils.copyBeanProp(entity, bo);
|
BeanUtils.copyBeanProp(entity, bo);
|
||||||
entity.setTaskId(task.getId());
|
entity.setTaskId(task.getId());
|
||||||
// 读取员工信息
|
|
||||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
|
||||||
entity.setRecordStaffId(loginUserInfo.getString("id"));
|
|
||||||
this.save(entity);
|
this.save(entity);
|
||||||
// 添加一个0绩点
|
// 添加一个0绩点
|
||||||
TaskStaffGroupService taskStaffGroupService = SpringUtils.getBean(TaskStaffGroupService.class);
|
TaskStaffGroupService taskStaffGroupService = SpringUtils.getBean(TaskStaffGroupService.class);
|
||||||
@ -280,10 +284,11 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 开始或删除工单接收任务
|
* 开始或删除工单接收任务
|
||||||
* @author DB
|
*
|
||||||
* @param workOrderId 工单id
|
* @param workOrderId 工单id
|
||||||
* @param isStart 是否是开始标识
|
* @param isStart 是否是开始标识
|
||||||
* @param dateTime 时间
|
* @param dateTime 时间
|
||||||
|
* @author DB
|
||||||
* @since 2023-11-29 10:21:02
|
* @since 2023-11-29 10:21:02
|
||||||
*/
|
*/
|
||||||
private void startOrRemoveWorkOrderAcceptTask(String workOrderId, Boolean isStart, LocalDateTime dateTime) {
|
private void startOrRemoveWorkOrderAcceptTask(String workOrderId, Boolean isStart, LocalDateTime dateTime) {
|
||||||
@ -320,10 +325,11 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成工单超时任务
|
* 生成工单超时任务
|
||||||
* @author DB
|
*
|
||||||
* @param workOrderId 工单id
|
* @param workOrderId 工单id
|
||||||
* @param isUpdate 是否更新
|
* @param isUpdate 是否更新
|
||||||
* @param dateTime 开始时间
|
* @param dateTime 开始时间
|
||||||
|
* @author DB
|
||||||
* @since 2023-11-29 16:09:02
|
* @since 2023-11-29 16:09:02
|
||||||
*/
|
*/
|
||||||
private void startOrUpdateWorkOrderOvertimeTask(String workOrderId, Boolean isUpdate, LocalDateTime dateTime) {
|
private void startOrUpdateWorkOrderOvertimeTask(String workOrderId, Boolean isUpdate, LocalDateTime dateTime) {
|
||||||
@ -361,8 +367,9 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-工单记录列表
|
* 工单模块-工单提交-工单记录列表
|
||||||
* @author DB
|
*
|
||||||
* @param workOrderId 工单id
|
* @param workOrderId 工单id
|
||||||
|
* @author DB
|
||||||
* @since 2023-11-29 11:25:28
|
* @since 2023-11-29 11:25:28
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -389,8 +396,9 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-新增工单记录
|
* 工单模块-工单提交-新增工单记录
|
||||||
* @author DB
|
*
|
||||||
* @param bo 请求参数
|
* @param bo 请求参数
|
||||||
|
* @author DB
|
||||||
* @since 2023-11-29 11:33:35
|
* @since 2023-11-29 11:33:35
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -410,11 +418,16 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
//没有负责人
|
//没有负责人
|
||||||
if (StringUtils.isNotBlank(task.getResponsibleStaffId())) {
|
if (StringUtils.isNotBlank(task.getResponsibleStaffId())) {
|
||||||
// 负责人手机号
|
// 负责人手机号
|
||||||
StaffInfoVo responsibleStaff =
|
StaffInfoVo responsibleStaff = SpringUtils.getBean(StaffService.class).getStaffInfo(task.getResponsibleStaffId());
|
||||||
SpringUtils.getBean(StaffService.class).getStaffInfo(task.getResponsibleStaffId());
|
|
||||||
List<String> phoneList = new ArrayList<>();
|
List<String> phoneList = new ArrayList<>();
|
||||||
phoneList.add(responsibleStaff.getPhoneNumber());
|
phoneList.add(responsibleStaff.getPhoneNumber());
|
||||||
|
if (StringUtils.equals(loginUserInfo.getString("phoneNumber"), responsibleStaff.getPhoneNumber())) {
|
||||||
|
//读取记录人信息
|
||||||
|
StaffInfoVo recordStaff = SpringUtils.getBean(StaffService.class).getStaffInfo(task.getRecordStaffId());
|
||||||
|
phoneList.add(recordStaff.getPhoneNumber());
|
||||||
|
} else {
|
||||||
phoneList.add(loginUserInfo.getString("phoneNumber"));
|
phoneList.add(loginUserInfo.getString("phoneNumber"));
|
||||||
|
}
|
||||||
// 通知记录
|
// 通知记录
|
||||||
try {
|
try {
|
||||||
SpringUtils.getBean(WebHookSendHandler.class)
|
SpringUtils.getBean(WebHookSendHandler.class)
|
||||||
@ -430,8 +443,9 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-工单提醒
|
* 工单模块-工单提交-工单提醒
|
||||||
* @author DB
|
*
|
||||||
* @param workOrderId 工单id
|
* @param workOrderId 工单id
|
||||||
|
* @author DB
|
||||||
* @since 2023-11-29 11:41:46
|
* @since 2023-11-29 11:41:46
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -474,20 +488,21 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-工单转需求
|
* 工单模块-工单提交-工单转需求
|
||||||
* @author DB
|
*
|
||||||
* @param workOrderId 工单id
|
* @param workOrderId 工单id
|
||||||
|
* @author DB
|
||||||
* @since 2023-11-29 12:30:21
|
* @since 2023-11-29 12:30:21
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void workOrderToDemand(String workOrderId) {
|
public void workOrderToDemand(String workOrderId) {
|
||||||
// 对比当前用户信息
|
// 对比当前用户信息
|
||||||
TaskWorkOrder workOrder = this.getById(workOrderId);
|
TaskWorkOrder workOrder = this.getById(workOrderId);
|
||||||
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
|
||||||
if (!StringUtils.equals(workOrder.getRecordStaffId(), loginUserInfo.getString("id"))) {
|
|
||||||
throw new ServiceException("当前操作员工不是当前工单提交人,请联系提交人操作");
|
|
||||||
}
|
|
||||||
// 获取任务
|
// 获取任务
|
||||||
Task task = SpringUtils.getBean(TaskService.class).getById(workOrder.getTaskId());
|
Task task = SpringUtils.getBean(TaskService.class).getById(workOrder.getTaskId());
|
||||||
|
JSONObject loginUserInfo = SecurityUtils.getInstance().getLoginUserInfo();
|
||||||
|
if (!StringUtils.equals(task.getRecordStaffId(), loginUserInfo.getString("id"))) {
|
||||||
|
throw new ServiceException("当前操作员工不是当前工单提交人,请联系提交人操作");
|
||||||
|
}
|
||||||
TaskDemandBo taskDemandBo = new TaskDemandBo();
|
TaskDemandBo taskDemandBo = new TaskDemandBo();
|
||||||
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
RedisService redisService = SpringUtils.getBean(RedisService.class);
|
||||||
String brandId = redisService.getCacheObject(OamConfigEnum.DEMAND_TO_TASK_BRAND.getKey());
|
String brandId = redisService.getCacheObject(OamConfigEnum.DEMAND_TO_TASK_BRAND.getKey());
|
||||||
@ -501,8 +516,9 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-工单暂停
|
* 工单模块-工单提交-工单暂停
|
||||||
* @author DB
|
*
|
||||||
* @param bo 请求参数
|
* @param bo 请求参数
|
||||||
|
* @author DB
|
||||||
* @since 2023-11-29 16:00:18
|
* @since 2023-11-29 16:00:18
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -550,8 +566,9 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单模块-工单提交-工单办结
|
* 工单模块-工单提交-工单办结
|
||||||
* @author DB
|
*
|
||||||
* @param workOrderId 工单id
|
* @param workOrderId 工单id
|
||||||
|
* @author DB
|
||||||
* @since 2023-11-29 15:44:08
|
* @since 2023-11-29 15:44:08
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -576,7 +593,7 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
StaffService staffService = SpringUtils.getBean(StaffService.class);
|
StaffService staffService = SpringUtils.getBean(StaffService.class);
|
||||||
Set<String> staffIds = new HashSet<>();
|
Set<String> staffIds = new HashSet<>();
|
||||||
staffIds.add(task.getResponsibleStaffId());
|
staffIds.add(task.getResponsibleStaffId());
|
||||||
staffIds.add(taskWorkOrder.getRecordStaffId());
|
staffIds.add(task.getRecordStaffId());
|
||||||
Map<String, StaffInfoVo> staffMap =
|
Map<String, StaffInfoVo> staffMap =
|
||||||
staffService
|
staffService
|
||||||
.listAs(
|
.listAs(
|
||||||
@ -593,7 +610,7 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
List<String> phoneList = new ArrayList<>();
|
List<String> phoneList = new ArrayList<>();
|
||||||
phoneList.add(staffMap.get(task.getResponsibleStaffId()).getPhoneNumber());
|
phoneList.add(staffMap.get(task.getResponsibleStaffId()).getPhoneNumber());
|
||||||
// 记录人手机号
|
// 记录人手机号
|
||||||
phoneList.add(staffMap.get(taskWorkOrder.getRecordStaffId()).getPhoneNumber());
|
phoneList.add(staffMap.get(task.getRecordStaffId()).getPhoneNumber());
|
||||||
// 通知记录
|
// 通知记录
|
||||||
try {
|
try {
|
||||||
SpringUtils.getBean(WebHookSendHandler.class)
|
SpringUtils.getBean(WebHookSendHandler.class)
|
||||||
@ -613,6 +630,7 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术模块-技术-获取个人工单列表
|
* 技术模块-技术-获取个人工单列表
|
||||||
|
*
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023-11-30 19:41:32
|
* @since 2023-11-30 19:41:32
|
||||||
*/
|
*/
|
||||||
@ -633,15 +651,13 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
// 获取未接受的工单
|
// 获取未接受的工单
|
||||||
queryWrapper.or(TASK.TASK_STATUS.in(1, 7));
|
queryWrapper.or(TASK.TASK_STATUS.in(1, 7));
|
||||||
}
|
}
|
||||||
return this.mapper.selectListByQueryAs(
|
return this.mapper.selectListByQueryAs(queryWrapper
|
||||||
queryWrapper
|
|
||||||
.select(TASK_WORK_ORDER.ID,
|
.select(TASK_WORK_ORDER.ID,
|
||||||
TASK_WORK_ORDER.PHONE_NUMBER,
|
TASK_WORK_ORDER.PHONE_NUMBER,
|
||||||
TASK_WORK_ORDER.RECORD_STAFF_ID,
|
|
||||||
TASK_WORK_ORDER.CREATE_TIME.as("createTime"),
|
TASK_WORK_ORDER.CREATE_TIME.as("createTime"),
|
||||||
TASK_WORK_ORDER.RECEIVING_TIME)
|
TASK_WORK_ORDER.RECEIVING_TIME)
|
||||||
// 任务
|
// 任务
|
||||||
.select(TASK.TASK_CONTENT, TASK.TASK_STATUS, TASK.TASK_RECEIPT_TIME)
|
.select(TASK.TASK_CONTENT, TASK.TASK_STATUS, TASK.TASK_RECEIPT_TIME, TASK.RECORD_STAFF_ID)
|
||||||
// 品牌
|
// 品牌
|
||||||
.select(BRAND.BRAND_NAME)
|
.select(BRAND.BRAND_NAME)
|
||||||
// 校区
|
// 校区
|
||||||
@ -663,11 +679,13 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否是第一个接收的技术员工
|
* 是否是第一个接收的技术员工
|
||||||
|
*
|
||||||
* @param taskWorkOrderId 工单记录id
|
* @param taskWorkOrderId 工单记录id
|
||||||
* @author DB
|
* @author DB
|
||||||
* @since 2023/12/04
|
* @since 2023/12/04
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void whetherReceive(String taskWorkOrderId) {
|
public void whetherReceive(String taskWorkOrderId) {
|
||||||
Task task = SpringUtils.getBean(TaskService.class).queryChain()
|
Task task = SpringUtils.getBean(TaskService.class).queryChain()
|
||||||
.leftJoin(TASK_WORK_ORDER).on(TASK_WORK_ORDER.TASK_ID.eq(TASK.ID))
|
.leftJoin(TASK_WORK_ORDER).on(TASK_WORK_ORDER.TASK_ID.eq(TASK.ID))
|
||||||
@ -682,10 +700,13 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
|
|||||||
.count();
|
.count();
|
||||||
//首次记录修改状态
|
//首次记录修改状态
|
||||||
if (count == 0) {
|
if (count == 0) {
|
||||||
LocalDateTime now = LocalDateTime.now();
|
|
||||||
task.setTaskStatus(2).setTaskReceiptTime(now);
|
|
||||||
//获取工单
|
//获取工单
|
||||||
TaskWorkOrder workOrder = this.getById(taskWorkOrderId);
|
TaskWorkOrder workOrder = this.getById(taskWorkOrderId);
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
SpringUtils.getBean(TaskService.class).updateChain()
|
||||||
|
.set(TASK.TASK_STATUS, 2)
|
||||||
|
.set(TASK.TASK_RECEIPT_TIME, now).where(TASK.ID.eq(task.getId()))
|
||||||
|
.update();
|
||||||
int receivingTime = now.compareTo(workOrder.getCreateTime());
|
int receivingTime = now.compareTo(workOrder.getCreateTime());
|
||||||
workOrder.setReceivingTime(receivingTime);
|
workOrder.setReceivingTime(receivingTime);
|
||||||
this.updateById(workOrder);
|
this.updateById(workOrder);
|
||||||
|
|||||||
@ -72,7 +72,7 @@ public class PersonTaskPageVo implements Serializable {
|
|||||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
||||||
private Integer taskRating;
|
private String taskRating;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 个人任务绩点
|
* 个人任务绩点
|
||||||
|
|||||||
@ -1,11 +1,13 @@
|
|||||||
package com.cpop.oam.business.vo;
|
package com.cpop.oam.business.vo;
|
||||||
|
|
||||||
|
import com.cpop.core.annontation.StringArrayConvert;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -54,13 +56,13 @@ public class TaskArchivingPagVo {
|
|||||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
||||||
private Integer taskRating;
|
private String taskRating;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务绩点
|
* 任务绩点
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty("任务绩点")
|
@ApiModelProperty("任务绩点")
|
||||||
private Integer gradePoint;
|
private Integer taskWeight;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开始时间
|
* 开始时间
|
||||||
@ -81,7 +83,14 @@ public class TaskArchivingPagVo {
|
|||||||
*/
|
*/
|
||||||
@ApiModelProperty("转部署时间")
|
@ApiModelProperty("转部署时间")
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private LocalDateTime toFinishTime;
|
private LocalDateTime toDeployTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 完成日期
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("完成日期")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private LocalDate completionDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 主体
|
* 主体
|
||||||
@ -98,6 +107,7 @@ public class TaskArchivingPagVo {
|
|||||||
/**
|
/**
|
||||||
* 操作流程
|
* 操作流程
|
||||||
*/
|
*/
|
||||||
|
@StringArrayConvert
|
||||||
@ApiModelProperty("操作流程")
|
@ApiModelProperty("操作流程")
|
||||||
private String testToFinishUrl;
|
private String testToFinishUrl;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -116,7 +116,7 @@ public class TaskDemandPageVo {
|
|||||||
|
|
||||||
/**任务评级(0:A;1:B;2:C;3:D;4:E) */
|
/**任务评级(0:A;1:B;2:C;3:D;4:E) */
|
||||||
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
||||||
private Integer taskRating;
|
private String taskRating;
|
||||||
|
|
||||||
/**任务接收员工Id */
|
/**任务接收员工Id */
|
||||||
@ApiModelProperty("领取人Id")
|
@ApiModelProperty("领取人Id")
|
||||||
|
|||||||
@ -0,0 +1,46 @@
|
|||||||
|
package com.cpop.oam.business.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author DB
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2023-12-06 15:31
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class TaskIndividualGpaDetailVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务状态
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "任务状态")
|
||||||
|
private Integer taskStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "任务")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务内容
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "任务内容")
|
||||||
|
private String taskContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 绩点
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "绩点")
|
||||||
|
private Integer gradePoint;
|
||||||
|
|
||||||
|
}
|
||||||
@ -40,49 +40,6 @@ public class TaskIndividualGpaVo {
|
|||||||
* 个人绩点
|
* 个人绩点
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "个人绩点")
|
@ApiModelProperty(value = "个人绩点")
|
||||||
private List<IndividualGpa> gpa;
|
private List<TaskIndividualGpaDetailVo> gpa;
|
||||||
|
|
||||||
/**
|
|
||||||
* 个人绩点
|
|
||||||
*
|
|
||||||
* @author DB
|
|
||||||
* @since 2023/12/05
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@Accessors(chain = true)
|
|
||||||
public class IndividualGpa {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务状态
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "任务状态")
|
|
||||||
private Integer taskStatus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务id
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "任务")
|
|
||||||
private String id;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务内容
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "任务内容")
|
|
||||||
private String taskContent;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 备注
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "备注")
|
|
||||||
private String remark;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 绩点
|
|
||||||
*/
|
|
||||||
@ApiModelProperty(value = "绩点")
|
|
||||||
private Integer gradePoint;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package com.cpop.oam.business.vo;
|
package com.cpop.oam.business.vo;
|
||||||
|
|
||||||
|
import com.cpop.core.annontation.StringArrayConvert;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -32,16 +33,29 @@ public class TaskToBeClaimedPageVo {
|
|||||||
|
|
||||||
/**附件地址 */
|
/**附件地址 */
|
||||||
@ApiModelProperty(value = "附件地址")
|
@ApiModelProperty(value = "附件地址")
|
||||||
|
@StringArrayConvert
|
||||||
private String attachmentUrl;
|
private String attachmentUrl;
|
||||||
|
|
||||||
/**任务评级(0:A;1:B;2:C;3:D;4:E) */
|
/**任务评级(0:A;1:B;2:C;3:D;4:E) */
|
||||||
@ApiModelProperty(value = "任务评级(0:A;1:B;2:C;3:D;4:E)")
|
@ApiModelProperty(value = "任务评级(0:A;1:B;2:C;3:D;4:E)")
|
||||||
private Integer taskRating;
|
private String taskRating;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务权重
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "任务权重(任务绩点)")
|
||||||
|
private Integer taskWeight;
|
||||||
|
|
||||||
/**任务类型(0:迭代;1:需求;2:投诉/工单) */
|
/**任务类型(0:迭代;1:需求;2:投诉/工单) */
|
||||||
@ApiModelProperty(value = "任务类型(0:迭代;1:需求;2:投诉/工单)")
|
@ApiModelProperty(value = "任务类型(0:迭代;1:需求;2:投诉/工单)")
|
||||||
private Integer taskType;
|
private Integer taskType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录员工id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "记录员工id")
|
||||||
|
private String recordStaffId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -119,6 +120,7 @@ public class DictDataServiceImpl extends ServiceImpl<DictDataMapper, DictData> i
|
|||||||
if (!dictDatas.stream().map(DictData::getId).collect(Collectors.toSet()).contains(dictData.getId())) {
|
if (!dictDatas.stream().map(DictData::getId).collect(Collectors.toSet()).contains(dictData.getId())) {
|
||||||
dictDatas.add(dictData);
|
dictDatas.add(dictData);
|
||||||
}
|
}
|
||||||
|
//排序
|
||||||
DictUtils.setDictCache(dictData.getDictType(), dictDatas);
|
DictUtils.setDictCache(dictData.getDictType(), dictDatas);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -138,6 +140,7 @@ public class DictDataServiceImpl extends ServiceImpl<DictDataMapper, DictData> i
|
|||||||
//判断新增的数据是否在缓存中
|
//判断新增的数据是否在缓存中
|
||||||
List<DictData> filterList = dictDatas.stream().filter(item -> !StringUtils.equals(item.getId(), dictData.getId())).collect(Collectors.toList());
|
List<DictData> filterList = dictDatas.stream().filter(item -> !StringUtils.equals(item.getId(), dictData.getId())).collect(Collectors.toList());
|
||||||
filterList.add(getById(dictData.getId()));
|
filterList.add(getById(dictData.getId()));
|
||||||
|
//排序
|
||||||
DictUtils.setDictCache(dictData.getDictType(), filterList);
|
DictUtils.setDictCache(dictData.getDictType(), filterList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,9 @@ import com.cpop.system.business.entity.DictData;
|
|||||||
import org.springframework.data.redis.cache.RedisCache;
|
import org.springframework.data.redis.cache.RedisCache;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典工具类
|
* 字典工具类
|
||||||
@ -31,7 +33,7 @@ public class DictUtils {
|
|||||||
* @param dictDatas 字典数据列表
|
* @param dictDatas 字典数据列表
|
||||||
*/
|
*/
|
||||||
public static void setDictCache(String key, List<DictData> dictDatas) {
|
public static void setDictCache(String key, List<DictData> dictDatas) {
|
||||||
SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), dictDatas);
|
SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), dictDatas.stream().sorted(Comparator.comparing(DictData::getDictSort)).collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user