Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r40785 -r40877 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 40785) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 40877) @@ -1673,6 +1673,7 @@ if(!VersionOperators.versionEquals(application, JSONUtil.optInteger(params, "invoicePlanVersion", null))){ throw new VersionNotMatchException("编号"+application.getSerialNumber()+"的申请单内容有更新,请重新加载。"+application.getDescription()); } + params.put("recyclingApplicationId", application.getId()); RecyclingRecord recyclingRecord = null; boolean quickSecondaryRecyclingForgonTousse = params.optBoolean("quickSecondaryRecyclingForgonTousse", false); if(quickSecondaryRecyclingForgonTousse){ @@ -1713,7 +1714,17 @@ rc.setQuickSecondaryRecyclingForgonTousse(quickSecondaryRecyclingForgonTousse); rc.setPatientName(params.optString("patientName")); rc.setHospitalNum(params.optString("hospitalNum")); - save(record, rc); + int methodOfSplitRecyclingApplication = ConfigUtils.getSystemSetConfigByNameInt("methodOfSplitRecyclingApplication", 0); + if(methodOfSplitRecyclingApplication == 0){ + save(record, rc); + }else{ + JSONObject jsonParamObject = rc.getJsonParamObject(); + //拆分回收的物品 + rc.setRecyclingApplicationId(params.optString("recyclingApplicationId")); + jsonParamObject.put("splitTousseJson", params.optJSONArray("splitTousseJson")); + // 保存并根据科室拆分回收记录(PYQZYY-173 多手术室器械包流转功能改造) + saveAndSplitRecyclingRecord(rc); + } } @Override @@ -11083,15 +11094,27 @@ //urgentTousseItems JSONArray urgentTousseItems = new JSONArray(); JSONArray oldUrgentTousseItems = oldJsonParam.optJSONArray("urgentTousseItems"); + if(oldUrgentTousseItems == null){ + oldUrgentTousseItems = new JSONArray(); + } //recyclingItemArray JSONArray recyclingItemArray = new JSONArray(); JSONArray oldRecyclingItemArray = oldJsonParam.optJSONArray("recyclingItemArray"); + if(oldRecyclingItemArray == null){ + oldRecyclingItemArray = new JSONArray(); + } //tousseIntoBasketInfo JSONArray tousseIntoBasketInfo = new JSONArray(); JSONArray oldTousseIntoBasketInfo = oldJsonParam.optJSONArray("tousseIntoBasketInfo"); + if(oldTousseIntoBasketInfo == null){ + oldTousseIntoBasketInfo = new JSONArray(); + } //errorDamageDetail JSONArray errorDamageDetail = new JSONArray(); JSONArray oldErrorDamageDetail = oldJsonParam.optJSONArray("errorDamageDetail"); + if(oldErrorDamageDetail == null){ + oldErrorDamageDetail = new JSONArray(); + } Set tdNameSet = new HashSet(); for (Object object : jsonArray) { JSONObject jsonObj = (JSONObject) object;