/** * 删除出库单或出库单详细 (non-Javadoc) * * @see * com.wms3.bms.standard.business.outbound.IOutBoundBus#deleteOutBoundInvoice(java.lang.String, * java.lang.String, java.lang.String) */ public String deleteOutBoundInvoice( String strOutBoundId, String strOutBoundDetailId, String strFlag) throws Exception { String strMsg = "操作成功!"; // 同步 单据号 synchronized (strOutBoundId) { OutboundInvoiceHeader invoice = getOutBoundById(strOutBoundId); if (invoice != null) { if (strFlag != null && strFlag.trim().equals("1")) { // 1:删除单据 if (invoice.getOutstatus().equals("0") && !isFinishJobByOutIdAndCId(strOutBoundId)) { // 单据状态为开单状态;是否存在已完成作业 outBoundDAO.deleteOutBound(strOutBoundId); } else { strMsg = "单据[" + strOutBoundId + "]状态(" + invoice.getOutstatus() + ")不为开单状态0,或者 存在已经完成的作业,不能删除出库单!"; } } else if (strFlag != null && strFlag.trim().equals("2")) { // 2:删除单据详细 // 出库单详细的状态 OutboundInvoiceDetail outBoundDetail = getOutBoundDetailById(strOutBoundDetailId); if (outBoundDetail != null) { if (outBoundDetail.getLinestatus().equals("0")) { // 为开单状态时才能删除 outBoundDAO.deleteOutBoundDetail(strOutBoundDetailId); } else { strMsg = "出库单[" + strOutBoundId + "]的出库详细[" + strOutBoundDetailId + "]状态(" + outBoundDetail.getLinestatus() + ")不为开单状态0,不能删除出库单详细!"; } } else { strMsg = "出库单[" + strOutBoundId + "]的出库单详细[" + strOutBoundDetailId + "]不存在,无法做删除操作!"; } } } else { strMsg = "出库单[" + strOutBoundId + "]不存在,无法做删除操作!"; } } return strMsg; }