Commit 341b2926 by MMF

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

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