Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java =================================================================== diff -u -r14758 -r14759 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 14758) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 14759) @@ -134,14 +134,22 @@ } @Override - public void endForeignProxyDisinfectionByArr(String[] ids) { - if (ids == null || ids.length < 1) - return; - for(String id : ids){ - ForeignProxyDisinfection foreignProxyDisinfection = getById(id); - String userName = AcegiHelper.getLoginUser().getUserFullName(); - invoicePlanManager.terminateInvoicePlan(foreignProxyDisinfection, userName, ""); + public void endForeignProxyDisinfection(String id) { + if(StringUtils.isBlank(id)){ + throw new RuntimeException("id 不能为空!"); } + ForeignProxyDisinfection foreignProxyDisinfection = getByID_ForUpdate(Long.valueOf(id)); + if(foreignProxyDisinfection == null){ + throw new RuntimeException("申请单已被删除!"); + } + if(foreignProxyDisinfection.deliverEnd()){ + throw new RuntimeException(String.format("该申请单已经被终止!")); + } + if(foreignProxyDisinfection.delivered()){ + throw new RuntimeException(String.format("申请单已发货,不能终止!")); + } + String userName = AcegiHelper.getLoginUser().getUserFullName(); + invoicePlanManager.terminateInvoicePlan(foreignProxyDisinfection, userName, ""); } @Override Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.js =================================================================== diff -u -r14750 -r14759 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.js (.../foreignProxyDisinfectionView.js) (revision 14750) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.js (.../foreignProxyDisinfectionView.js) (revision 14759) @@ -116,10 +116,10 @@ var result = Ext.decode(response.responseText); var success = result.success; if (true != success) { - MsgTip.msg('提示', result.msg,true,3); + MsgTip.msg('提示', result.message,true,3); return; } else { - MsgTip.msg('提示',result.msg,true,3); + MsgTip.msg('提示',result.message,true,3); grid.dwrReload(); } }, @@ -258,10 +258,10 @@ var result = Ext.decode(response.responseText); var success = result.success; if (true != success) { - top.MsgTip.msg('提示', result.msg,true,3); + top.MsgTip.msg('提示', result.message,true,3); return; } else { - top.MsgTip.msg('提示',result.msg,true,3); + top.MsgTip.msg('提示',result.message,true,3); grid.dwrReload(); } }, Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManager.java =================================================================== diff -u -r14758 -r14759 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManager.java (.../ForeignProxyDisinfectionManager.java) (revision 14758) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManager.java (.../ForeignProxyDisinfectionManager.java) (revision 14759) @@ -48,7 +48,7 @@ public String loadTousseByForeignProxyDisinfectionid(String foreignProxyDisinfectionid); public void getPrintInfo(JSONObject obj,JSONObject params); - public void endForeignProxyDisinfectionByArr(String[] ids); + public void endForeignProxyDisinfection(String id); public boolean checkToussesInForeignProxyItemIsPackingAndPrint(Long id); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/action/ForeignProxyDisinfectionAction.java =================================================================== diff -u -r14758 -r14759 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/action/ForeignProxyDisinfectionAction.java (.../ForeignProxyDisinfectionAction.java) (revision 14758) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/action/ForeignProxyDisinfectionAction.java (.../ForeignProxyDisinfectionAction.java) (revision 14759) @@ -244,25 +244,36 @@ */ public void endForeignProxyDisinfection() { String idStr = StrutsParamUtils.getPraramValue("ids", ""); + JSONObject obj = new JSONObject(); + int successCount = 0; String message = ""; try { - if (StringUtils.isNotBlank(idStr)) { - String[] idArr = idStr.split(";"); - foreignProxyDisinfectionManager.endForeignProxyDisinfectionByArr(idArr); + if(StringUtils.isBlank(idStr)){ + throw new RuntimeException("id 不能为空!"); } - message = "{success:true,msg:'终止成功!'}"; + String[] idArr = idStr.split(";"); + for (String id : idArr) { + try { + foreignProxyDisinfectionManager.endForeignProxyDisinfection(id); + ++successCount; + } catch (Exception e) { + e.printStackTrace(); + message = e.getMessage(); + } + } } catch (Exception e) { message = "{success:false,msg:'" + e.getMessage() + "'}"; e.printStackTrace(); + message = e.getMessage(); } - HttpServletResponse httpServletResponse = StrutsParamUtils - .getResponse(); - httpServletResponse.setCharacterEncoding("UTF-8"); - try { - httpServletResponse.getWriter().print(message); - } catch (IOException e) { - e.printStackTrace(); + if(successCount > 0){ + obj.put("success", true); + obj.put("message", String.format("成功终止%s条", successCount)); + }else{ + obj.put("success", false); + obj.put("message", message); } + StrutsResponseUtils.output(obj); } // 合并打印