diff --git a/src/com/amarsoft/app/flow/FlowAction.java b/src/com/amarsoft/app/flow/FlowAction.java index 577b944f2..b6556d9bc 100644 --- a/src/com/amarsoft/app/flow/FlowAction.java +++ b/src/com/amarsoft/app/flow/FlowAction.java @@ -1029,7 +1029,7 @@ public class FlowAction { // 根据任务编号,查出流程的编号,阶段编号,对象类型,对象编号:新增加xuyunlong 归档每一步归档 ft = ftManager .createQuery( - "select O.flowno,O.phaseno,O.objecttype,O.objectno,O.userid,O.orgid from O where serialNo=:serialNo ") + "select O.flowno,O.phaseno,O.FLOWSTATE,O.ASSIGNEDTASKNO,O.objecttype,O.objectno,O.userid,O.orgid from O where serialNo=:serialNo ") .setParameter("serialNo", taskNo).getSingleResult(false); // 将数据保存到历史记录里 PhaseInfoArchive(ft.getAttribute("flowno").getString(), ft @@ -1071,6 +1071,16 @@ public class FlowAction { } }else{ flowService.commitAction(taskNo, phaseAction, phaseOpinion, "", tx); + + if(ft.getAttribute("FLOWSTATE").getString().equals("ANYBACK")){ //退回之后再提交 + + if(ft.getAttribute("ASSIGNEDTASKNO")!=null){ + if(ft.getAttribute("ASSIGNEDTASKNO").getString().length()>0){//如果退回再提交给原处理人要更新状态 + ftManager.createQuery("update o set FLOWSTATE='NORMAL' WHERE objectno=:objectno and endtime is null") + .setParameter("objectno", ft.getAttribute("objectno").getString()).executeUpdate(); + } + } + } } // 更新代理人 BizObject taskUser = ftManager.createQuery("select O.userId from O where O.SERIALNO=:taskNo").setParameter("taskNo", this.taskNo).getSingleResult(false);