Commit 341b2926 by MMF

MMF 2026-03-19 修改我的已办撤销状态的判断条件

parent 33830bf9
......@@ -30,14 +30,13 @@ import com.zjsgfa.framework.web.page.TableDataInfo;
/**
* 待办事项Controller
*
*
* @author ruoyi
* @date 2026-02-11
*/
@RestController
@RequestMapping("/system/bizTodoItem")
public class BizTodoItemController extends BaseController
{
public class BizTodoItemController extends BaseController {
@Autowired
private IBizTodoItemService bizTodoItemService;
......@@ -49,8 +48,7 @@ public class BizTodoItemController extends BaseController
*/
//@PreAuthorize("@ss.hasPermi('system:bizTodoItem:list')")
@GetMapping("/list")
public TableDataInfo list(BizTodoItem bizTodoItem)
{
public TableDataInfo list(BizTodoItem bizTodoItem) {
startPage();
bizTodoItem.setIsHandle("0");
bizTodoItem.setTodoUserId(SecurityUtils.getUsername());
......@@ -61,8 +59,7 @@ public class BizTodoItemController extends BaseController
//已办任务
@GetMapping("/doneList")
public TableDataInfo getdolist(BizTodoItem bizTodoItem)
{
public TableDataInfo getdolist(BizTodoItem bizTodoItem) {
startPage();
bizTodoItem.setIsHandle("1");
bizTodoItem.setTodoUserId(SecurityUtils.getUsername());
......@@ -70,29 +67,37 @@ public class BizTodoItemController extends BaseController
List<BizTodoItem> list = bizTodoItemService.selectBizTodoItemList(bizTodoItem);
List<Task> taskList_all = taskService.createTaskQuery().list();
for(BizTodoItem item :list){
for (BizTodoItem item : list) {
item.setCxbs("0"); // 初始化撤销状态
// if(item.getNodeName().equals("开始节点")){
List<Task> taskList = taskList_all.stream().filter(d -> item.getInstanceId().equals(d.getProcessInstanceId()) )
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(taskList)) {
TaskEntityImpl task = (TaskEntityImpl) taskList.get(0);
List<Task> taskList = taskList_all.stream().filter(d -> item.getInstanceId().equals(d.getProcessInstanceId()))
.collect(Collectors.toList());
// 根据当前流程ID、当前人员、以及任务名称分组,查询最大的处理时间
BizTodoItem lastTodoItem = bizTodoItemService.listMaxHandleTimeGroup(BizTodoItem.builder()
.taskName(item.getTaskName())
.instanceId(item.getInstanceId())
.todoUserId(item.getTodoUserId()).build());
if (!CollectionUtils.isEmpty(taskList)) {
TaskEntityImpl task = (TaskEntityImpl) taskList.get(0);
// item.setTaskId(task.getId());
if (task.getSuspensionState() == 2) {
item.setDqtaskName("已挂起");
} else {
item.setDqtaskName(task.getName());
}
if (task.getSuspensionState() == 2) {
item.setDqtaskName("已挂起");
} else {
// 已办结或者已撤销
item.setDqtaskName("已结束");
item.setDqtaskName(task.getName());
}
if ("安全审批".equals(item.getDqtaskName()) && "开始节点".equals(item.getNodeName()) && item.getHandleTime().getTime() == lastTodoItem.getMaxHandleTime().getTime()) {
item.setCxbs("1"); // 初始化撤销状态
}
} else {
// 已办结或者已撤销
item.setDqtaskName("已结束");
}
// }
}
return getDataTable(list);
}
......@@ -102,8 +107,7 @@ public class BizTodoItemController extends BaseController
//@PreAuthorize("@ss.hasPermi('system:bizTodoItem:export')")
@Log(title = "待办事项", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, BizTodoItem bizTodoItem)
{
public void export(HttpServletResponse response, BizTodoItem bizTodoItem) {
List<BizTodoItem> list = bizTodoItemService.selectBizTodoItemList(bizTodoItem);
ExcelUtil<BizTodoItem> util = new ExcelUtil<BizTodoItem>(BizTodoItem.class);
util.exportExcel(response, list, "待办事项数据");
......@@ -114,8 +118,7 @@ public class BizTodoItemController extends BaseController
*/
//@PreAuthorize("@ss.hasPermi('system:bizTodoItem:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(bizTodoItemService.selectBizTodoItemById(id));
}
......@@ -125,8 +128,7 @@ public class BizTodoItemController extends BaseController
//@PreAuthorize("@ss.hasPermi('system:bizTodoItem:add')")
@Log(title = "待办事项", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BizTodoItem bizTodoItem)
{
public AjaxResult add(@RequestBody BizTodoItem bizTodoItem) {
return toAjax(bizTodoItemService.insertBizTodoItem(bizTodoItem));
}
......@@ -136,8 +138,7 @@ public class BizTodoItemController extends BaseController
//@PreAuthorize("@ss.hasPermi('system:bizTodoItem:edit')")
@Log(title = "待办事项", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BizTodoItem bizTodoItem)
{
public AjaxResult edit(@RequestBody BizTodoItem bizTodoItem) {
return toAjax(bizTodoItemService.updateBizTodoItem(bizTodoItem));
}
......@@ -146,9 +147,8 @@ public class BizTodoItemController extends BaseController
*/
//@PreAuthorize("@ss.hasPermi('system:bizTodoItem:remove')")
@Log(title = "待办事项", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(bizTodoItemService.deleteBizTodoItemByIds(ids));
}
}
......@@ -4,7 +4,10 @@ import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjsgfa.framework.aspectj.lang.annotation.Excel;
import com.zjsgfa.framework.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 待办事项对象 biz_todo_item
......@@ -13,6 +16,9 @@ import lombok.Data;
* @date 2026-02-11
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BizTodoItem extends BaseEntity
{
private static final long serialVersionUID = 1L;
......@@ -97,4 +103,14 @@ public class BizTodoItem extends BaseEntity
*/
private String dzqm;
/**
* 撤销标识 0=不允许撤销 1=允许撤销
*/
private String cxbs;
/**
* 最大处理时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date maxHandleTime;
}
......@@ -78,4 +78,8 @@ public interface BizTodoItemMapper
*/
List<BizTodoItem> lastHistoryByInstanceId(String instanceId);
/**
* 根据当前流程ID、当前人员、以及任务名称分组,查询最大的处理时间
*/
public BizTodoItem listMaxHandleTimeGroup(BizTodoItem bizTodoItem);
}
......@@ -71,4 +71,9 @@ public interface IBizTodoItemService
* 获取最后一个开始之后的审批历史
*/
List<BizTodoItem> lastHistoryByInstanceId(String instanceId);
/**
* 根据当前流程ID、当前人员、以及任务名称分组,查询最大的处理时间
*/
public BizTodoItem listMaxHandleTimeGroup(BizTodoItem bizTodoItem);
}
......@@ -183,4 +183,13 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService
List<BizTodoItem> dataList = bizTodoItemMapper.lastHistoryByInstanceId(instanceId);
return dataList;
}
/**
* 根据当前流程ID、当前人员、以及任务名称分组,查询最大的处理时间
*/
@Override
public BizTodoItem listMaxHandleTimeGroup(BizTodoItem bizTodoItem) {
BizTodoItem info = bizTodoItemMapper.listMaxHandleTimeGroup(bizTodoItem);
return info;
}
}
......@@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="todoTime" column="todo_time" />
<result property="handleTime" column="handle_time" />
<result property="comment" column="comment" />
<result property="maxHandleTime" column="max_handle_time" />
</resultMap>
<sql id="selectBizTodoItemVo">
......@@ -214,4 +215,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
instance_id = #{instanceId}
AND id >= ( SELECT MAX(id) FROM biz_todo_item WHERE instance_id = #{instanceId} AND task_name = 'taskTb')
</select>
<select id="listMaxHandleTimeGroup" parameterType="BizTodoItem" resultMap="BizTodoItemResult">
SELECT
instance_id,
task_name,
todo_user_id,
max(handle_time) max_handle_time
FROM biz_todo_item
<where>
<if test="taskName != null">task_name = #{taskName}</if>
<if test="instanceId != null and instanceId != ''"> and instance_id = #{instanceId}</if>
<if test="todoUserId != null and todoUserId != ''"> and todo_user_id = #{todoUserId}</if>
</where>
GROUP BY
instance_id,
task_name,
todo_user_id
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment