diff --git a/src/main/java/com/ffii/fpsms/modules/report/service/ItemQcFailReportService.kt b/src/main/java/com/ffii/fpsms/modules/report/service/ItemQcFailReportService.kt index 10061df..f835cab 100644 --- a/src/main/java/com/ffii/fpsms/modules/report/service/ItemQcFailReportService.kt +++ b/src/main/java/com/ffii/fpsms/modules/report/service/ItemQcFailReportService.kt @@ -19,13 +19,15 @@ open class ItemQcFailReportService( val itemCodeSql = buildMultiValueLikeClause(itemCode, "it.code", "itemCode", args) val lastInDateStartSql = if (!lastInDateStart.isNullOrBlank()) { - args["lastInDateStart"] = lastInDateStart - "AND sil.receiptDate >= :lastInDateStart" + val formattedDate = lastInDateStart.replace("/", "-") + args["lastInDateStart"] = formattedDate + "AND DATE(sil.receiptDate) >= DATE(:lastInDateStart)" } else "" val lastInDateEndSql = if (!lastInDateEnd.isNullOrBlank()) { - args["lastInDateEnd"] = lastInDateEnd - "AND sil.receiptDate < :lastInDateEnd" + val formattedDate = lastInDateEnd.replace("/", "-") + args["lastInDateEnd"] = formattedDate + "AND DATE(sil.receiptDate) <= DATE(:lastInDateEnd)" } else "" val sql = """ diff --git a/src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt b/src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt index 0fc1793..23a7231 100644 --- a/src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt +++ b/src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt @@ -126,13 +126,15 @@ open class ReportService( } val lastOutDateStartSql = if (!lastOutDateStart.isNullOrBlank()) { - args["lastOutDateStart"] = lastOutDateStart - "AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) >= :lastOutDateStart" + val formattedDate = lastOutDateStart.replace("/", "-") + args["lastOutDateStart"] = formattedDate + "AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) >= DATE(:lastOutDateStart)" } else "" val lastOutDateEndSql = if (!lastOutDateEnd.isNullOrBlank()) { - args["lastOutDateEnd"] = lastOutDateEnd - "AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) < :lastOutDateEnd" + val formattedDate = lastOutDateEnd.replace("/", "-") + args["lastOutDateEnd"] = formattedDate + "AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) <= DATE(:lastOutDateEnd)" } else "" val sql = """ @@ -319,13 +321,15 @@ return result } val lastOutDateStartSql = if (!lastOutDateStart.isNullOrBlank()) { - args["lastOutDateStart"] = lastOutDateStart - "AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) >= :lastOutDateStart" + val formattedDate = lastOutDateStart.replace("/", "-") + args["lastOutDateStart"] = formattedDate + "AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) >= DATE(:lastOutDateStart)" } else "" val lastOutDateEndSql = if (!lastOutDateEnd.isNullOrBlank()) { - args["lastOutDateEnd"] = lastOutDateEnd - "AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) < :lastOutDateEnd" + val formattedDate = lastOutDateEnd.replace("/", "-") + args["lastOutDateEnd"] = formattedDate + "AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) <= DATE(:lastOutDateEnd)" } else "" val sql = """ @@ -510,15 +514,17 @@ fun searchMaterialStockOutTraceabilityReport( } val lastOutDateStartSql = if (!lastOutDateStart.isNullOrBlank()) { - args["lastOutDateStart"] = lastOutDateStart - "AND DATE(sol.endTime) >= :lastOutDateStart" + val formattedDate = lastOutDateStart.replace("/", "-") + args["lastOutDateStart"] = formattedDate + "AND DATE(sol.endTime) >= DATE(:lastOutDateStart)" } else { "" } val lastOutDateEndSql = if (!lastOutDateEnd.isNullOrBlank()) { - args["lastOutDateEnd"] = lastOutDateEnd - "AND DATE(sol.endTime) < :lastOutDateEnd" + val formattedDate = lastOutDateEnd.replace("/", "-") + args["lastOutDateEnd"] = formattedDate + "AND DATE(sol.endTime) <= DATE(:lastOutDateEnd)" } else { "" } @@ -703,13 +709,15 @@ fun searchMaterialStockOutTraceabilityReport( val itemCodeSql = buildMultiValueLikeClause(itemCode, "it.code", "itemCode", args) val lastInDateStartSql = if (!lastInDateStart.isNullOrBlank()) { - args["lastInDateStart"] = lastInDateStart - "AND sil.receiptDate >= :lastInDateStart" + val formattedDate = lastInDateStart.replace("/", "-") + args["lastInDateStart"] = formattedDate + "AND DATE(sil.receiptDate) >= DATE(:lastInDateStart)" } else "" val lastInDateEndSql = if (!lastInDateEnd.isNullOrBlank()) { - args["lastInDateEnd"] = lastInDateEnd - "AND sil.receiptDate < :lastInDateEnd" + val formattedDate = lastInDateEnd.replace("/", "-") + args["lastInDateEnd"] = formattedDate + "AND DATE(sil.receiptDate) <= DATE(:lastInDateEnd)" } else "" val sql = """ @@ -798,19 +806,19 @@ fun searchMaterialStockOutTraceabilityReport( COALESCE(uc.code, '') as unitOfMeasure, COALESCE(il.lotNo, sil.lotNo, '') as lotNo, COALESCE(DATE_FORMAT(COALESCE(il.expiryDate, sil.expiryDate), '%Y-%m-%d'), '') as expiryDate, - CAST(ROUND(COALESCE(opening_bal.openingBalance, 0), 0) AS CHAR) as openingBalance, - CAST(ROUND(COALESCE(cum_in.cumStockIn, 0), 0) AS CHAR) as cumStockIn, - CAST(ROUND(COALESCE(cum_out.cumStockOut, 0), 0) AS CHAR) as cumStockOut, - CAST(ROUND(COALESCE(opening_bal.openingBalance, 0) + COALESCE(cum_in.cumStockIn, 0) - COALESCE(cum_out.cumStockOut, 0), 0) AS CHAR) as currentBalance, + FORMAT(ROUND(COALESCE(opening_bal.openingBalance, 0), 0), 0) as openingBalance, + FORMAT(ROUND(COALESCE(cum_in.cumStockIn, 0), 0), 0) as cumStockIn, + FORMAT(ROUND(COALESCE(cum_out.cumStockOut, 0), 0), 0) as cumStockOut, + FORMAT(ROUND(COALESCE(opening_bal.openingBalance, 0) + COALESCE(cum_in.cumStockIn, 0) - COALESCE(cum_out.cumStockOut, 0), 0), 0) as currentBalance, '' as reOrderLevel, '' as reOrderQty, COALESCE(GROUP_CONCAT(DISTINCT wh.code ORDER BY wh.code SEPARATOR ', '), '') as storeLocation, COALESCE(DATE_FORMAT(cum_in.lastInDate, '%Y-%m-%d'), '') as lastInDate, COALESCE(DATE_FORMAT(cum_out.lastOutDate, '%Y-%m-%d'), '') as lastOutDate, - CAST(ROUND(SUM(COALESCE(opening_bal.openingBalance, 0)) OVER (PARTITION BY it.code), 0) AS CHAR) as totalOpeningBalance, - CAST(ROUND(SUM(COALESCE(cum_in.cumStockIn, 0)) OVER (PARTITION BY it.code), 0) AS CHAR) as totalCumStockIn, - CAST(ROUND(SUM(COALESCE(cum_out.cumStockOut, 0)) OVER (PARTITION BY it.code), 0) AS CHAR) as totalCumStockOut, - CAST(ROUND(SUM(COALESCE(opening_bal.openingBalance, 0) + COALESCE(cum_in.cumStockIn, 0) - COALESCE(cum_out.cumStockOut, 0)) OVER (PARTITION BY it.code), 0) AS CHAR) as totalCurrentBalance + FORMAT(ROUND(SUM(COALESCE(opening_bal.openingBalance, 0)) OVER (PARTITION BY it.code), 0), 0) as totalOpeningBalance, + FORMAT(ROUND(SUM(COALESCE(cum_in.cumStockIn, 0)) OVER (PARTITION BY it.code), 0), 0) as totalCumStockIn, + FORMAT(ROUND(SUM(COALESCE(cum_out.cumStockOut, 0)) OVER (PARTITION BY it.code), 0), 0) as totalCumStockOut, + FORMAT(ROUND(SUM(COALESCE(opening_bal.openingBalance, 0) + COALESCE(cum_in.cumStockIn, 0) - COALESCE(cum_out.cumStockOut, 0)) OVER (PARTITION BY it.code), 0), 0) as totalCurrentBalance FROM inventory_lot il LEFT JOIN items it ON il.itemId = it.id AND it.deleted = false LEFT JOIN stock_in_line sil ON il.stockInLineId = sil.id AND sil.deleted = false @@ -877,23 +885,27 @@ fun searchMaterialStockOutTraceabilityReport( } if (!lastInDateStart.isNullOrBlank()) { - args["lastInDateStart"] = lastInDateStart - havingConditions.add("(cum_in.lastInDate IS NULL OR cum_in.lastInDate >= :lastInDateStart)") + val formattedDate = lastInDateStart.replace("/", "-") + args["lastInDateStart"] = formattedDate + havingConditions.add("(cum_in.lastInDate IS NOT NULL AND DATE(cum_in.lastInDate) >= DATE(:lastInDateStart))") } if (!lastInDateEnd.isNullOrBlank()) { - args["lastInDateEnd"] = lastInDateEnd - havingConditions.add("(cum_in.lastInDate IS NULL OR cum_in.lastInDate < :lastInDateEnd)") + val formattedDate = lastInDateEnd.replace("/", "-") + args["lastInDateEnd"] = formattedDate + havingConditions.add("(cum_in.lastInDate IS NOT NULL AND DATE(cum_in.lastInDate) <= DATE(:lastInDateEnd))") } if (!lastOutDateStart.isNullOrBlank()) { - args["lastOutDateStart"] = lastOutDateStart - havingConditions.add("(cum_out.lastOutDate IS NULL OR cum_out.lastOutDate >= :lastOutDateStart)") + val formattedDate = lastOutDateStart.replace("/", "-") + args["lastOutDateStart"] = formattedDate + havingConditions.add("(cum_out.lastOutDate IS NOT NULL AND DATE(cum_out.lastOutDate) >= DATE(:lastOutDateStart))") } if (!lastOutDateEnd.isNullOrBlank()) { - args["lastOutDateEnd"] = lastOutDateEnd - havingConditions.add("(cum_out.lastOutDate IS NULL OR cum_out.lastOutDate < :lastOutDateEnd)") + val formattedDate = lastOutDateEnd.replace("/", "-") + args["lastOutDateEnd"] = formattedDate + havingConditions.add("(cum_out.lastOutDate IS NOT NULL AND DATE(cum_out.lastOutDate) <= DATE(:lastOutDateEnd))") } val finalSql = if (havingConditions.isNotEmpty()) { diff --git a/src/main/java/com/ffii/fpsms/modules/report/service/SemiFGProductionAnalysisReportService.kt b/src/main/java/com/ffii/fpsms/modules/report/service/SemiFGProductionAnalysisReportService.kt index 3053ca5..da7dd3f 100644 --- a/src/main/java/com/ffii/fpsms/modules/report/service/SemiFGProductionAnalysisReportService.kt +++ b/src/main/java/com/ffii/fpsms/modules/report/service/SemiFGProductionAnalysisReportService.kt @@ -107,13 +107,15 @@ class SemiFGProductionAnalysisReportService( } val lastOutDateStartSql = if (!lastOutDateStart.isNullOrBlank()) { - args["lastOutDateStart"] = lastOutDateStart - "AND DATE(sl.modified) >= :lastOutDateStart" + val formattedDate = lastOutDateStart.replace("/", "-") + args["lastOutDateStart"] = formattedDate + "AND DATE(sl.modified) >= DATE(:lastOutDateStart)" } else "" val lastOutDateEndSql = if (!lastOutDateEnd.isNullOrBlank()) { - args["lastOutDateEnd"] = lastOutDateEnd - "AND DATE(sl.modified) < :lastOutDateEnd" + val formattedDate = lastOutDateEnd.replace("/", "-") + args["lastOutDateEnd"] = formattedDate + "AND DATE(sl.modified) <= DATE(:lastOutDateEnd)" } else "" val sql = """ diff --git a/src/main/java/com/ffii/fpsms/modules/report/service/StockItemConsumptionTrendReportService.kt b/src/main/java/com/ffii/fpsms/modules/report/service/StockItemConsumptionTrendReportService.kt index 42a6354..867e47c 100644 --- a/src/main/java/com/ffii/fpsms/modules/report/service/StockItemConsumptionTrendReportService.kt +++ b/src/main/java/com/ffii/fpsms/modules/report/service/StockItemConsumptionTrendReportService.kt @@ -122,13 +122,15 @@ class StockItemConsumptionTrendReportService( } val lastOutDateStartSql = if (!lastOutDateStart.isNullOrBlank()) { - args["lastOutDateStart"] = lastOutDateStart - "AND DATE(sl.modified) >= :lastOutDateStart" + val formattedDate = lastOutDateStart.replace("/", "-") + args["lastOutDateStart"] = formattedDate + "AND DATE(sl.modified) >= DATE(:lastOutDateStart)" } else "" val lastOutDateEndSql = if (!lastOutDateEnd.isNullOrBlank()) { - args["lastOutDateEnd"] = lastOutDateEnd - "AND DATE(sl.modified) < :lastOutDateEnd" + val formattedDate = lastOutDateEnd.replace("/", "-") + args["lastOutDateEnd"] = formattedDate + "AND DATE(sl.modified) <= DATE(:lastOutDateEnd)" } else "" val sql = """ diff --git a/src/main/resources/jasper/ItemQCReport.jrxml b/src/main/resources/jasper/ItemQCReport.jrxml index d94d7ea..c9d2fc6 100644 --- a/src/main/resources/jasper/ItemQCReport.jrxml +++ b/src/main/resources/jasper/ItemQCReport.jrxml @@ -52,77 +52,45 @@ - - + - + - + - - + + - + - + + - - + + - + - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + @@ -130,10 +98,10 @@ - + - + @@ -141,10 +109,10 @@ - + - + @@ -152,10 +120,10 @@ - + - + @@ -163,10 +131,10 @@ - + - + @@ -174,10 +142,10 @@ - + - + @@ -185,43 +153,39 @@ - + - - - + + - - + - - - - - + + + + - + - - - - - + + + + - + - - + + - + @@ -229,10 +193,10 @@ - + - + @@ -240,13 +204,8 @@ - + - - - - - @@ -268,25 +227,7 @@ - - - - - - - - - - - - - - - - - - - + @@ -327,17 +268,12 @@ - - - - - - + - + @@ -380,105 +316,44 @@ - + - + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + - + - + - - + - + - - - + - + @@ -486,72 +361,58 @@ - - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + + diff --git a/src/main/resources/jasper/StockBalanceReport.jrxml b/src/main/resources/jasper/StockBalanceReport.jrxml index 2a3d263..9a96a3e 100644 --- a/src/main/resources/jasper/StockBalanceReport.jrxml +++ b/src/main/resources/jasper/StockBalanceReport.jrxml @@ -90,7 +90,7 @@ - + @@ -161,7 +161,7 @@ - + @@ -273,7 +273,7 @@ - + @@ -315,7 +315,7 @@ - + @@ -356,17 +356,12 @@ - + - - - - - - + @@ -414,81 +409,39 @@ - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - + - - + - + - + - - + - + - - - + - + @@ -505,7 +458,7 @@ - + @@ -560,21 +513,21 @@ - + - + - + diff --git a/src/main/resources/jasper/StockInTraceabilityReport.jrxml b/src/main/resources/jasper/StockInTraceabilityReport.jrxml index 0c4a6cc..5b433a1 100644 --- a/src/main/resources/jasper/StockInTraceabilityReport.jrxml +++ b/src/main/resources/jasper/StockInTraceabilityReport.jrxml @@ -141,7 +141,7 @@ - + @@ -271,7 +271,7 @@ - + @@ -282,7 +282,7 @@ - + @@ -291,7 +291,7 @@ - + @@ -300,7 +300,7 @@ - + @@ -504,7 +504,7 @@ - + @@ -528,7 +528,7 @@ - + diff --git a/src/main/resources/jasper/StockLedgarReport.jrxml b/src/main/resources/jasper/StockLedgarReport.jrxml index 988ae7b..828d61c 100644 --- a/src/main/resources/jasper/StockLedgarReport.jrxml +++ b/src/main/resources/jasper/StockLedgarReport.jrxml @@ -73,94 +73,78 @@ - + - + - - - - - - - - - - - + + - - + + - + - + + - - + + - + - + + - - - - - - - - - - + - - - - + + + + + - + - + - - + + - + - - + + - - + - + - + @@ -170,8 +154,8 @@ - - + + @@ -180,7 +164,7 @@ - + @@ -188,8 +172,8 @@ - - + + @@ -219,21 +203,20 @@ - - <band height="104" splitType="Stretch"> + <pageHeader> + <band height="85" splitType="Stretch"> <staticText> - <reportElement x="319" y="0" width="165" height="23" uuid="1666285e-2b4b-4017-810f-fa9a0a9165b6"> + <reportElement x="324" y="5" width="165" height="23" uuid="61492f60-688d-4110-b8d2-fcc5b5b24ba7"> <property name="com.jaspersoft.studio.unit.y" value="px"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> - <textElement textAlignment="Left" verticalAlignment="Middle"> + <textElement textAlignment="Center" verticalAlignment="Middle"> <font fontName="微軟正黑體" size="16" isBold="true"/> </textElement> - <text><![CDATA[Stock Ledgar Report -]]></text> + <text><![CDATA[庫存明細報告]]></text> </staticText> <staticText> - <reportElement x="700" y="12" width="40" height="18" uuid="e212b74e-2e71-4547-9e4a-e4ab2ce64462"> + <reportElement x="700" y="5" width="40" height="18" uuid="a1e0b60d-cb14-4854-b996-7823c975444d"> <property name="com.jaspersoft.studio.unit.y" value="px"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> @@ -243,7 +226,7 @@ <text><![CDATA[頁數]]></text> </staticText> <textField> - <reportElement x="740" y="12" width="20" height="18" uuid="1b209da7-33e2-4e04-a663-f6170c806ef4"> + <reportElement x="740" y="5" width="20" height="18" uuid="7e5c38a6-3c39-4baf-879e-64380d7e68ab"> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> <textElement textAlignment="Center" verticalAlignment="Middle"> @@ -252,7 +235,7 @@ <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> </textField> <staticText> - <reportElement x="760" y="12" width="20" height="18" uuid="542731ff-0b34-401f-af74-5d96753f4a3a"> + <reportElement x="760" y="5" width="20" height="18" uuid="f972720c-7c8e-4b65-bd5e-f8b3dfc1b86a"> <property name="com.jaspersoft.studio.unit.y" value="px"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> @@ -262,7 +245,7 @@ <text><![CDATA[/]]></text> </staticText> <textField evaluationTime="Report"> - <reportElement x="780" y="12" width="20" height="18" uuid="7124635c-e046-4d7a-9e56-b6a73502a772"> + <reportElement x="780" y="5" width="20" height="18" uuid="2e42c0da-c0b4-49cc-9aef-86ab7cd3cdb1"> <property name="com.jaspersoft.studio.unit.width" value="px"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> @@ -272,7 +255,7 @@ <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> </textField> <staticText> - <reportElement x="0" y="35" width="90" height="23" uuid="a00368d1-1269-4721-9e9f-e8c4a3c7f779"> + <reportElement x="5" y="30" width="90" height="23" uuid="8ffd692b-4f51-43bc-8568-0b8e5c2a7679"> <property name="com.jaspersoft.studio.unit.y" value="px"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> @@ -282,16 +265,7 @@ <text><![CDATA[報告日期:]]></text> </staticText> <staticText> - <reportElement x="0" y="58" width="90" height="23" uuid="a0ece46c-52e7-41dd-ace6-85bf08d98db7"> - <property name="com.jaspersoft.studio.unit.y" value="px"/> - </reportElement> - <textElement textAlignment="Left" verticalAlignment="Middle"> - <font fontName="微軟正黑體" size="16" isBold="true"/> - </textElement> - <text><![CDATA[貨物分類:]]></text> - </staticText> - <staticText> - <reportElement x="480" y="35" width="90" height="23" uuid="c5cc9643-ab3a-4c5c-9435-589a28f93101"> + <reportElement x="485" y="30" width="90" height="23" uuid="9796c4a9-a9b6-492e-800a-49245e349339"> <property name="com.jaspersoft.studio.unit.y" value="px"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> @@ -301,35 +275,21 @@ <text><![CDATA[報告時間:]]></text> </staticText> <textField> - <reportElement x="90" y="35" width="390" height="23" uuid="a4cfc094-4af4-4ce5-acfa-534c17eeadfd"/> + <reportElement x="95" y="30" width="390" height="23" uuid="6ff739e1-2ee7-443f-85ab-7a23cabd63e0"/> <textElement verticalAlignment="Middle"> <font fontName="微軟正黑體" size="16" isBold="true"/> </textElement> <textFieldExpression><![CDATA[$P{reportDate}]]></textFieldExpression> </textField> <textField> - <reportElement x="90" y="58" width="390" height="23" uuid="9e3719fc-6434-4119-ad51-54f56cb0c110"> - <property name="com.jaspersoft.studio.unit.height" value="px"/> - </reportElement> - <textElement verticalAlignment="Middle"> - <font fontName="微軟正黑體" size="16" isBold="true"/> - </textElement> - <textFieldExpression><![CDATA[$P{stockCategory}]]></textFieldExpression> - </textField> - <line> - <reportElement x="0" y="103" width="800" height="1" uuid="54929fda-881e-428a-830c-1c06d8d72e67"> - <property name="com.jaspersoft.studio.unit.height" value="px"/> - </reportElement> - </line> - <textField> - <reportElement x="570" y="35" width="228" height="23" uuid="fb55961e-94b2-4011-aaa7-834497b4d352"/> + <reportElement x="575" y="30" width="228" height="23" uuid="784ae665-6ae0-4282-84e7-1716df72cec0"/> <textElement verticalAlignment="Middle"> <font fontName="微軟正黑體" size="16" isBold="true"/> </textElement> <textFieldExpression><![CDATA[$P{reportTime}]]></textFieldExpression> </textField> <staticText> - <reportElement x="0" y="81" width="90" height="23" uuid="083407c6-4fec-4ebe-8791-630b25bdd7e5"> + <reportElement x="5" y="53" width="90" height="23" uuid="231d8082-a2fb-42fd-9980-cef8382bdeb5"> <property name="com.jaspersoft.studio.unit.y" value="px"/> </reportElement> <textElement textAlignment="Left" verticalAlignment="Middle"> @@ -338,7 +298,7 @@ <text><![CDATA[查詢期間:]]></text> </staticText> <textField> - <reportElement x="90" y="81" width="490" height="23" uuid="76037c74-490e-4afe-936d-dd8b70230e4c"> + <reportElement x="95" y="53" width="490" height="23" uuid="3b98b6fa-9b8c-4248-9fb9-5923888c9569"> <property name="com.jaspersoft.studio.unit.height" value="px"/> </reportElement> <textElement verticalAlignment="Middle"> @@ -346,348 +306,228 @@ </textElement> <textFieldExpression><![CDATA[$P{reportPeriodStart}+ " 到 " + $P{reportPeriodEnd}]]></textFieldExpression> </textField> + <line> + <reportElement x="2" y="80" width="799" height="1" uuid="33569f74-fee4-43c9-9bfe-b6bf7e12ecd4"> + <property name="com.jaspersoft.studio.unit.height" value="px"/> + </reportElement> + </line> + <line> + <reportElement x="2" y="84" width="799" height="1" uuid="da028dee-9baa-4df1-b79f-b1c042a73a6c"> + <property name="com.jaspersoft.studio.unit.height" value="px"/> + </reportElement> + </line> </band> - - - - - + + + + + + + - - + + + + + + + + + + + + - + - + + - - + + - + - + + - - + + - + - - + + - - + + - + - + - - + + - + - - + + + - - + + - + + + + + + + + + + - - + + + - - - + + + + + + + + - - - - + + + + + + + + - - + + - + - - + + + - - + + + + + + + + + + + - + - + - - - + + - + + + + + + + + + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + .format(new java.math.BigDecimal($F{stockIn}))]]> + + +