Merge remote-tracking branch 'origin/qms/develop' into qms/develop
This commit is contained in:
commit
7a4bcb01b0
|
|
@ -5,7 +5,8 @@ import com.nflg.qms.admin.service.QmsIssueTicketTodoControllerService;
|
||||||
import com.nflg.wms.common.pojo.ApiResult;
|
import com.nflg.wms.common.pojo.ApiResult;
|
||||||
import com.nflg.wms.common.pojo.PageData;
|
import com.nflg.wms.common.pojo.PageData;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
import com.nflg.wms.common.pojo.vo.IssueTicketTodoNotReadNumVO;
|
||||||
|
import com.nflg.wms.common.pojo.vo.QmsIssueTicketToDoVO;
|
||||||
import com.nflg.wms.starter.BaseController;
|
import com.nflg.wms.starter.BaseController;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
|
@ -25,8 +26,16 @@ public class QmsIssueTicketTodoController extends BaseController {
|
||||||
* 查询
|
* 查询
|
||||||
*/
|
*/
|
||||||
@PostMapping("search")
|
@PostMapping("search")
|
||||||
public ApiResult<PageData<QmsTodoItemVO>> search(@Valid @RequestBody QmsTodoItemSearchQO request) {
|
public ApiResult<PageData<QmsIssueTicketToDoVO>> search(@Valid @RequestBody QmsTodoItemSearchQO request) {
|
||||||
IPage<QmsTodoItemVO> page = qmsIssueTicketTodoControllerService.search(request);
|
IPage<QmsIssueTicketToDoVO> page = qmsIssueTicketTodoControllerService.search(request);
|
||||||
return ApiResult.success(page);
|
return ApiResult.success(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取待办数量
|
||||||
|
*/
|
||||||
|
@GetMapping("getCount")
|
||||||
|
public ApiResult<IssueTicketTodoNotReadNumVO> getCount(){
|
||||||
|
return ApiResult.success(qmsIssueTicketTodoControllerService.getCount());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,12 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
import com.nflg.wms.common.pojo.vo.IssueTicketTodoNotReadNumVO;
|
||||||
|
import com.nflg.wms.common.pojo.vo.QmsIssueTicketToDoVO;
|
||||||
|
import com.nflg.wms.common.util.UserUtil;
|
||||||
import com.nflg.wms.repository.entity.QmsIssueTicketProcess;
|
import com.nflg.wms.repository.entity.QmsIssueTicketProcess;
|
||||||
import com.nflg.wms.repository.service.IQmsIssueTicketProcessService;
|
import com.nflg.wms.repository.service.IQmsIssueTicketProcessService;
|
||||||
import com.nflg.wms.repository.service.IQmsIssueTicketService;
|
|
||||||
import com.nflg.wms.repository.service.IQmsIssueTicketToDoService;
|
import com.nflg.wms.repository.service.IQmsIssueTicketToDoService;
|
||||||
import com.nflg.wms.repository.service.IQmsTodoItemService;
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
|
@ -28,10 +28,11 @@ public class QmsIssueTicketTodoControllerService {
|
||||||
/**
|
/**
|
||||||
* 分页查询待办事项列表
|
* 分页查询待办事项列表
|
||||||
*/
|
*/
|
||||||
public IPage<QmsTodoItemVO> search(QmsTodoItemSearchQO request) {
|
public IPage<QmsIssueTicketToDoVO> search(QmsTodoItemSearchQO request) {
|
||||||
IPage<QmsTodoItemVO> pageData = issueTicketToDoService.search(request);
|
IPage<QmsIssueTicketToDoVO> pageData = issueTicketToDoService.search(request);
|
||||||
if (CollectionUtil.isNotEmpty(pageData.getRecords())) {
|
if (CollectionUtil.isNotEmpty(pageData.getRecords())) {
|
||||||
pageData.getRecords().forEach(item -> {
|
pageData.getRecords().forEach(item -> {
|
||||||
|
item.setIsRead(true);
|
||||||
if (item.getStatus() != 2) {
|
if (item.getStatus() != 2) {
|
||||||
item.setCurrentHandleUserName(
|
item.setCurrentHandleUserName(
|
||||||
StrUtil.join(",",
|
StrUtil.join(",",
|
||||||
|
|
@ -50,4 +51,8 @@ public class QmsIssueTicketTodoControllerService {
|
||||||
}
|
}
|
||||||
return pageData;
|
return pageData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IssueTicketTodoNotReadNumVO getCount() {
|
||||||
|
return issueTicketToDoService.getCount(UserUtil.getUserId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.nflg.wms.common.pojo.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class IssueTicketTodoNotReadNumVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已读数量
|
||||||
|
*/
|
||||||
|
private Integer readNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未读数量
|
||||||
|
*/
|
||||||
|
private Integer unreadNum;
|
||||||
|
}
|
||||||
|
|
@ -8,7 +8,7 @@ import java.time.LocalDateTime;
|
||||||
* 待办事项 信息VO
|
* 待办事项 信息VO
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class QmsTodoItemVO {
|
public class QmsIssueTicketToDoVO {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
|
@ -61,4 +61,9 @@ public class QmsTodoItemVO {
|
||||||
* 类型:0=处理主工单,1=处理工单子项;2=审核工单子项
|
* 类型:0=处理主工单,1=处理工单子项;2=审核工单子项
|
||||||
*/
|
*/
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否已读
|
||||||
|
*/
|
||||||
|
private Boolean isRead;
|
||||||
}
|
}
|
||||||
|
|
@ -39,4 +39,9 @@ public class QmsIssueTicketToDo implements Serializable {
|
||||||
* 处理人ID
|
* 处理人ID
|
||||||
*/
|
*/
|
||||||
private Long handlerUserId;
|
private Long handlerUserId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否已读
|
||||||
|
*/
|
||||||
|
private Boolean isRead;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
import com.nflg.wms.common.pojo.vo.IssueTicketTodoNotReadNumVO;
|
||||||
|
import com.nflg.wms.common.pojo.vo.QmsIssueTicketToDoVO;
|
||||||
import com.nflg.wms.repository.entity.QmsIssueTicketToDo;
|
import com.nflg.wms.repository.entity.QmsIssueTicketToDo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -12,5 +13,7 @@ import com.nflg.wms.repository.entity.QmsIssueTicketToDo;
|
||||||
*/
|
*/
|
||||||
public interface QmsIssueTicketToDoMapper extends BaseMapper<QmsIssueTicketToDo> {
|
public interface QmsIssueTicketToDoMapper extends BaseMapper<QmsIssueTicketToDo> {
|
||||||
|
|
||||||
IPage<QmsTodoItemVO> search(QmsTodoItemSearchQO request, Long userId, Page<Object> page);
|
IPage<QmsIssueTicketToDoVO> search(QmsTodoItemSearchQO request, Long userId, Page<Object> page);
|
||||||
|
|
||||||
|
IssueTicketTodoNotReadNumVO getCount(Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,6 @@
|
||||||
package com.nflg.wms.repository.mapper;
|
package com.nflg.wms.repository.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
|
||||||
import com.nflg.wms.repository.entity.QmsTodoItem;
|
import com.nflg.wms.repository.entity.QmsTodoItem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@ package com.nflg.wms.repository.service;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
import com.nflg.wms.common.pojo.vo.IssueTicketTodoNotReadNumVO;
|
||||||
|
import com.nflg.wms.common.pojo.vo.QmsIssueTicketToDoVO;
|
||||||
import com.nflg.wms.repository.entity.QmsIssueTicketToDo;
|
import com.nflg.wms.repository.entity.QmsIssueTicketToDo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -14,7 +15,9 @@ public interface IQmsIssueTicketToDoService extends IService<QmsIssueTicketToDo>
|
||||||
/**
|
/**
|
||||||
* 分页查询待办事项列表
|
* 分页查询待办事项列表
|
||||||
*/
|
*/
|
||||||
IPage<QmsTodoItemVO> search(QmsTodoItemSearchQO request);
|
IPage<QmsIssueTicketToDoVO> search(QmsTodoItemSearchQO request);
|
||||||
|
|
||||||
void processed(Long id);
|
void processed(Long id);
|
||||||
|
|
||||||
|
IssueTicketTodoNotReadNumVO getCount(Long userId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,8 @@
|
||||||
package com.nflg.wms.repository.service;
|
package com.nflg.wms.repository.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
|
||||||
import com.nflg.wms.repository.entity.QmsTodoItem;
|
import com.nflg.wms.repository.entity.QmsTodoItem;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 待办事项 服务类
|
* 待办事项 服务类
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,19 @@
|
||||||
package com.nflg.wms.repository.service.impl;
|
package com.nflg.wms.repository.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
import com.nflg.wms.common.pojo.vo.IssueTicketTodoNotReadNumVO;
|
||||||
|
import com.nflg.wms.common.pojo.vo.QmsIssueTicketToDoVO;
|
||||||
import com.nflg.wms.common.util.UserUtil;
|
import com.nflg.wms.common.util.UserUtil;
|
||||||
import com.nflg.wms.repository.entity.QmsIssueTicketToDo;
|
import com.nflg.wms.repository.entity.QmsIssueTicketToDo;
|
||||||
import com.nflg.wms.repository.entity.QmsTodoItem;
|
|
||||||
import com.nflg.wms.repository.mapper.QmsIssueTicketToDoMapper;
|
import com.nflg.wms.repository.mapper.QmsIssueTicketToDoMapper;
|
||||||
import com.nflg.wms.repository.service.IQmsIssueTicketToDoService;
|
import com.nflg.wms.repository.service.IQmsIssueTicketToDoService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 质量问题工单待办 ServiceImpl
|
* 质量问题工单待办 ServiceImpl
|
||||||
|
|
@ -23,8 +24,22 @@ public class QmsIssueTicketToDoServiceImpl
|
||||||
implements IQmsIssueTicketToDoService {
|
implements IQmsIssueTicketToDoService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<QmsTodoItemVO> search(QmsTodoItemSearchQO request) {
|
public IPage<QmsIssueTicketToDoVO> search(QmsTodoItemSearchQO request) {
|
||||||
return baseMapper.search(request, UserUtil.getUserId(), new Page<>(request.getPage(), request.getPageSize()));
|
IPage<QmsIssueTicketToDoVO> pageData = baseMapper.search(request, UserUtil.getUserId(), new Page<>(request.getPage(), request.getPageSize()));
|
||||||
|
if (CollectionUtil.isNotEmpty(pageData.getRecords())) {
|
||||||
|
List<Long> ticketIds = pageData.getRecords()
|
||||||
|
.stream()
|
||||||
|
.filter(todo -> !todo.getIsRead())
|
||||||
|
.map(QmsIssueTicketToDoVO::getId)
|
||||||
|
.toList();
|
||||||
|
if (CollectionUtil.isNotEmpty(ticketIds)) {
|
||||||
|
lambdaUpdate()
|
||||||
|
.in(QmsIssueTicketToDo::getTicketId, ticketIds)
|
||||||
|
.set(QmsIssueTicketToDo::getIsRead, true)
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return pageData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -36,4 +51,9 @@ public class QmsIssueTicketToDoServiceImpl
|
||||||
.eq(QmsIssueTicketToDo::getHasProcessed, false)
|
.eq(QmsIssueTicketToDo::getHasProcessed, false)
|
||||||
.update();
|
.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IssueTicketTodoNotReadNumVO getCount(Long userId) {
|
||||||
|
return baseMapper.getCount(userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,11 @@
|
||||||
package com.nflg.wms.repository.service.impl;
|
package com.nflg.wms.repository.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsTodoItemSearchQO;
|
|
||||||
import com.nflg.wms.common.pojo.vo.QmsTodoItemVO;
|
|
||||||
import com.nflg.wms.common.util.UserUtil;
|
|
||||||
import com.nflg.wms.repository.entity.QmsTodoItem;
|
import com.nflg.wms.repository.entity.QmsTodoItem;
|
||||||
import com.nflg.wms.repository.mapper.QmsTodoItemMapper;
|
import com.nflg.wms.repository.mapper.QmsTodoItemMapper;
|
||||||
import com.nflg.wms.repository.service.IQmsTodoItemService;
|
import com.nflg.wms.repository.service.IQmsTodoItemService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 待办事项 服务实现类
|
* 待办事项 服务实现类
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,14 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.nflg.wms.repository.mapper.QmsIssueTicketToDoMapper">
|
<mapper namespace="com.nflg.wms.repository.mapper.QmsIssueTicketToDoMapper">
|
||||||
|
|
||||||
<select id="search" resultType="com.nflg.wms.common.pojo.vo.QmsTodoItemVO">
|
<select id="search" resultType="com.nflg.wms.common.pojo.vo.QmsIssueTicketToDoVO">
|
||||||
SELECT
|
SELECT
|
||||||
CASE
|
CASE
|
||||||
WHEN vit."type" = 0 THEN 0
|
WHEN vit."type" = 0 THEN 0
|
||||||
WHEN vit.handler_user_id = #{userId} THEN 1
|
WHEN vit.handler_user_id = #{userId} THEN 1
|
||||||
WHEN vit.approval_user_id = #{userId} THEN 2
|
WHEN vit.approval_user_id = #{userId} THEN 2
|
||||||
END AS type,
|
END AS type,
|
||||||
|
itd.is_read,
|
||||||
vit.*
|
vit.*
|
||||||
FROM qms_issue_ticket_todo itd
|
FROM qms_issue_ticket_todo itd
|
||||||
INNER JOIN v_qms_issue_ticket vit ON itd.ticket_id = vit.ticket_id
|
INNER JOIN v_qms_issue_ticket vit ON itd.ticket_id = vit.ticket_id
|
||||||
|
|
@ -31,4 +32,10 @@
|
||||||
ORDER BY itd.id DESC
|
ORDER BY itd.id DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getCount" resultType="com.nflg.wms.common.pojo.vo.IssueTicketTodoNotReadNumVO">
|
||||||
|
SELECT SUM(CASE is_read WHEN true THEN 1 ELSE 0 END) AS "readNum",
|
||||||
|
SUM(CASE is_read WHEN true THEN 0 ELSE 1 END) AS "unreadNum"
|
||||||
|
FROM qms_issue_ticket_todo
|
||||||
|
WHERE handler_user_id = #{userId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue