Index: ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskForm.js =================================================================== diff -u -r21950 -r21957 --- ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskForm.js (.../workFlowApprovalTaskForm.js) (revision 21950) +++ ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTaskForm.js (.../workFlowApprovalTaskForm.js) (revision 21957) @@ -507,7 +507,17 @@ function passSaveHandleOpinionFlag(nodeDefinitionId, nodeDefinitionName, workFlowApprovalTaskId, approvalResult, handleOpinion, userId, formId, formType) { var sub = document.getElementById("formIframe").contentWindow; if(!sub) return false; - return sub.updateExpensiveGoodsApplicationByPass(nodeDefinitionId, nodeDefinitionName, workFlowApprovalTaskId, approvalResult, handleOpinion, userId, formId, formType); + var workFlowApprovalTaskVO = { + nodeDefinitionId: nodeDefinitionId, + nodeDefinitionName: nodeDefinitionName, + workFlowApprovalTaskId: workFlowApprovalTaskId, + approvalResult: APPROVALRESULT_PASS, + handleOpinion: handleOpinion, + userId: userId, + formId: formId, + formType: formType + }; + return sub.updateExpensiveGoodsApplicationByApproval(workFlowApprovalTaskVO); } /** @@ -520,8 +530,14 @@ function failHandleOpinionFlag(id,formId,approvalResult,handleOpinion){ var sub = document.getElementById("formIframe").contentWindow; if(!sub) return false; - return sub.updateExpensiveGoodsApplicationByFail(id,formId,0,handleOpinion); -}; + var workFlowApprovalTaskVO = { + workFlowApprovalTaskId: id, + formId: formId, + approvalResult: APPROVALRESULT_FAIL, + handleOpinion: handleOpinion + }; + return sub.updateExpensiveGoodsApplicationByApproval(workFlowApprovalTaskVO); +} /** * 审批回退 @@ -530,8 +546,14 @@ * @param handleOpinion 处理意见 * @returns */ - function callbackSaveHandleOpinionFlag(nodeDefinitionId,id,approvalResult,handleOpinion){ - var sub = document.getElementById("formIframe").contentWindow; - if(!sub) return false; - return sub.updateExpensiveGoodsApplicationByRollBack(nodeDefinitionId,id,-1,handleOpinion); - }; \ No newline at end of file +function callbackSaveHandleOpinionFlag(nodeDefinitionId,id,approvalResult,handleOpinion){ + var sub = document.getElementById("formIframe").contentWindow; + if(!sub) return false; + var workFlowApprovalTaskVO = { + nodeDefinitionId: nodeDefinitionId, + workFlowApprovalTaskId: id, + approvalResult: APPROVALRESULT_CALLBACK, + handleOpinion: handleOpinion + }; + return sub.updateExpensiveGoodsApplicationByApproval(workFlowApprovalTaskVO); +} \ No newline at end of file Index: forgon-core/src/main/java/com/forgon/workflow/vo/WorkFlowApprovalTaskVO.java =================================================================== diff -u -r21950 -r21957 --- forgon-core/src/main/java/com/forgon/workflow/vo/WorkFlowApprovalTaskVO.java (.../WorkFlowApprovalTaskVO.java) (revision 21950) +++ forgon-core/src/main/java/com/forgon/workflow/vo/WorkFlowApprovalTaskVO.java (.../WorkFlowApprovalTaskVO.java) (revision 21957) @@ -1,4 +1,7 @@ package com.forgon.workflow.vo; + +import com.forgon.directory.acegi.tools.AcegiHelper; + /** * 待办任务处理的VO对象 * @author Chenjiaru 2018-01-10 @@ -12,9 +15,9 @@ private Long workFlowApprovalTaskId; /** - * 审批结果: 1(通过) 0(未通过) -1(回退) + * 审批结果 */ - private Integer approvalResult = 1; + private Integer approvalResult; /** * 处理意见 @@ -47,11 +50,16 @@ private Long formId; /** - * 实际处理人 - * */ - private String handler; + * 实际处理人,默认为当前登录用户 + */ + private String handler = AcegiHelper.getLoginUser().getUserFullName(); + /** + * 实际处理人,默认为当前登录用户id + */ + private Long handlerId = AcegiHelper.getLoginUser().getUserId(); + public Long getWorkFlowApprovalTaskId() { return workFlowApprovalTaskId; } @@ -123,4 +131,12 @@ public void setHandler(String handler) { this.handler = handler; } + + public Long getHandlerId() { + return handlerId; + } + + public void setHandlerId(Long handlerId) { + this.handlerId = handlerId; + } } Index: forgon-core/src/main/java/com/forgon/workflow/service/WorkFlowApprovalTaskManagerImpl.java =================================================================== diff -u -r21947 -r21957 --- forgon-core/src/main/java/com/forgon/workflow/service/WorkFlowApprovalTaskManagerImpl.java (.../WorkFlowApprovalTaskManagerImpl.java) (revision 21947) +++ forgon-core/src/main/java/com/forgon/workflow/service/WorkFlowApprovalTaskManagerImpl.java (.../WorkFlowApprovalTaskManagerImpl.java) (revision 21957) @@ -51,10 +51,9 @@ //获取下一个节点 NodeDefinition nextNodeDefinition = nodeDefinitionManager.getNextNodeDefinition(workFlowApprovalTaskVO.getNodeDefinitionId()); - LoginUserData userData= AcegiHelper.getLoginUser(); workFlowApprovalTask.setNodeDefinition(nodeDefinition); - workFlowApprovalTask.setHandlerId(userData.getUserId()); - workFlowApprovalTask.setHandler(userData.getUserName()); + workFlowApprovalTask.setHandlerId(workFlowApprovalTaskVO.getHandlerId()); + workFlowApprovalTask.setHandler(workFlowApprovalTaskVO.getHandler()); workFlowApprovalTask.setHandleTime(new Date()); workFlowApprovalTask.setHandleOpinion(workFlowApprovalTaskVO.getHandleOpinion()); workFlowApprovalTask.setApprovalResult(workFlowApprovalTaskVO.getApprovalResult()); @@ -71,7 +70,6 @@ workFlowApprovalTask1.setCreateTaskTime(new Date()); if(DatabaseUtil.isPoIdValid(workFlowApprovalTaskVO.getUserId())){//用户没有指定下一个,则默认节点审批的角色和用户 workFlowApprovalTask1.setUserId(workFlowApprovalTaskVO.getUserId()); - workFlowApprovalTask1.setApprovalResult(-1); workFlowApprovalTask1.setStatus(0); }else{ NodeApproval nodeApproval=(NodeApproval) objectDao.getByProperty(NodeApproval.class.getSimpleName(), "nodeDefinition.id", nextNodeDefinition.getId()); @@ -97,10 +95,9 @@ //获取上一个节点 NodeDefinition nodeDefinition1=nodeDefinitionManager.getLastNodeDefinition(workFlowApprovalTaskVO.getNodeDefinitionId()); - LoginUserData userData= AcegiHelper.getLoginUser(); workFlowApprovalTask.setHandleOpinion(workFlowApprovalTaskVO.getHandleOpinion()); - workFlowApprovalTask.setHandlerId(userData.getUserId()); - workFlowApprovalTask.setHandler(userData.getUserName()); + workFlowApprovalTask.setHandlerId(workFlowApprovalTaskVO.getHandlerId()); + workFlowApprovalTask.setHandler(workFlowApprovalTaskVO.getHandler()); workFlowApprovalTask.setHandleTime(new Date()); workFlowApprovalTask.setStatus(1); workFlowApprovalTask.setApprovalResult(workFlowApprovalTaskVO.getApprovalResult()); @@ -314,12 +311,11 @@ * 审批不通过 */ public void failWorkFlowApprovalTask(WorkFlowApprovalTaskVO workFlowApprovalTaskVO) { - LoginUserData userData= AcegiHelper.getLoginUser(); WorkFlowApprovalTask workFlowApprovalTask=getWorkFlowApprovalTask(workFlowApprovalTaskVO.getWorkFlowApprovalTaskId()+""); if(workFlowApprovalTask!=null){ workFlowApprovalTask.setHandleOpinion(workFlowApprovalTaskVO.getHandleOpinion()); - workFlowApprovalTask.setHandlerId(userData.getUserId()); - workFlowApprovalTask.setHandler(userData.getUserName()); + workFlowApprovalTask.setHandlerId(workFlowApprovalTaskVO.getHandlerId()); + workFlowApprovalTask.setHandler(workFlowApprovalTaskVO.getHandler()); workFlowApprovalTask.setHandleTime(new Date()); workFlowApprovalTask.setStatus(1); workFlowApprovalTask.setApprovalResult(workFlowApprovalTaskVO.getApprovalResult()); @@ -359,7 +355,6 @@ workFlowApprovalTask1.setTitle(workFlowApprovalTask2.getFormId()+workFlowApprovalTask2.getFormType()); workFlowApprovalTask1.setCreateTaskTime(new Date()); workFlowApprovalTask1.setUserId(workFlowApprovalTask2.getUserId()); - workFlowApprovalTask1.setApprovalResult(-1); workFlowApprovalTask1.setStatus(0); saveOrUpdateWorkFlowApprovalTask(workFlowApprovalTask1); }else{//节点为空,返回申请人---前台调用家的修改单流程状态 @@ -373,7 +368,6 @@ workFlowApprovalTask1.setCreateTaskTime(new Date()); if(user!=null) workFlowApprovalTask1.setUserId(user.getId()); - workFlowApprovalTask1.setApprovalResult(-1); workFlowApprovalTask1.setStatus(0); saveOrUpdateWorkFlowApprovalTask(workFlowApprovalTask1); } Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationFormForApproval.js =================================================================== diff -u -r21950 -r21957 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationFormForApproval.js (.../expensiveGoodsApplicationFormForApproval.js) (revision 21950) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationFormForApproval.js (.../expensiveGoodsApplicationFormForApproval.js) (revision 21957) @@ -552,65 +552,7 @@ /** - * 审批回退 - * @param nodeDefinition_id 当前节点id - * @param workFlowApprovalTaskId 当前待办任务id - * @param approvalResult 审批结果 - * @param handleOpinion 处理意见 - */ -function updateExpensiveGoodsApplicationByRollBack(nodeDefinitionId,workFlowApprovalTaskId,approvalResult,handleOpinion) { - var workFlowApprovalTaskVO = { - nodeDefinitionId: nodeDefinitionId, - workFlowApprovalTaskId: workFlowApprovalTaskId, - approvalResult: approvalResult, - handleOpinion: handleOpinion - }; - updateExpensiveGoodsApplicationByApproval(workFlowApprovalTaskVO); -} - -/** - * 审批不通过 - * @param workFlowApprovalTaskId 当前待办任务id - * @param formId 表单id - * @param approvalResult 审批结果 - * @param handleOpinion 处理意见 - */ -function updateExpensiveGoodsApplicationByFail(workFlowApprovalTaskId,formId,approvalResult,handleOpinion) { - var workFlowApprovalTaskVO = { - workFlowApprovalTaskId: workFlowApprovalTaskId, - formId: formId, - approvalResult: approvalResult, - handleOpinion: handleOpinion - }; - updateExpensiveGoodsApplicationByApproval(workFlowApprovalTaskVO); -} - -/** - * 审批通过 - * @param nodeDefinitionId 当前节点id - * @param nodeDefinitionName 当前节点名称 - * @param workFlowApprovalTaskId审批记录id - * @param approvalResult 审批结果 - * @param handleOpinion 处理意见 - * @param userId 指定处理下一个审批节点的用户id - * @param formId 表单id - * @param formType 表单类型 - */ -function updateExpensiveGoodsApplicationByPass(nodeDefinitionId, nodeDefinitionName, workFlowApprovalTaskId, approvalResult, handleOpinion, userId, formId, formType) { - var workFlowApprovalTaskVO = { - nodeDefinitionId: nodeDefinitionId, - nodeDefinitionName: nodeDefinitionName, - workFlowApprovalTaskId: workFlowApprovalTaskId, - approvalResult: approvalResult, - handleOpinion: handleOpinion, - userId: userId, - formType: formType - }; - updateExpensiveGoodsApplicationByApproval(workFlowApprovalTaskVO); -} - -/** - * 流程审批 + * 流程审批(审批通过、审批不通过、回退) * @param workFlowApprovalTaskVO 流程处理的一些参数对象 */ function updateExpensiveGoodsApplicationByApproval(workFlowApprovalTaskVO) { @@ -619,7 +561,7 @@ if (setApplyItems()) { Ext4.Ajax.request({ async: false, - url : WWWROOT + '/disinfectSystem/expensivegoodsapplication/expensiveGoodsApplicationAction!updateExpensiveGoodsApplicationByApproval.do', + url : WWWROOT + '/disinfectSystem/expensivegoodsapplication/expensiveGoodsApplicationAction!updateExpensiveGoodsApplicationForApproval.do', method : 'POST', params: { workFlowApprovalTaskVO: JSON.stringify(workFlowApprovalTaskVO), @@ -633,7 +575,7 @@ } }); } else { - showResult("请填写申请的物品!"); + result = {success:false,message:'请填写申请的物品!'}; } return result; } Index: forgon-core/src/main/java/com/forgon/workflow/model/WorkFlowApprovalTask.java =================================================================== diff -u -r21950 -r21957 --- forgon-core/src/main/java/com/forgon/workflow/model/WorkFlowApprovalTask.java (.../WorkFlowApprovalTask.java) (revision 21950) +++ forgon-core/src/main/java/com/forgon/workflow/model/WorkFlowApprovalTask.java (.../WorkFlowApprovalTask.java) (revision 21957) @@ -1,23 +1,15 @@ package com.forgon.workflow.model; import java.util.Date; - import javax.persistence.Entity; -import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; -import javax.persistence.OneToOne; import javax.persistence.Table; -import org.hibernate.annotations.Cascade; -import org.hibernate.annotations.CascadeType; -import com.fasterxml.jackson.annotation.JsonIgnore; - - /** * 待处理任务 * @author zql @@ -79,12 +71,13 @@ private int status; /** - * 审批结果: 1(通过) 0(未通过) -1(回退) + * 审批结果: 1(待处理-默认值) 2(通过) 3(不通过) 4(回退) * */ - private int approvalResult; - public static Integer APPROVALRESULT_PASS = 1; - public static Integer APPROVALRESULT_FAIL = 0; - public static Integer APPROVALRESULT_CALLBACK = -1; + private int approvalResult = APPROVALRESULT_PENDING; + public static Integer APPROVALRESULT_PENDING = 1; + public static Integer APPROVALRESULT_PASS = 2; + public static Integer APPROVALRESULT_FAIL = 3; + public static Integer APPROVALRESULT_CALLBACK = 4; /** * 处理意见 Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java =================================================================== diff -u -r21950 -r21957 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java (.../ExpensiveGoodsApplicationManagerImpl.java) (revision 21950) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java (.../ExpensiveGoodsApplicationManagerImpl.java) (revision 21957) @@ -155,7 +155,7 @@ JSONObject obj = new JSONObject(); obj.put("申请单号", expensiveGoodsApplication.getSerialNumber()); obj.put("申请科室", expensiveGoodsApplication.getDepart()); - obj.put("申请时间", expensiveGoodsApplication.getApplicationTime()); + obj.put("申请时间", expensiveGoodsApplication.getApplicationTimeStr()); obj.put("住院号", expensiveGoodsApplication.getHospitalNumber()); obj.put("诊疗号", expensiveGoodsApplication.getClinicNumber()); obj.put("病人", expensiveGoodsApplication.getPatient()); @@ -250,6 +250,9 @@ //3、审批不通过 workFlowApprovalTaskManager.failWorkFlowApprovalTask(workFlowApprovalTaskVO); + + //4、写日志 + writeLog(expensiveGoodsApplication, items, true); } @Override @@ -269,8 +272,12 @@ expensiveGoodsApplication.setProcessStatus(InvoicePlan.PROCESSSTATUS_BE_THROUGH_WITH); } objectDao.saveOrUpdate(expensiveGoodsApplication); + //3、审批通过 workFlowApprovalTaskManager.passWorkFlowApprovalTask(workFlowApprovalTaskVO); + + //4、写日志 + writeLog(expensiveGoodsApplication, items, true); } @Override @@ -290,8 +297,12 @@ expensiveGoodsApplication.setCurrentNodeDefinitionName(null); } objectDao.saveOrUpdate(expensiveGoodsApplication); + //3、回退 - workFlowApprovalTaskManager.rollBackWorkFlowApprovalTask(workFlowApprovalTaskVO); + workFlowApprovalTaskManager.rollBackWorkFlowApprovalTask(workFlowApprovalTaskVO); + + //4、写日志 + writeLog(expensiveGoodsApplication, items, true); } } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java =================================================================== diff -u -r21950 -r21957 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java (.../ExpensiveGoodsApplicationManager.java) (revision 21950) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java (.../ExpensiveGoodsApplicationManager.java) (revision 21957) @@ -21,7 +21,7 @@ public void saveOrUpdate(ExpensiveGoodsApplication expensiveGoodsApplication, boolean commit, JSONArray items); /** - * 修改高值耗材申请单(审批的时候对申请单的一些修改). + * 修改高值耗材申请单(审批通过的时候对申请单的一些修改). * @param expensiveGoodsApplication 高值耗材申请单对象 * @param items 此次提交的申请项 * @param workFlowApprovalTaskVO 待办任务处理的VO对象 Index: ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTask.jsp =================================================================== diff -u -r21859 -r21957 --- ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTask.jsp (.../workFlowApprovalTask.jsp) (revision 21859) +++ ssts-web/src/main/webapp/systemmanage/workFlow/workFlowApprovalTask.jsp (.../workFlowApprovalTask.jsp) (revision 21957) @@ -1,4 +1,5 @@ <%@page language="java" contentType="text/html; charset=UTF-8"%> +<%@page import="com.forgon.workflow.model.WorkFlowApprovalTask" %> <%-- 引入JSP标签 --%> <%@include file="/common/taglibs.jsp"%> <%-- 引入ExtJs4.2.5框架 --%> @@ -12,9 +13,14 @@ <%-- 引入语音插件 --%> + <%-- 引入本身的js --%> - +