Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java =================================================================== diff -u -r18509 -r18511 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 18509) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 18511) @@ -916,13 +916,16 @@ //清洗交接记录 JSONObject washTransitionRecordJSON = new JSONObject(); Long lastTousseInstanceId = ti.getLastTousseInstanceId(); - WashTransitionItem wti = washTransitionItemManager.getWashTransitionItemByTousseInstanceId(lastTousseInstanceId); - if (wti != null) { - WashTransitionRecord wtr = wti.getWashTransitionRecord(); - washTransitionRecordJSON.put("handover", wtr.getHandover()); - washTransitionRecordJSON.put("takeover", wtr.getTakeover()); - washTransitionRecordJSON.put("transitionTime", ForgonDateUtils.safelyFormatDate(wtr.getTransitionTime(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); - washTransitionRecordJSON.put("idCardBarcode", wti.getIdCardBarcode()); + //一定要先对lastTousseInstanceId判空(否则oracle数据库有可能会报错) + if (DatabaseUtil.isPoIdValid(lastTousseInstanceId)) { + WashTransitionItem wti = washTransitionItemManager.getWashTransitionItemByTousseInstanceId(lastTousseInstanceId); + if (wti != null) { + WashTransitionRecord wtr = wti.getWashTransitionRecord(); + washTransitionRecordJSON.put("handover", wtr.getHandover()); + washTransitionRecordJSON.put("takeover", wtr.getTakeover()); + washTransitionRecordJSON.put("transitionTime", ForgonDateUtils.safelyFormatDate(wtr.getTransitionTime(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, "")); + washTransitionRecordJSON.put("idCardBarcode", wti.getIdCardBarcode()); + } } // 流转记录