diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/controller/FlowTaskController.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/controller/FlowTaskController.java index 2aca5df..7d42009 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/controller/FlowTaskController.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/controller/FlowTaskController.java @@ -166,7 +166,6 @@ public class FlowTaskController extends BaseController { //审批意见") String taskComment = request.getParameter("taskComment"); - //判断当前任务审批人是否一致 if(!this.ocrTaskchildPictureService.validateAssignee(formid,userToken)){ return ResultVoUtil.error("审批人不一致,请到任务审批中处理。"); @@ -647,7 +646,7 @@ public class FlowTaskController extends BaseController { }) @GetMapping("/repetitionTask") @ResponseBody - public ResultVo repetitionTask(HttpServletRequest request){ + public ResultVo repetitionTask(){ return flowTaskService.repetitionTask(); } } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java index a947fa0..7d39b31 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java @@ -452,6 +452,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask variables.put("taskApprovd", taskVO.getTaskApprovd().intValue()); } variables.put("approvd", taskVO.getApprovd()); + OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(taskVO.getFormid())); //只有同意,再进行候选人设置 if (taskVO.getApprovd()) { @@ -498,7 +499,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask IFormCustomService iFormCustomService = SpringUtils.getBean(categoryDto.getServicename()); FlowModelVO formData = iFormCustomService.getForm(taskVO.getFormid()); - OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(taskVO.getFormid())); List taskList = this.nowRunTask(formData.getProcessInstanceId(), formData.getProcessdefinitionid()); Task taskData = null; @@ -509,30 +509,33 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask if (null != taskData && StringUtils.isNotBlank(taskData.getDescription()) && taskData.getDescription().equals(SystemConstantsOa.OA_TASK_COMPLETE_FINALE_FORM)) { User user = userService.findByLoginname(formData.getAssignee()); userFinalService.save(user.getId().toString(), taskVO.getFormid()); + model.setFinishtime(System.currentTimeMillis()); + ocrTaskchildPictureService.updateById(model); + }else{ + UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); + cn.jyjz.xiaoyao.common.base.vo.User byLoginname = userTokenService.findByLoginname(model.getAssignee()); + OcrMsg msg = new OcrMsg(); + msg.setCreateTime(System.currentTimeMillis()); + msg.setSendTime(System.currentTimeMillis()); + msg.setReceiveUserIds(byLoginname.getId().toString()); + msg.setTitile(model.getFromtaskname()); + msg.setSender(Long.valueOf(userToken.getUserid())); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("taskId", model.getFromtaskid()); + jsonObject.put("nodeName", model.getTaskname()); + jsonObject.put("states", model.getStates()); + jsonObject.put("sendUserId", userToken.getUserid()); + jsonObject.put("sendUserName", userToken.getUsername()); + jsonObject.put("sendTime", System.currentTimeMillis()); + jsonObject.put("fromId", model.getId().toString()); + jsonObject.put("taskName", model.getFromtaskname()); + jsonObject.put("packageId",model.getPackageid()); + msg.setBusJson(jsonObject.toJSONString()); + msg.setCreateBy(Long.valueOf(userToken.getUserid())); + msg.setCreateTime(System.currentTimeMillis()); + msg.setSendStatus("1"); + ocrMsgService.save(msg); } - UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); - cn.jyjz.xiaoyao.common.base.vo.User byLoginname = userTokenService.findByLoginname(model.getAssignee()); - OcrMsg msg = new OcrMsg(); - msg.setCreateTime(System.currentTimeMillis()); - msg.setSendTime(System.currentTimeMillis()); - msg.setReceiveUserIds(byLoginname.getId().toString()); - msg.setTitile(model.getFromtaskname()); - msg.setSender(Long.valueOf(userToken.getUserid())); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("taskId", model.getFromtaskid()); - jsonObject.put("nodeName", model.getTaskname()); - jsonObject.put("states", model.getStates()); - jsonObject.put("sendUserId", userToken.getUserid()); - jsonObject.put("sendUserName", userToken.getUsername()); - jsonObject.put("sendTime", System.currentTimeMillis()); - jsonObject.put("fromId", model.getId().toString()); - jsonObject.put("taskName", model.getFromtaskname()); - msg.setBusJson(jsonObject.toJSONString()); - msg.setCreateBy(Long.valueOf(userToken.getUserid())); - msg.setCreateTime(System.currentTimeMillis()); - msg.setSendStatus("1"); - - ocrMsgService.save(msg); //增加未查看记录 userViewApproeService.saveUserViewApproe(formData.getAssignee(), formData.getFormid().toString(), formData.getTenantid().toString()); } else { @@ -569,7 +572,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask List executionIds = new ArrayList<>(); executions.forEach(execution -> executionIds.add(execution.getId())); runtimeService.createChangeActivityStateBuilder().moveExecutionsToSingleActivityId(executionIds, endId).processVariables(variables).changeState(); - + model.setFinishtime(System.currentTimeMillis()); + ocrTaskchildPictureService.updateById(model); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/dataDao/FlowableccMybatisDao.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/dataDao/FlowableccMybatisDao.java index fbbce38..3f3d718 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/dataDao/FlowableccMybatisDao.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/dataDao/FlowableccMybatisDao.java @@ -2,6 +2,7 @@ package cn.jyjz.xiaoyao.oa.from.dataDao; import cn.jyjz.xiaoyao.oa.from.dataobject.Flowablecc; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; +import cn.jyjz.xiaoyao.oa.from.vo.RepeatedContentVo; import cn.jyjz.xiaoyao.oa.from.vo.UserDistionaryVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -36,5 +37,5 @@ public interface FlowableccMybatisDao extends BaseMapper { */ List selectUserByFromid(String fromid); - List> repetitionTask(); + List repetitionTask(); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/UserapproveServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/UserapproveServiceImpl.java index f58a6fc..bfb5d8a 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/UserapproveServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/service/impl/UserapproveServiceImpl.java @@ -32,9 +32,9 @@ public class UserapproveServiceImpl extends BaseServiceImpl repeatedTaskList; + + +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedTaskVo.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedTaskVo.java new file mode 100644 index 0000000..aa28ba5 --- /dev/null +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/oa/from/vo/RepeatedTaskVo.java @@ -0,0 +1,27 @@ +package cn.jyjz.xiaoyao.oa.from.vo; + +import lombok.Data; + +/** + * ClassName: RepeatedTaskVo$.java + * Description: + * Author: scl. + * Date: 2024/3/21 14:36 + */ +@Data +public class RepeatedTaskVo { + + private String taskId; + + private String taskName; + + private String nodeName; + + private Integer states; + + private String similarityScore; + + private String fromTime; + + private String updateTime; +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java index 1900a32..20cb4ee 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java @@ -163,10 +163,18 @@ public class OcrTaskchildPicture implements BaseDto, java.io.Serializable { @TableField(value = "FROMUSERID") private String fromuserid; + @ApiModelProperty(value = "提报人名称") + @TableField(value = "FROMUSERNAME") + private String fromusername; + @ApiModelProperty(value = "所属项目") @TableField(value = "FROMPROJECTID") private String fromprojectid; + @ApiModelProperty(value = "所属项目名称") + @TableField(value = "FROMPROJECTNAME") + private String fromprojectname; + @ApiModelProperty(value = "所属计划") @TableField(value = "FROMPLANID") private String fromplanid; @@ -187,6 +195,10 @@ public class OcrTaskchildPicture implements BaseDto, java.io.Serializable { @TableField(value = "TASKNAME") private String taskname; + @Schema(description = "完成时间") + @TableField(value = "FINISHTIME") + private Long finishtime; + @ApiModelProperty(value = "项目对象") @TableField(exist = false) private Category categoryDto; diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java index 36450b5..2190950 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java @@ -488,6 +488,8 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl + + + + + + + + + + + + + + + + ID AS formid, BUESSINESSNO AS buessinessno, @@ -182,12 +198,23 @@ - +