Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r37303 -r37352 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 37303) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 37352) @@ -5277,22 +5277,7 @@ boolean partialSplitForeignTousseEnd = JSONUtil.optBoolean(paramsObj, "partialSplitForeignTousseEnd", false); //noUserFormSterilizationInfo=true是才使用包定义的灭菌程序和包装类型 boolean noUserFormSterilizationInfo = JSONUtil.optBoolean(paramsObj, "noUserFormSterilizationInfo", false); - ErrorDamageRemark errorDamageRemark = null; - if(StringUtils.isNotBlank(errorDamageRemarkInfo)){ - if(errorDamageRemarkInfo.indexOf("。") != -1){ - errorDamageRemarkInfo = errorDamageRemarkInfo.substring(0, errorDamageRemarkInfo.indexOf("。") + 1); - } - } - if(DatabaseUtil.isPoIdValid(errorDamageRemarkId)){ - errorDamageRemark = (ErrorDamageRemark)objectDao.getById(ErrorDamageRemark.class.getSimpleName(), errorDamageRemarkId); - errorDamageRemark.setCustomErrorDamageRemark(remark); - errorDamageRemark.setErrorDamageRemark(errorDamageRemarkInfo); - }else if(StringUtils.isNotBlank(errorDamageRemarkInfo) || StringUtils.isNotBlank(remark)){ - errorDamageRemark = new ErrorDamageRemark(); - errorDamageRemark.setCustomErrorDamageRemark(remark); - errorDamageRemark.setErrorDamageRemark(errorDamageRemarkInfo); - objectDao.save(errorDamageRemark); - } + Long comboTousseInstanceId = JSONUtil.optLong(paramsObj, "comboTousseInstanceId", null); String comboTousseInstanceStatus = JSONUtil.optString(paramsObj, "comboTousseInstanceStatus", null); @@ -5379,6 +5364,11 @@ ids.add(lid); } } + boolean useOldRemark = false; + ErrorDamageRemark errorDamageRemark = null; + if(ids.size() > 1 && CssdUtils.getSystemSetConfigByNameBool("enablePackingMultipleGoodsWithRemarks", false)){//多个装配任务时 使用原有的备注 + useOldRemark = true; + } Map idToWashRecordMap = washAndDisinfectRecordManager.getIdToWashRecordMapByPackingTaskIds(ids); //本次器械包装配总数量 Integer currentPackAmount = 0; @@ -5615,15 +5605,37 @@ oldRemark = packingTaskPara.getOldRemark(); } //防止页面传递的oldRemark因为不知名原因被置空 曾出现过这种情况 而且也不应该由前端传这个值 - if(idCardInstance != null){ - List packingTaskList = new ArrayList(); - packingTaskList.add(currentPackingTask); - TousseInstance ti = null; - if(DatabaseUtil.isPoIdValid(idCardInstance.getLastTousseInstanceId())){ - ti = tousseInstanceManager.get(idCardInstance.getLastTousseInstanceId()); + List packingTaskList = new ArrayList(); + packingTaskList.add(currentPackingTask); + TousseInstance tiOfIDc = null; + if(idCardInstance != null && DatabaseUtil.isPoIdValid(idCardInstance.getLastTousseInstanceId())){ + tiOfIDc = tousseInstanceManager.get(idCardInstance.getLastTousseInstanceId()); + } + + if(useOldRemark){ + oldRemark = getAllRemarkOfTousseInstance(tiOfIDc, packingTaskList); + remark = oldRemark + (StringUtils.isBlank(currentPackingTask.getRemarkOfApplyGoods())?"":currentPackingTask.getRemarkOfApplyGoods()); + errorDamageRemarkInfo = remark; + if(tiOfIDc.getErrorDamageRemark() != null){ + errorDamageRemarkId = tiOfIDc.getErrorDamageRemark().getId().toString(); } - oldRemark = getAllRemarkOfTousseInstance(ti, packingTaskList); } + if(StringUtils.isNotBlank(errorDamageRemarkInfo)){ + if(errorDamageRemarkInfo.indexOf("。") != -1){ + errorDamageRemarkInfo = errorDamageRemarkInfo.substring(0, errorDamageRemarkInfo.indexOf("。") + 1); + } + } + if(DatabaseUtil.isPoIdValid(errorDamageRemarkId)){ + errorDamageRemark = (ErrorDamageRemark)objectDao.getById(ErrorDamageRemark.class.getSimpleName(), errorDamageRemarkId); + errorDamageRemark.setCustomErrorDamageRemark(remark); + errorDamageRemark.setErrorDamageRemark(errorDamageRemarkInfo); + }else if(StringUtils.isNotBlank(errorDamageRemarkInfo) || StringUtils.isNotBlank(remark)){ + errorDamageRemark = new ErrorDamageRemark(); + errorDamageRemark.setCustomErrorDamageRemark(remark); + errorDamageRemark.setErrorDamageRemark(errorDamageRemarkInfo); + objectDao.save(errorDamageRemark); + } + //Map disposableGoodsIdToAmount = null; /* * 先判断装配任务对应的器械包定义是否需要扣一次性物品库存(目前只针对普通器械包和敷料包进行扣减,后期在器械包定义的页界加以限制,其它类型的器械包定义的装配扣一次性物品库存的属性只能为否)