Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r32173 -r32203 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 32173) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 32203) @@ -7199,9 +7199,19 @@ + columnSql + " end else 1 end "; String sql = " "; + String remarkSql = null; + if(!"summary".equals(type)){ + if(dbConnection.isOracle()){ + remarkSql = ",to_clob(po.remark) as remark "; + }else{ + remarkSql = ",po.remark as remark"; + } + }else{ + remarkSql = ",'' as remark"; + } //器械包 一次发货 String tousseSql = "select '器械包' as type"+querySupplierNameOfTousseDefinition+",po.orgUnitCoding,po.settleAccountsDepart,po.departCoding,po.depart,do.barcode,bo.tousseName as name," - + tousseAmount + " as amount,bo.price as totalPrice,po.sendTime,po.applicant,'' as batch,'' as externalCode,po.remark as remark,bo.sterileEndTime as sterileEndTime," + + tousseAmount + " as amount,bo.price as totalPrice,po.sendTime,po.applicant,'' as batch,'' as externalCode"+ remarkSql +",bo.sterileEndTime as sterileEndTime," + "bo.sterilizerName as sterilizerName,bo.sterileFrequency as sterileFrequency,po.hospitalNumber as hospitalNumber,po.sender,po.assistantSender,bo.validUntil as expDate from " + Invoice.class.getSimpleName() + " po inner join " + TousseInstance.class.getSimpleName() + " bo on po.id = bo.invoice_id " + " inner join " + BarcodeDevice.class.getSimpleName()+ " do on bo.id = do.id" @@ -7210,31 +7220,31 @@ +" where 1=1 " + tousseGroupNameSql + remarkCondition + hospitalNumberSql + " and " + tousseTypeSql; //器械包 二次发货 String tousseSql2 = "select '器械包' as type"+querySupplierNameOfTousseDefinition+",po.orgUnitCoding,po.settleAccountsDepart,po.departCoding,po.depart,do.barcode,bo.tousseName as name," - + tousseAmount + " as amount,bo.price as totalPrice,po.sendTime,po.applicant,'' as batch,'' as externalCode,po.remark as remark,bo.sterileEndTime as sterileEndTime," + + tousseAmount + " as amount,bo.price as totalPrice,po.sendTime,po.applicant,'' as batch,'' as externalCode"+ remarkSql +",bo.sterileEndTime as sterileEndTime," + "bo.sterilizerName as sterilizerName,bo.sterileFrequency as sterileFrequency,po.hospitalNumber as hospitalNumber,po.sender,po.assistantSender,bo.validUntil as expDate from " + Invoice.class.getSimpleName() + " po inner join " + TousseInstance.class.getSimpleName() + " bo on po.id = bo.invoice2_id " + " inner join " + BarcodeDevice.class.getSimpleName()+ " do on bo.id = do.id" + " inner join " + TousseDefinition.class.getSimpleName() + " td on bo.tousseDefinition_id=td.id " + joinMaterialInstanceSql +" where 1=1 " + tousseGroupNameSql + remarkCondition + hospitalNumberSql + " and " + tousseTypeSql; String diposableSql = "select '一次性物品' as type "+querySupplierNameOfDisposableGoodsBatchStock+",po.orgUnitCoding, po.settleAccountsDepart,po.departCoding,po.depart,case when bo.expensiveDGBarcode is null then bo.barcode else bo.expensiveDGBarcode end barcode,bo.name,bo.amount,bo.price*bo.amount as totalPrice," - + "po.sendTime,po.applicant,bo.batch,dg.externalCode,po.remark as remark,'' as sterileEndTime,'' as sterilizerName,'' as sterileFrequency," + + "po.sendTime,po.applicant,bo.batch,dg.externalCode "+ remarkSql +",'' as sterileEndTime,'' as sterilizerName,'' as sterileFrequency," + "po.hospitalNumber as hospitalNumber,po.sender,po.assistantSender,dgbs.expDate from " + Invoice.class.getSimpleName() + " po," + DiposableGoodsItem.class.getSimpleName()+" bo," + DisposableGoods.class.getSimpleName() + " dg,"+ DisposableGoodsBatchStock.class.getSimpleName() +" dgbs where po.id = bo.invoice_id and " + " bo.disposableGoodsBatchStockID=dgbs.id and " + "bo.disposableGoodsID = dg.id " + remarkCondition + hospitalNumberSql + " and " + disposableTypeSql; String expensiveGoods = "select '高值耗材' as type"+noQuerySupplierName+",po.orgUnitCoding, po.settleAccountsDepart,po.departCoding,po.depart,bd.barcode barcode,ii.tousseName name,ii.amount,ii.settlementPrice as totalPrice," - + "po.sendTime,po.applicant,'' batch,eg.externalCode,po.remark as remark,'' as sterileEndTime,'' as sterilizerName,'' as sterileFrequency," + + "po.sendTime,po.applicant,'' batch,eg.externalCode"+ remarkSql +",'' as sterileEndTime,'' as sterilizerName,'' as sterileFrequency," + "po.hospitalNumber as hospitalNumber,po.sender,po.assistantSender,ei.expDate from " + Invoice.class.getSimpleName() + " po join " + InvoiceItem.class.getSimpleName()+" ii on ii.invoice_id = po.id" + " join " + ExpensiveGoodsInstance.class.getSimpleName() + " ei on ei.id = ii.expensiveGoodsInstanceId join "+ BarcodeDevice.class.getSimpleName() +" bd on bd.id = ei.id" + " join " + ExpensiveGoods.class.getSimpleName() + " eg on eg.id = ei.expensiveGoods_id" + " where (1=1) " + remarkCondition + hospitalNumberSql + " and " + expensiveGoodsSql; String materialSql = "select '材料' as type"+noQuerySupplierName+",po.orgUnitCoding, po.settleAccountsDepart,po.departCoding,po.depart,'' as barcode,bo.name as name,bo.amount,bo.price*bo.amount as totalPrice," - + "po.sendTime,'' as applicant,'' as batch,dg.externalCode,po.remark as remark,'' as sterileEndTime,'' as sterilizerName,'' as sterileFrequency," + + "po.sendTime,'' as applicant,'' as batch,dg.externalCode "+ remarkSql +",'' as sterileEndTime,'' as sterilizerName,'' as sterileFrequency," + "'' as hospitalNumber,po.sender,'' as assistantSender,null as expDate from " + MaterialInvoice.class.getSimpleName() + " po inner join " + MaterialItem.class.getSimpleName() + " bo on po.id = bo.materialInvoice_id " + " inner join " + GoodsStock.class.getSimpleName() + " gs on gs.id = bo.goodsStockId inner join "