Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r13475 -r13478 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 13475) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 13478) @@ -294,15 +294,22 @@ if(tousseItem == null){ throw new RuntimeException("报损器械未找到相应的器械包"); } - item.setTousseItemId(tousseItem.getId()); + item.setTousseItem_ID(item.getId()); tousseItem.getRecyclingDamages().add(item); } item.setAmount(amount); items.add(item); if(item.getAmount() <= 0){ item.setPackingTask_ID(null); - item.setTousseItemId(null); + Long tousseItem_id = item.getTousseItem_ID(); + if(tousseItem_id != null){ + TousseItem tousseItem = tousseItemManager.getTousseItemById("" + tousseItem_id); + if(tousseItem != null){ + tousseItem.getRecyclingDamages().remove(item); + item.setTousseItem_ID(null); + } + } items.remove(item); if(item.getId() != null){ objectDao.delete(item); Index: ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoringmanager/qualitymonitoring/action/QualityMonitoringAction.java =================================================================== diff -u -r12331 -r13478 --- ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoringmanager/qualitymonitoring/action/QualityMonitoringAction.java (.../QualityMonitoringAction.java) (revision 12331) +++ ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoringmanager/qualitymonitoring/action/QualityMonitoringAction.java (.../QualityMonitoringAction.java) (revision 13478) @@ -33,6 +33,7 @@ import com.forgon.disinfectsystem.basedata.becleanitem.service.BeCleanItemManager; import com.forgon.disinfectsystem.basedatamanager.container.service.ContainerManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; @@ -216,20 +217,25 @@ } } // 清洗不干净物品入筐 - String containerBarcode = StrutsParamUtils.getPraramValue( - "containerBarcode", null); + String containerBarcode = StrutsParamUtils.getPraramValue("containerBarcode", null); ClassifyBasket basket = null; - Set classfiedItems = null; if (StringUtils.isNotBlank(containerBarcode)) { basket = beCleanItemManager .getUnWashedBasketByBarcode(containerBarcode); if (basket == null) { - basket = new ClassifyBasket(); + BarcodeDevice barcode = barcodeManager + .getBarcodeByBarcode(containerBarcode); + if (barcode != null && barcode instanceof Container) { + Container container = (Container) barcode; + container.setStatus(Container.CONTAINER_STATUS_WASHLOADING); + containerManager.saveOrUpdate(container); + + basket = new ClassifyBasket(); + basket.setContainerBarcode(containerBarcode); + basket.setContainerName(container.getContainerName()); + basket.setWashClassifyType(container.getWashClassifyType()); + } } - classfiedItems = basket.getClassfiedItems(); - if (classfiedItems == null) { - classfiedItems = new HashSet(); - } } String[] material = materialInfo.split(";"); @@ -279,26 +285,22 @@ .getTousseName()); qualityMonitoringNew.setType(qualityMonitoring .getType()); - if (classfiedItems != null) { + + if(basket != null){ ClassifiedItem item = new ClassifiedItem(); item.setItemType(ClassifiedItem.TYPE_MATERIAL); item.setAmount(Integer.parseInt(amount)); item.setName(name); - String tempName = name; - String specification = null; - if (name.lastIndexOf("[") != -1) { - tempName = name.substring(0, - name.lastIndexOf("[")); - specification = name.substring( - name.lastIndexOf("[") + 1, - name.length() - 1); - } + JSONObject obj = CssdUtils.getMaterialNameAndSp(name); + String tempName = obj.optString("materialName"); + String specification = obj.optString("specification"); MaterialDefinition md = materialDefinitionManager .getMaterialDefinitionByName(tempName, specification); item.setMaterialDefinition(md); - classfiedItems.add(item); + basket.getClassfiedItems().add(item); } + qualityMonitoringManager.saveOrUpdate( qualityMonitoringNew, needToRemove); } @@ -311,21 +313,10 @@ } else { qualityMonitoringManager.saveOrUpdate(qualityMonitoring); } - String containerName = ""; - if (StringUtils.isNotBlank(containerBarcode)) { - BarcodeDevice barcode = barcodeManager - .getBarcodeByBarcode(containerBarcode); - if (barcode != null && barcode instanceof Container) { - Container container = (Container) barcode; - container.setStatus(Container.CONTAINER_STATUS_WASHLOADING); - containerName = container.getContainerName(); - containerManager.saveOrUpdate(container); - } - basket.setClassfiedItems(classfiedItems); - basket.setContainerBarcode(containerBarcode); - basket.setContainerName(containerName); + if(basket != null){ beCleanItemManager.saveOrUpdate(basket); } + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/recyclingdamagerecord/RecyclingDamageItem.java =================================================================== diff -u -r13471 -r13478 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/recyclingdamagerecord/RecyclingDamageItem.java (.../RecyclingDamageItem.java) (revision 13471) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/recyclingdamagerecord/RecyclingDamageItem.java (.../RecyclingDamageItem.java) (revision 13478) @@ -49,7 +49,7 @@ private Long materialDefinitionId;//材料定义ID - private Long tousseItemId;//回收物品项ID + private Long tousseItem_ID;//回收物品项ID private Long packingTask_ID;//装配任务ID @@ -152,12 +152,12 @@ this.materialDefinitionId = materialDefinitionId; } - public Long getTousseItemId() { - return tousseItemId; + public Long getTousseItem_ID() { + return tousseItem_ID; } - public void setTousseItemId(Long tousseItemId) { - this.tousseItemId = tousseItemId; + public void setTousseItem_ID(Long tousseItem_ID) { + this.tousseItem_ID = tousseItem_ID; } public Long getPackingTask_ID() {