Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java =================================================================== diff -u -r14296 -r14356 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 14296) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 14356) @@ -111,7 +111,7 @@ String reviewerCode,String wrapper,String wrapperCode,String packageType, String sterilingType, String sterileDateStr,String stock, String packAmountStr, String taskGroup, String splitPackage, String basketBarcode, String idCardInstanceID, String sterilizerName, - String sterileFrequency,String confirmContinue,String urgentAmountStr,HttpSession session) ; + String sterileFrequency,String confirmContinue,String urgentAmountStr,HttpSession session) throws Exception; public boolean addTousseInstanceToIdCardInstance( IDCardInstance idCardInstance, PackingTask packingTask, TousseInstance tousseInstance); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java =================================================================== diff -u -r14296 -r14356 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 14296) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 14356) @@ -437,12 +437,15 @@ sterilizerName, sterileFrequency, confirmContinue,urgentAmountStr,session); json.addProperty("success", true); return retStr; + } catch (RuntimeException e) { + json.addProperty("success", false); + json.addProperty("type", "stockNotEnough"); + json.addProperty("message", e.getMessage()); } catch (Exception e) { - e.printStackTrace(); - errMsg = e.getMessage(); + json.addProperty("success", false); + json.addProperty("type", "packingFailure"); + json.addProperty("message", "装配失败"); } - - json.addProperty("errMsg", errMsg); return json.toString(); } Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r14349 -r14356 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 14349) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 14356) @@ -2220,7 +2220,7 @@ } else{ //如果返回失败的结果类型为stockNotEnough(即库存不足,则进行提示) - if(result.type && result.type == 'stockNotEnough'){ + if(result.type && (result.type == 'stockNotEnough' || result.type == 'packingFailure')){ showResult(result.message); }else{ // TODO: 需确认是否要判断物品是否为器械包 Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r14355 -r14356 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 14355) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 14356) @@ -2379,7 +2379,7 @@ String reviewerCode,String wrapper,String wrapperCode,String packageType, String sterilingType, String sterileDateStr,String stock, String packAmountStr, String taskGroup, String splitPackages, String basketBarcode, String idCardInstanceID, String sterilizerName, - String sterileFrequency,String confirmContinue,String urgentAmountStr,HttpSession session){ + String sterileFrequency,String confirmContinue,String urgentAmountStr,HttpSession session) throws Exception { return packingTousse_internal(packingTaskIds, inspector, inspectorCode, operator, operatorCode, reviewer, reviewerCode, wrapper, wrapperCode, packageType, sterilingType, sterileDateStr, stock, packAmountStr, taskGroup, splitPackages, basketBarcode, idCardInstanceID, sterilizerName, sterileFrequency, confirmContinue,urgentAmountStr, session); } @@ -2413,7 +2413,7 @@ * @since 2016-07-28 */ private JSONObject outDisposableGoodsStock(int needPackingAmount ,TousseDefinition td , DisposableGoods disposableGoods , Integer diposableGoodsAmount,SupplyRoomConfig config, - List packingRecordOutItemList ,List diposableGoodsItemList) throws SQLException{ + List packingRecordOutItemList ,List diposableGoodsItemList) throws RuntimeException,SQLException{ JSONObject jsonObject = new JSONObject(); jsonObject.put("success", true); @@ -2447,9 +2447,7 @@ int needOutAmount = totalOutAmount;//待装配数量(可能会动态运算) int sumAmount = objectDao.countBySql(sumAmountSql);//实际库存中的装配数量 if(sumAmount < needOutAmount){ - jsonObject.put("success", false); - jsonObject.put("type", "stockNotEnough"); - jsonObject.put("message", disposableGoodsName + "库存不足,不能装配!"); + throw new RuntimeException(disposableGoodsName + "库存不足,不能装配!"); }else{ //扣减库存,成功后加入到扣减明细集合中 PackingRecordOutItem outItem = new PackingRecordOutItem(); @@ -2536,7 +2534,7 @@ String reviewerCode,String wrapper,String wrapperCode,String packageType, String sterilingType, String sterileDateStr, String stock, String packAmountStr, String taskGroup, String splitPackages, String basketBarcode, String idCardInstanceID, String sterilizerName, - String sterileFrequency,String confirmContinue,String urgentAmountStr,HttpSession session) { + String sterileFrequency,String confirmContinue,String urgentAmountStr,HttpSession session) throws Exception { String packageTypeAbbreviation = TousseInstanceUtils.getPackageTypeAbbreviation(objectDao, packageType); List washRecordList = null; @@ -2730,16 +2728,8 @@ DisposableGoods disposableGoods = diposableGoodsInstance.getDiposableGoods(); Integer diposableGoodsAmount = diposableGoodsInstance.getAmount(); if(disposableGoods != null && diposableGoodsAmount != null && diposableGoodsAmount > 0){ - try { - json = outDisposableGoodsStock(needPackingAmount , td, disposableGoods , diposableGoodsAmount , supplyRoomConfigParams, - packingRecordOutItemList , diposableGoodsItemList); - } catch (SQLException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - if(!json.optBoolean("success")){ - return json.toString(); - } + json = outDisposableGoodsStock(needPackingAmount , td, disposableGoods , diposableGoodsAmount , supplyRoomConfigParams, + packingRecordOutItemList , diposableGoodsItemList); } } }