Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/action/ExpensiveGoodsApplicationAction.java =================================================================== diff -u -r22314 -r22331 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/action/ExpensiveGoodsApplicationAction.java (.../ExpensiveGoodsApplicationAction.java) (revision 22314) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/action/ExpensiveGoodsApplicationAction.java (.../ExpensiveGoodsApplicationAction.java) (revision 22331) @@ -1,5 +1,6 @@ package com.forgon.disinfectsystem.expensivegoodsapplication.action; +import java.util.Arrays; import java.util.List; import net.sf.json.JSONArray; @@ -231,4 +232,22 @@ return obj.toString(); } + /** + * 删除高值耗材申请单. + * @param ids 高值耗材申请单的id集合用分号分隔 + */ + public void deleteExpensiveGoodsApplication() { + String ids = StrutsParamUtils.getPraramValue("ids", ""); + if (StringTools.isNotBlank(ids)) { + try { + JSONObject result = expensiveGoodsApplicationManager.deleteExpensiveGoodsApplication(Arrays.asList(ids.split(";"))); + StrutsResponseUtils.output(result); + } catch (Exception e) { + e.printStackTrace(); + StrutsResponseUtils.output(JSONUtil.buildJsonObject(false, e.getMessage())); + } + } + } + + } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java =================================================================== diff -u -r22314 -r22331 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java (.../ExpensiveGoodsApplicationManagerImpl.java) (revision 22314) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java (.../ExpensiveGoodsApplicationManagerImpl.java) (revision 22331) @@ -29,6 +29,7 @@ import com.forgon.tools.GB2WB; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.BasePoManagerImpl; +import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; import com.forgon.tools.util.ForgonDateUtils; import com.forgon.workflow.model.NodeApproval; @@ -354,4 +355,32 @@ workFlowApprovalTaskManager.confirmNoticeWorkFlowApprovalTask(workFlowApprovalTaskVO); } + @Override + public JSONObject deleteExpensiveGoodsApplication(List ids) { + List toBeDelete = new ArrayList(); //将要被删除的高值耗材申请单集合 + if (CollectionUtils.isNotEmpty(ids)) { + for (String id : ids) { + if (DatabaseUtil.isPoIdValid(id)) { + ExpensiveGoodsApplication expensiveGoodsApplication = get(id); + if (expensiveGoodsApplication == null) { + throw new RuntimeException(String.format("找不到id为%s的高值耗材申请单!", id)); + } else { + String processStatus = expensiveGoodsApplication.getProcessStatus(); + if (StringTools.isBlank(processStatus) || InvoicePlan.PROCESSSTATUS_NOT_STARTED.equals(processStatus)) { + toBeDelete.add(expensiveGoodsApplication); + } else { + String serialNumber = expensiveGoodsApplication.getSerialNumber(); + throw new RuntimeException(String.format("流水号为%s的高值耗材申请单的流程审批状态为%s,不能删除!", serialNumber, processStatus)); + } + } + } else { + throw new RuntimeException(String.format("找不到id为%s的高值耗材申请单!", id)); + } + } + } + JSONObject result = JSONUtil.buildJsonObject(true, String.format("成功删除%s条记录", toBeDelete.size())); + objectDao.deleteAll(toBeDelete); + return result; + } + } Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js =================================================================== diff -u -r22317 -r22331 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js (.../expensiveGoodsApplicationForm.js) (revision 22317) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js (.../expensiveGoodsApplicationForm.js) (revision 22331) @@ -1016,7 +1016,12 @@ id : 'nextNodeSaveBtn', text : '提交', handler : function() { - submitOrTemporarySaveExpensiveGoodsApplication(commit, Ext4.getCmp('nextNodeHandler').getValue()); + var nextNodeHandler = Ext4.getCmp('nextNodeHandler').getValue(); + if (!nextNodeHandler) { + showResult('请选择流程起始执行人!'); + return false; + } + submitOrTemporarySaveExpensiveGoodsApplication(commit, nextNodeHandler); } },{ id : 'nextNodeCancelBtn', @@ -1031,7 +1036,7 @@ id: 'nextNodeHandlerWindow', autoShow: true, layout : 'fit', - title : '申请高值耗材', + title : '选择下一个处理人', width : 350, height : 250, resizable :false, Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationView.js =================================================================== diff -u -r22314 -r22331 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationView.js (.../expensiveGoodsApplicationView.js) (revision 22314) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationView.js (.../expensiveGoodsApplicationView.js) (revision 22331) @@ -21,7 +21,7 @@ } /** - * 删除高值耗材申请单. + * 删除高值耗材申请单(只要启动审批流程了就不允许删除). * @param grid * @returns {Boolean} */ @@ -35,21 +35,7 @@ var ids = null; for (var i = 0, len = records.length; i < len; i++) { var data = records[i]; - - var id = data['id']; - var deliverStatus = data['deliverStatus']; - var serialNum = data['serialNumber']; - - if(deliverStatus=='已终止'){ - showResult('流水号为【'+serialNum+"】的申请单已终止,不能删除!"); - return false; - } - - if(deliverStatus =='已发货' || deliverStatus =='部分发货'){ - showResult('流水号为【'+serialNum+"】的申请单已发货或部分发货,不能删除!"); - return false; - } - + var id = data.id; if (ids == null) { ids = id; } else { @@ -61,14 +47,15 @@ function(button, text) { if ("yes" == button){ Ext4.Ajax.request({ - url : WWWROOT + '/disinfectSystem/recyclingApplicationAction!deleteRecyclingApplication.do', - params : {ids : ids}, - success : function(response, options) { - showResult(response.responseText); - grid.reloadData(); - }, - failure : function(response, options) { - showResult(response.responseText); + url: WWWROOT + '/disinfectSystem/expensivegoodsapplication/expensiveGoodsApplicationAction!deleteExpensiveGoodsApplication.do', + params: {ids : ids}, + success: function(response, options){ + var result = Ext4.decode(response.responseText); + showResult(result.message); + if(result.success){ + grid.cancelAllSelected(); + grid.reloadData(); + } } }); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java =================================================================== diff -u -r22243 -r22331 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java (.../ExpensiveGoodsApplicationManager.java) (revision 22243) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java (.../ExpensiveGoodsApplicationManager.java) (revision 22331) @@ -1,6 +1,9 @@ package com.forgon.disinfectsystem.expensivegoodsapplication.service; +import java.util.List; + import net.sf.json.JSONArray; +import net.sf.json.JSONObject; import com.forgon.disinfectsystem.entity.expensivegoodsapplication.ExpensiveGoodsApplication; import com.forgon.tools.hibernate.BasePoManager; @@ -74,5 +77,11 @@ public void updateExpensiveGoodsApplicationForApprovalRollBack( ExpensiveGoodsApplication expensiveGoodsApplication, JSONArray items, WorkFlowApprovalTaskVO workFlowApprovalTaskVO); + + /** + * 通过id删除高值耗材申请单(只要启动审批流程了就不允许删除). + * @param ids 高值耗材申请单id集合 + */ + public JSONObject deleteExpensiveGoodsApplication(List ids); } Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationView.jsp =================================================================== diff -u -r22307 -r22331 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationView.jsp (.../expensiveGoodsApplicationView.jsp) (revision 22307) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationView.jsp (.../expensiveGoodsApplicationView.jsp) (revision 22331) @@ -27,7 +27,7 @@ var userName = '${userName}'; //用户的全名 var userCode = '${userCode}'; //用户的登录名 - + <%--申请单的审批历史记录 --%> 高值耗材申请单列表