Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java =================================================================== diff -u -r32109 -r32207 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 32109) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 32207) @@ -746,10 +746,10 @@ Long invoice_id = obj.optLong("invoice_id"); if(DatabaseUtil.isPoIdValid(invoice_id)){ Invoice ip = IDOperators.find(invoices,invoice_id); - Long tousseDefinitionId = 0L; + Long tousseDefinitionAncestorID = 0L; JSONObject tousseDefinitionJSON = obj.optJSONObject("tousseDefinition"); if(tousseDefinitionJSON != null){ - tousseDefinitionId = tousseDefinitionJSON.optLong("id"); + tousseDefinitionAncestorID = tousseDefinitionJSON.optLong("ancestorID"); } if(ip != null){ if(obj.optString("invoiceserialNumber") != null && null != ip.getSerialNumber()){ @@ -763,28 +763,30 @@ Set invoiceItemSet = ip.getInvoiceItem(); if(CollectionUtils.isNotEmpty(invoiceItemSet)){ for (InvoiceItem invoiceItemTemp : invoiceItemSet) { - Long tousseDefinitionIdII = invoiceItemTemp.getTousseDefinitionId(); - if(tousseDefinitionIdII != null && tousseDefinitionId != null - && tousseDefinitionId.longValue() == tousseDefinitionIdII.longValue()){ + Long tousseDefinitionAncestorIDII = invoiceItemTemp.getAncestorId(); + if(tousseDefinitionAncestorIDII != null && tousseDefinitionAncestorID != null + && tousseDefinitionAncestorID.longValue() == tousseDefinitionAncestorIDII.longValue()){ invoiceItem = invoiceItemTemp; break; } } } - if(invoiceItem.printed()){ - obj.put("isPrint", invoiceItem.getIsPrint()); - if(null != ip.getPrintTime()){ - obj.put("printTime", sdf.format(ip.getPrintTime())); + if(invoiceItem != null){ + if(invoiceItem.printed()){ + obj.put("isPrint", invoiceItem.getIsPrint()); + if(null != ip.getPrintTime()){ + obj.put("printTime", sdf.format(ip.getPrintTime())); + } + if(null != invoiceItem.getPrintTime()){ + obj.put("printTime", sdf.format(invoiceItem.getPrintTime())); + } + }else{ + obj.put("isPrint", invoiceItem.getIsPrint()); } - if(null != invoiceItem.getPrintTime()){ - obj.put("printTime", sdf.format(invoiceItem.getPrintTime())); + if(null != ip.getPersonInCharge()){ + obj.put("personInCharge", ip.getPersonInCharge()); } - }else{ - obj.put("isPrint", invoiceItem.getIsPrint()); } - if(null != ip.getPersonInCharge()){ - obj.put("personInCharge", ip.getPersonInCharge()); - } } } }