Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r36181 -r36186 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 36181) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 36186) @@ -760,97 +760,95 @@ tousseItemMap.put(tousseItem.getTousseName(), tousseItem); } } - if (tousseIdAndAmount != null) { - Set tousseIdSet = tousseIdAndAmount.keySet(); - for (Long tousseId : tousseIdSet) { - // 如果为正数,则需要往装配管理添加数量,如果为负数,则需要减少数量,否则不需要调整数量 - Integer needAddAmount = tousseIdAndAmount.get(tousseId).getAmount(); - Integer urgentAmount = tousseIdAndAmount.get(tousseId).getUrgentAmount(); - if (needAddAmount != null && needAddAmount.intValue() != 0) { - TousseDefinition td = tousseDefinitionManager.get(tousseId); - if (td != null) { - // 敷料包的装配任务来源于申请单 - String tousseType = td.getTousseType(); - //如果包定义为不生成包实例,且不是在回收页面添加时,不需要生成包实例 - if(recyclingRecord == null && StringUtils.equals(com.forgon.Constants.STR_YES, td.getNoGenerateTousse())){ - logger.debug(String.format("%s设置不生成包实例,不是回收时添加该包时,不生成装配任务", td.getName())); - return; - } - - String isRecycling = td.getIsRecycling(); - String isPacking = td.getIsPacking(); - if (((TousseDefinition.PACKAGE_TYPE_DRESSING - .equals(tousseType) || TousseDefinition.PACKAGE_TYPE_HOMEMADE - .equals(tousseType)) - && TousseDefinition.STR_YES.equals(isPacking) || (TousseDefinition.STR_YES - .equals(isPacking) && TousseDefinition.STR_NO - .equals(isRecycling)))) { - - PackingTask task = packingManager - .getUnfinishedTask(application.getId(), - null, td.getId(), - PackingTask.TASK_APPLICATION); - if (task == null) { - task = new PackingTask(); - if (needAddAmount > 0) { - task.setUrgentAmount(urgentAmount); - if(urgentAmount != null && urgentAmount > 0){ - task.setUrgentLevel(tousseIdAndAmount.get(tousseId).getUrgentLevel()); - task.setUrgentLevelObj(tousseIdAndAmount.get(tousseId).getUrgentLevelObj()); - } - task.setAmount(needAddAmount); - task.setUnPackAmount(needAddAmount); - task.setTousseDefinition(td); - task.setStartTime(new Date()); - task.setStatus(PackingTask.STATUS_AWAIT_PACKING); - /*task.setOrgUnitCoding(td - .getHandlerDepartCode());*/ - //之前装配任务的处理科室取值为包的处理科室,现4.1改为取单的处理科室 - task.setOrgUnitCoding(application.getHandleDepartCoding()); - task.setSourceId(application.getId()); - task.setTaskType(PackingTask.TASK_APPLICATION); - task.setBasketBarcode(null); - task.setRecyclingBasketName(null); - task.setDepartment(application.getDepart()); - task.setDepartCoding(application.getDepartCoding()); - task.setSettleAccountsDepartCoding(application.getSettleAccountsDepartCoding()); - task.setRemarkOfApplyGoods(tousseIdAndAmount.get(tousseId).getRemarkOfApplyGoods()); - packingManager.save(task); - } else { - throw new RecyclingRecordException( - td.getName() + "已经装配,不能修改申请单。"); - } - } else { - if (task.getUnPackAmount() + needAddAmount > 0) { - task.setAmount(task.getAmount() - + needAddAmount); - task.setUnPackAmount(task.getUnPackAmount() - + needAddAmount); - task.setRemarkOfApplyGoods(tousseIdAndAmount.get(tousseId).getRemarkOfApplyGoods()); - } else if (task.getUnPackAmount() - + needAddAmount == 0) { - packingManager.delete(task,"保存或更新回收申请单"); - } else { - throw new RecyclingRecordException(task - .getTousseDefinition().getName() - + "已经装配,不能修改申请单。"); - } - } - } + Set tousseIdSet = tousseIdAndAmount.keySet(); + for (Long tousseId : tousseIdSet) { + // 如果为正数,则需要往装配管理添加数量,如果为负数,则需要减少数量,否则不需要调整数量 + Integer needAddAmount = tousseIdAndAmount.get(tousseId).getAmount(); + Integer urgentAmount = tousseIdAndAmount.get(tousseId).getUrgentAmount(); + if (needAddAmount != null && needAddAmount.intValue() != 0) { + TousseDefinition td = tousseDefinitionManager.get(tousseId); + if (td != null) { + // 敷料包的装配任务来源于申请单 + String tousseType = td.getTousseType(); + //如果包定义为不生成包实例,且不是在回收页面添加时,不需要生成包实例 + if(recyclingRecord == null && StringUtils.equals(com.forgon.Constants.STR_YES, td.getNoGenerateTousse())){ + logger.debug(String.format("%s设置不生成包实例,不是回收时添加该包时,不生成装配任务", td.getName())); + return; } - }else if(ConfigUtils.getSystemSetConfigByNameBool("enableApplyGoodsRemarkFunction", false)){ - //ZJYY-95 申请单增加独立填写物品申领备注功能 - TousseDefinition td = tousseDefinitionManager.get(tousseId); - if (td != null) { + + String isRecycling = td.getIsRecycling(); + String isPacking = td.getIsPacking(); + if (((TousseDefinition.PACKAGE_TYPE_DRESSING + .equals(tousseType) || TousseDefinition.PACKAGE_TYPE_HOMEMADE + .equals(tousseType)) + && TousseDefinition.STR_YES.equals(isPacking) || (TousseDefinition.STR_YES + .equals(isPacking) && TousseDefinition.STR_NO + .equals(isRecycling)))) { + PackingTask task = packingManager .getUnfinishedTask(application.getId(), null, td.getId(), PackingTask.TASK_APPLICATION); - if(task != null){ - task.setRemarkOfApplyGoods(tousseIdAndAmount.get(tousseId).getRemarkOfApplyGoods()); + if (task == null) { + task = new PackingTask(); + if (needAddAmount > 0) { + task.setUrgentAmount(urgentAmount); + if(urgentAmount != null && urgentAmount > 0){ + task.setUrgentLevel(tousseIdAndAmount.get(tousseId).getUrgentLevel()); + task.setUrgentLevelObj(tousseIdAndAmount.get(tousseId).getUrgentLevelObj()); + } + task.setAmount(needAddAmount); + task.setUnPackAmount(needAddAmount); + task.setTousseDefinition(td); + task.setStartTime(new Date()); + task.setStatus(PackingTask.STATUS_AWAIT_PACKING); + /*task.setOrgUnitCoding(td + .getHandlerDepartCode());*/ + //之前装配任务的处理科室取值为包的处理科室,现4.1改为取单的处理科室 + task.setOrgUnitCoding(application.getHandleDepartCoding()); + task.setSourceId(application.getId()); + task.setTaskType(PackingTask.TASK_APPLICATION); + task.setBasketBarcode(null); + task.setRecyclingBasketName(null); + task.setDepartment(application.getDepart()); + task.setDepartCoding(application.getDepartCoding()); + task.setSettleAccountsDepartCoding(application.getSettleAccountsDepartCoding()); + task.setRemarkOfApplyGoods(tousseIdAndAmount.get(tousseId).getRemarkOfApplyGoods()); + packingManager.save(task); + } else { + throw new RecyclingRecordException( + td.getName() + "已经装配,不能修改申请单。"); + } + } else { + if (task.getUnPackAmount() + needAddAmount > 0) { + task.setAmount(task.getAmount() + + needAddAmount); + task.setUnPackAmount(task.getUnPackAmount() + + needAddAmount); + task.setRemarkOfApplyGoods(tousseIdAndAmount.get(tousseId).getRemarkOfApplyGoods()); + } else if (task.getUnPackAmount() + + needAddAmount == 0) { + packingManager.delete(task,"保存或更新回收申请单"); + } else { + throw new RecyclingRecordException(task + .getTousseDefinition().getName() + + "已经装配,不能修改申请单。"); + } } } } + }else if(ConfigUtils.getSystemSetConfigByNameBool("enableApplyGoodsRemarkFunction", false)){ + //ZJYY-95 申请单增加独立填写物品申领备注功能 + TousseDefinition td = tousseDefinitionManager.get(tousseId); + if (td != null) { + PackingTask task = packingManager + .getUnfinishedTask(application.getId(), + null, td.getId(), + PackingTask.TASK_APPLICATION); + if(task != null){ + task.setRemarkOfApplyGoods(tousseIdAndAmount.get(tousseId).getRemarkOfApplyGoods()); + } + } } } }