Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java =================================================================== diff -u -r34917 -r35577 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 34917) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 35577) @@ -183,6 +183,9 @@ { logger.debug("解析时间出错"); } + if(date == null){ + return ""; + } Calendar calendar = new GregorianCalendar(); calendar.setTime(date); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r35560 -r35577 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 35560) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 35577) @@ -6180,17 +6180,20 @@ } //如果任务类型为申请单或回收记录时,设置新生成的包实例对应的申请项id或回收项id - Integer taskType = prePackingTask.getTaskType(); - if(PackingTask.TASK_RECYCLINGRECORD.intValue() == taskType.intValue()){ - tousseInstance.setSourceRecyclingItemId(tousseInstanceManager.getSourceItemIdByPackingTask(prePackingTask)); - }else if(PackingTask.TASK_APPLICATION.intValue() == taskType.intValue()){ - tousseInstance.setSourceTousseItemId(tousseInstanceManager.getSourceItemIdByPackingTask(prePackingTask)); + Integer taskType = 0; + if(prePackingTask != null){ + taskType = prePackingTask.getTaskType(); + if(PackingTask.TASK_RECYCLINGRECORD.intValue() == taskType.intValue()){ + tousseInstance.setSourceRecyclingItemId(tousseInstanceManager.getSourceItemIdByPackingTask(prePackingTask)); + }else if(PackingTask.TASK_APPLICATION.intValue() == taskType.intValue()){ + tousseInstance.setSourceTousseItemId(tousseInstanceManager.getSourceItemIdByPackingTask(prePackingTask)); + } } // 将器械包实例绑定到洗水布实例中并且判断返回值为true则跳过循环,只装配一个器械包 boolean bindTousseInstanceWithIdcard = false; - if (StringUtils.isNotBlank(idCardInstanceID)){ + out : if (StringUtils.isNotBlank(idCardInstanceID)){ PackingTask currentPackingTask = null;//当前器械包实例对应的装配任务 if(packingTaskList != null && packingTaskList.size() == 1){ currentPackingTask = packingTaskList.get(0); @@ -6204,6 +6207,9 @@ } else { //根据装配任务的sourceId及包定义id关联到对应的上一个包实例 //查询该标识牌对应的上一个包实例,并将新的包实例的上一个包实例id进行设置 + if(prePackingTask == null){ + break out; + } TousseInstance lastTousseInstance = tousseInstanceManager.getLastTousseInstanceByPackingTask(prePackingTask); if(lastTousseInstance != null){ tousseInstance.setLastTousseInstanceId(lastTousseInstance.getId()); @@ -7778,8 +7784,7 @@ String tousseBarcode = request.getParameter("tousseBarcode"); if(StringUtils.equals(packingMode, "repacking")){ if(StringUtils.isBlank(tousseBarcode)){ - throw new RuntimeException(String.format("参数非法,重新装配必须包含器械包条码!", - tousseName)); + throw new RuntimeException("参数非法,重新装配必须包含器械包条码!"); } } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); @@ -7832,8 +7837,7 @@ if (td.isDisinfection()) { //非整包申请消毒物品不能自定义装配 if(!td.applyEntireTousse()){ - throw new RuntimeException(String.format("装配失败,非整包申请的消毒物品不能自定义装配!", - tousseName)); + throw new RuntimeException("装配失败,非整包申请的消毒物品不能自定义装配!"); } //创建消毒物品新定义 td = buildDisinfectGoodsDefinition(td); @@ -7934,8 +7938,7 @@ // 虚拟篮筐校验 - Integer packingAmountPerVirtualBasket = td == null ? null : td - .getPackingAmountPerVirtualBasket(); + Integer packingAmountPerVirtualBasket = td.getPackingAmountPerVirtualBasket(); int needVirtualBasketAmount = 0;// 需要虚拟篮筐数量 List reviewedBasketList = null; // 根据器械包的数量及每虚拟可装配该器械包的数量调出虚拟篮筐 Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java =================================================================== diff -u -r33503 -r35577 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 33503) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 35577) @@ -768,15 +768,13 @@ TousseInstance tousseInstance = IDCardInstanceUtils.getLastOperatedTousseInstance(objectDao, idCardInstance); if (tousseInstance == null) { - throw new RuntimeException(String.format("未找到标识牌绑定的实例!", - barcode)); + throw new RuntimeException("未找到标识牌绑定的实例!"); } // 获取装配任务 List packingTaskList = packingManager.getPackingTaskListByIDCardInstanceID(idCardInstance .getId()); if(CollectionUtils.isNotEmpty(packingTaskList)){ - throw new RuntimeException(String.format("该标识牌已存在装配任务,不能自定义装配,请在装配界面进行操作!", - barcode)); + throw new RuntimeException("该标识牌已存在装配任务,不能自定义装配,请在装配界面进行操作!"); } TousseDefinition tousseDefinition = tousseInstance.getTousseDefinition(); obj.put("barcode", tousseInstance.getBarcode());