瀏覽代碼

Update StockBalanceReport & StockInTracabilityReport

master^2
Tommy\2Fi-Staff 6 小時之前
父節點
當前提交
32ad2da600
共有 4 個檔案被更改,包括 806 行新增38 行删除
  1. +151
    -25
      src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt
  2. +54
    -0
      src/main/java/com/ffii/fpsms/modules/report/web/ReportController.kt
  3. +588
    -0
      src/main/resources/jasper/StockBalanceReport.jrxml
  4. +13
    -13
      src/main/resources/jasper/StockInTraceabilityReport.jrxml

+ 151
- 25
src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt 查看文件

@@ -329,7 +329,6 @@ return result
* Queries the database for Stock In Traceability Report data.
* Joins stock_in_line, stock_in, items, qc_result, inventory_lot, inventory_lot_line, warehouse, and shop tables.
* Supports comma-separated values for stockCategory (items.type) and itemCode.
* When "All" is selected, it expands to all categories: MAT, FG, WIP, NM, CMB.
*/
fun searchStockInTraceabilityReport(
stockCategory: String?,
@@ -339,22 +338,7 @@ return result
): List<Map<String, Any>> {
val args = mutableMapOf<String, Any>()
// Handle "All" option by expanding to all categories
val processedStockCategory = if (!stockCategory.isNullOrBlank()) {
val categories = stockCategory.split(",").map { it.trim() }.filter { it.isNotBlank() }
if (categories.contains("All")) {
// Replace "All" with all categories: MAT, FG, WIP, NM, CMB
val allCategories = listOf("MAT", "FG", "WIP", "NM", "CMB")
val otherCategories = categories.filter { it != "All" }
(allCategories + otherCategories).distinct().joinToString(",")
} else {
stockCategory
}
} else {
stockCategory
}
val stockCategorySql = buildMultiValueExactClause(processedStockCategory, "it.type", "stockCategory", args)
val stockCategorySql = buildMultiValueExactClause(stockCategory, "it.type", "stockCategory", args)
val itemCodeSql = buildMultiValueLikeClause(itemCode, "it.code", "itemCode", args)
val lastInDateStartSql = if (!lastInDateStart.isNullOrBlank()) {
@@ -375,14 +359,14 @@ return result
COALESCE(sil.dnNo, '') as dnNo,
COALESCE(sil.lotNo, il.lotNo, '') as lotNo,
COALESCE(DATE_FORMAT(COALESCE(sil.expiryDate, il.expiryDate), '%Y-%m-%d'), '') as expiryDate,
FORMAT(COALESCE(sil.acceptedQty, 0), 2) as stockInQty,
FORMAT(COALESCE(sil.acceptedQty, 0), 2) as iqcSampleQty,
FORMAT(COALESCE(qr.failQty, 0), 2) as iqcDefectQty,
FORMAT(CASE
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM FORMAT(COALESCE(sil.acceptedQty, 0), 2))) as stockInQty,
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM FORMAT(COALESCE(sil.acceptedQty, 0), 2))) as iqcSampleQty,
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM FORMAT(COALESCE(qr.failQty, 0), 2))) as iqcDefectQty,
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM FORMAT(CASE
WHEN COALESCE(sil.acceptedQty, 0) > 0
THEN ROUND((COALESCE(qr.failQty, 0) / sil.acceptedQty) * 100, 2)
ELSE 0
END, 2) as iqcDefectPercentage,
END, 2))) as iqcDefectPercentage,
CASE
WHEN qr.qcPassed = true OR qr.qcPassed IS NULL THEN 'Accept'
ELSE 'Reject'
@@ -391,9 +375,9 @@ return result
COALESCE(wh.code, '') as storeLocation,
COALESCE(sp_si.code, sp_po.code, '') as supplierID,
COALESCE(sp_si.name, sp_po.name, '') as supplierName,
FORMAT(SUM(COALESCE(sil.acceptedQty, 0)) OVER (PARTITION BY it.id), 2) as totalStockInQty,
FORMAT(SUM(COALESCE(sil.acceptedQty, 0)) OVER (PARTITION BY it.id), 2) as totalIqcSampleQty,
FORMAT(SUM(COALESCE(qr.failQty, 0)) OVER (PARTITION BY it.id), 2) as totalIqcDefectQty
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM FORMAT(SUM(COALESCE(sil.acceptedQty, 0)) OVER (PARTITION BY it.id), 2))) as totalStockInQty,
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM FORMAT(SUM(COALESCE(sil.acceptedQty, 0)) OVER (PARTITION BY it.id), 2))) as totalIqcSampleQty,
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM FORMAT(SUM(COALESCE(qr.failQty, 0)) OVER (PARTITION BY it.id), 2))) as totalIqcDefectQty
FROM stock_in_line sil
LEFT JOIN stock_in si ON sil.stockInId = si.id
LEFT JOIN purchase_order po ON sil.purchaseOrderId = po.id
@@ -418,6 +402,148 @@ return result
}


/**
* Queries the database for Stock Balance Report data.
* Shows stock balances by item code and lot number, including opening balance,
* cumulative stock in/out, current balance, store locations, and last in/out dates.
* Opening balance comes from stock_ledger where type = 'adj'.
*/
fun searchStockBalanceReport(
stockCategory: String?,
itemCode: String?,
balanceFilterStart: String?,
balanceFilterEnd: String?,
storeLocation: String?,
lastInDateStart: String?,
lastInDateEnd: String?,
lastOutDateStart: String?,
lastOutDateEnd: String?
): List<Map<String, Any>> {
val args = mutableMapOf<String, Any>()
val stockCategorySql = buildMultiValueExactClause(stockCategory, "it.type", "stockCategory", args)
val itemCodeSql = buildMultiValueLikeClause(itemCode, "it.code", "itemCode", args)
val storeLocationSql = if (!storeLocation.isNullOrBlank()) {
args["storeLocation"] = "%$storeLocation%"
"AND wh.code LIKE :storeLocation"
} else ""

val sql = """
SELECT
'' as stockSubCategory,
COALESCE(it.code, '') as itemNo,
COALESCE(it.name, '') as itemName,
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,
'' 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
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
LEFT JOIN inventory_lot_line ill ON il.id = ill.inventoryLotId AND ill.deleted = false
LEFT JOIN warehouse wh ON ill.warehouseId = wh.id AND wh.deleted = false
LEFT JOIN item_uom iu ON it.id = iu.itemId AND iu.stockUnit = true
LEFT JOIN uom_conversion uc ON iu.uomId = uc.id
LEFT JOIN (
SELECT
sl.itemCode,
SUM(COALESCE(sl.balance, 0)) as openingBalance
FROM stock_ledger sl
WHERE sl.deleted = false
AND sl.type = 'adj'
AND sl.itemCode IS NOT NULL
AND sl.itemCode != ''
GROUP BY sl.itemCode
) opening_bal ON it.code = opening_bal.itemCode
LEFT JOIN (
SELECT
sl.itemCode,
SUM(COALESCE(sl.inQty, 0)) as cumStockIn,
MAX(CASE WHEN sl.inQty > 0 THEN sl.date ELSE NULL END) as lastInDate
FROM stock_ledger sl
WHERE sl.deleted = false
AND sl.itemCode IS NOT NULL
AND sl.itemCode != ''
AND COALESCE(sl.inQty, 0) > 0
GROUP BY sl.itemCode
) cum_in ON it.code = cum_in.itemCode
LEFT JOIN (
SELECT
sl.itemCode,
SUM(COALESCE(sl.outQty, 0)) as cumStockOut,
MAX(CASE WHEN sl.outQty > 0 THEN sl.date ELSE NULL END) as lastOutDate
FROM stock_ledger sl
WHERE sl.deleted = false
AND sl.itemCode IS NOT NULL
AND sl.itemCode != ''
AND COALESCE(sl.outQty, 0) > 0
GROUP BY sl.itemCode
) cum_out ON it.code = cum_out.itemCode
WHERE il.deleted = false
$stockCategorySql
$itemCodeSql
$storeLocationSql
GROUP BY it.code, it.name, uc.code, il.lotNo, sil.lotNo, il.expiryDate, sil.expiryDate,
opening_bal.openingBalance, cum_in.cumStockIn, cum_in.lastInDate,
cum_out.cumStockOut, cum_out.lastOutDate
HAVING 1=1
""".trimIndent()
// Apply filters that need to be in HAVING clause
val havingConditions = mutableListOf<String>()
if (!balanceFilterStart.isNullOrBlank()) {
args["balanceFilterStart"] = balanceFilterStart.toDoubleOrNull() ?: 0.0
havingConditions.add("(COALESCE(opening_bal.openingBalance, 0) + COALESCE(cum_in.cumStockIn, 0) - COALESCE(cum_out.cumStockOut, 0)) >= :balanceFilterStart")
}
if (!balanceFilterEnd.isNullOrBlank()) {
args["balanceFilterEnd"] = balanceFilterEnd.toDoubleOrNull() ?: 0.0
havingConditions.add("(COALESCE(opening_bal.openingBalance, 0) + COALESCE(cum_in.cumStockIn, 0) - COALESCE(cum_out.cumStockOut, 0)) <= :balanceFilterEnd")
}
if (!lastInDateStart.isNullOrBlank()) {
args["lastInDateStart"] = lastInDateStart
havingConditions.add("(cum_in.lastInDate IS NULL OR cum_in.lastInDate >= :lastInDateStart)")
}
if (!lastInDateEnd.isNullOrBlank()) {
args["lastInDateEnd"] = lastInDateEnd
havingConditions.add("(cum_in.lastInDate IS NULL OR cum_in.lastInDate < :lastInDateEnd)")
}
if (!lastOutDateStart.isNullOrBlank()) {
args["lastOutDateStart"] = lastOutDateStart
havingConditions.add("(cum_out.lastOutDate IS NULL OR cum_out.lastOutDate >= :lastOutDateStart)")
}
if (!lastOutDateEnd.isNullOrBlank()) {
args["lastOutDateEnd"] = lastOutDateEnd
havingConditions.add("(cum_out.lastOutDate IS NULL OR cum_out.lastOutDate < :lastOutDateEnd)")
}
val finalSql = if (havingConditions.isNotEmpty()) {
sql.replace("HAVING 1=1", "HAVING ${havingConditions.joinToString(" AND ")}")
} else {
sql.replace("HAVING 1=1", "")
}
return jdbcDao.queryForList(finalSql, args)
}

/**
* Compiles and fills a Jasper Report, returning the PDF as a ByteArray.
*/


+ 54
- 0
src/main/java/com/ffii/fpsms/modules/report/web/ReportController.kt 查看文件

@@ -165,4 +165,58 @@ class ReportController(
return ResponseEntity(pdfBytes, headers, HttpStatus.OK)
}

@GetMapping("/print-stock-balance")
fun generateStockBalanceReport(
@RequestParam(required = false) stockCategory: String?,
@RequestParam(required = false) itemCode: String?,
@RequestParam(required = false) balanceFilterStart: String?,
@RequestParam(required = false) balanceFilterEnd: String?,
@RequestParam(required = false) storeLocation: String?,
@RequestParam(required = false) lastInDateStart: String?,
@RequestParam(required = false) lastInDateEnd: String?,
@RequestParam(required = false) lastOutDateStart: String?,
@RequestParam(required = false) lastOutDateEnd: String?
): ResponseEntity<ByteArray> {
val parameters = mutableMapOf<String, Any>()
// Set report header parameters
parameters["stockCategory"] = stockCategory ?: "All"
parameters["itemNo"] = itemCode ?: "All"
parameters["reportDate"] = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))
parameters["reportTime"] = LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss"))
parameters["storeLocation"] = storeLocation ?: ""
parameters["balanceFilterStart"] = balanceFilterStart ?: ""
parameters["balanceFilterEnd"] = balanceFilterEnd ?: ""
parameters["lastInDateStart"] = lastInDateStart ?: ""
parameters["lastInDateEnd"] = lastInDateEnd ?: ""
parameters["lastOutDateStart"] = lastOutDateStart ?: ""
parameters["lastOutDateEnd"] = lastOutDateEnd ?: ""
val dbData = reportService.searchStockBalanceReport(
stockCategory,
itemCode,
balanceFilterStart,
balanceFilterEnd,
storeLocation,
lastInDateStart,
lastInDateEnd,
lastOutDateStart,
lastOutDateEnd
)
val pdfBytes = reportService.createPdfResponse(
"/jasper/StockBalanceReport.jrxml",
parameters,
dbData
)
val headers = HttpHeaders().apply {
contentType = MediaType.APPLICATION_PDF
setContentDispositionFormData("attachment", "StockBalanceReport.pdf")
set("filename", "StockBalanceReport.pdf")
}
return ResponseEntity(pdfBytes, headers, HttpStatus.OK)
}

}

+ 588
- 0
src/main/resources/jasper/StockBalanceReport.jrxml 查看文件

@@ -0,0 +1,588 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.17.0.final using JasperReports Library version 6.17.0-6d93193241dd8cc42629e188b94f9e0bc5722efd -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="StockBalanceReport" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="b6cc79a8-6025-4490-938c-b90508da62d0">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<parameter name="stockSubCategory" class="java.lang.String">
<defaultValueExpression><![CDATA["stockSubCategory"]]></defaultValueExpression>
</parameter>
<parameter name="stockCategory" class="java.lang.String">
<defaultValueExpression><![CDATA["stockCategory"]]></defaultValueExpression>
</parameter>
<parameter name="itemNo" class="java.lang.String">
<defaultValueExpression><![CDATA["itemCode"]]></defaultValueExpression>
</parameter>
<parameter name="year" class="java.lang.String"/>
<parameter name="reportDate" class="java.lang.String"/>
<parameter name="reportTime" class="java.lang.String"/>
<parameter name="storeLocation" class="java.lang.String">
<parameterDescription><![CDATA["storeLocation"]]></parameterDescription>
</parameter>
<parameter name="balanceFilterStart" class="java.lang.String">
<parameterDescription><![CDATA["balanceFilterStart"]]></parameterDescription>
</parameter>
<parameter name="balanceFilterEnd" class="java.lang.String">
<parameterDescription><![CDATA["balanceFilterEnd"]]></parameterDescription>
</parameter>
<parameter name="lastInDate" class="java.lang.String">
<parameterDescription><![CDATA["lastInDate"]]></parameterDescription>
</parameter>
<parameter name="lastOutDate" class="java.lang.String">
<parameterDescription><![CDATA["lastOutDate"]]></parameterDescription>
</parameter>
<parameter name="lastInDateStart" class="java.lang.String">
<parameterDescription><![CDATA["lastInDateStart"]]></parameterDescription>
</parameter>
<parameter name="lastOutDateStart" class="java.lang.String">
<parameterDescription><![CDATA["lastOutDateStart"]]></parameterDescription>
</parameter>
<parameter name="lastInDateEnd" class="java.lang.String">
<parameterDescription><![CDATA["lastInDateStart"]]></parameterDescription>
</parameter>
<parameter name="lastOutDateEnd" class="java.lang.String">
<parameterDescription><![CDATA["lastOutDateStart"]]></parameterDescription>
</parameter>
<queryString>
<![CDATA[]]>
</queryString>
<field name="stockSubCategory" class="java.lang.String"/>
<field name="itemNo" class="java.lang.String"/>
<field name="itemName" class="java.lang.String"/>
<field name="unitOfMeasure" class="java.lang.String"/>
<field name="lotNo" class="java.lang.String"/>
<field name="expiryDate" class="java.lang.String"/>
<field name="openingBalance" class="java.lang.String"/>
<field name="cumStockIn" class="java.lang.String"/>
<field name="cumStockOut" class="java.lang.String"/>
<field name="currentBalance" class="java.lang.String"/>
<field name="totalCumStockIn" class="java.lang.String"/>
<field name="totalOpeningBalance" class="java.lang.String"/>
<field name="totalCumStockOut" class="java.lang.String"/>
<field name="totalCurrentBalance" class="java.lang.String"/>
<field name="lastOutDate" class="java.lang.String"/>
<field name="lastInDate" class="java.lang.String"/>
<field name="reOrderLevel" class="java.lang.String"/>
<field name="reOrderQty" class="java.lang.String"/>
<field name="storeLocation" class="java.lang.String"/>
<group name="Group1">
<groupExpression><![CDATA[$F{itemNo}]]></groupExpression>
<groupHeader>
<band height="38">
<staticText>
<reportElement x="0" y="0" width="50" height="18" uuid="327927e0-1d3b-4395-9b0c-acdac889d91e">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[貨品編號:]]></text>
</staticText>
<staticText>
<reportElement x="120" y="0" width="50" height="18" uuid="474493a2-7188-4ae2-8536-be93c7bbd0bd">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[貨品名稱:]]></text>
</staticText>
<staticText>
<reportElement x="320" y="0" width="30" height="18" uuid="9e4bc6c5-bdaa-41cd-ba0f-b7229a7bc091">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[單位:]]></text>
</staticText>
<staticText>
<reportElement x="0" y="18" width="120" height="18" uuid="aa7590f2-5ce0-4877-b98d-b197fa799fee">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[批號]]></text>
</staticText>
<staticText>
<reportElement x="120" y="18" width="80" height="18" uuid="a78ad88c-d542-4a5f-9662-c3f9f90776b8">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[到期日]]></text>
</staticText>
<staticText>
<reportElement x="200" y="18" width="40" height="18" uuid="360cf13a-93e7-45d4-8a4d-9e9506a6ad3f">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[期初存量]]></text>
</staticText>
<staticText>
<reportElement x="250" y="18" width="61" height="18" uuid="e95456ea-35da-4b71-8dc6-f11cf1c519d5">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[累計存入量]]></text>
</staticText>
<staticText>
<reportElement x="319" y="18" width="61" height="18" uuid="2e7bbc7e-bc76-45d6-9f32-099e3058ce7b">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[累計存出量]]></text>
</staticText>
<staticText>
<reportElement x="390" y="18" width="40" height="18" uuid="b208e97a-9d94-40ba-9922-3399d8e2f3ac">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[現存存貨]]></text>
</staticText>
<staticText>
<reportElement x="440" y="18" width="40" height="18" uuid="3866d462-c233-4998-a0f4-fa527b89bc0e">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[補貨位]]></text>
</staticText>
<staticText>
<reportElement x="490" y="18" width="40" height="18" uuid="eaf55a87-c36f-4b9e-8957-2747bce9d43d">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[補貨數量]]></text>
</staticText>
<staticText>
<reportElement x="540" y="18" width="110" height="18" uuid="4bb9dbca-a6bb-4596-969e-86e8dd60c215">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[ 店鋪位置]]></text>
</staticText>
<staticText>
<reportElement x="650" y="18" width="71" height="18" uuid="8913364c-9f76-4bf6-bbcf-456e92d75f5c">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[最後入倉日期]]></text>
</staticText>
<staticText>
<reportElement x="730" y="18" width="70" height="18" uuid="49a89912-a5e5-4d5b-9ecd-fcf3169bed84">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[最後出倉日期]]></text>
</staticText>
<line>
<reportElement x="0" y="37" width="799" height="1" uuid="008bb275-0f55-4cfa-afe3-bd4b3a90db19">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<textField textAdjust="StretchHeight">
<reportElement x="50" y="0" width="70" height="18" uuid="81a938f8-9081-468e-be58-e98d3afd75f8">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{itemNo}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="170" y="0" width="80" height="18" uuid="2f8b6c65-41f4-44ac-89df-0b10cfa2c701">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{itemName}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="350" y="0" width="120" height="18" uuid="6bc40724-586f-44e6-ab5a-dcfd6d51d1d4">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{unitOfMeasure}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="24">
<staticText>
<reportElement x="128" y="1" width="72" height="18" uuid="d10fdf4f-4a2a-439c-9877-125998c975db">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[貨品總量:]]></text>
</staticText>
<textField>
<reportElement x="250" y="1" width="61" height="18" uuid="0e884be5-64f2-4ade-a2bb-50275accbcdd"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{totalCumStockIn}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="200" y="1" width="40" height="18" uuid="0a1320e0-dbbc-4da4-bc1e-ca3d21323ad8"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{totalOpeningBalance}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="320" y="1" width="60" height="18" uuid="d2bc3efc-fd44-42b8-b451-7b6bc5e77cea"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{totalCumStockOut}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="390" y="1" width="40" height="18" uuid="0994677f-b92e-4229-8540-98a41d6fb246"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{totalCurrentBalance}]]></textFieldExpression>
</textField>
<line>
<reportElement x="0" y="20" width="799" height="1" uuid="f22e204d-b70a-4e70-99ce-e1e6d60d6934">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="23" width="799" height="1" uuid="d0796042-728a-4d02-89f5-b71f13369e20">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="0" width="799" height="1" uuid="fcb953a7-15a5-4292-9184-3deefba9e266">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
</band>
</groupFooter>
</group>
<background>
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="125" splitType="Stretch">
<textField evaluationTime="Report">
<reportElement x="780" y="2" width="20" height="18" uuid="e45d9b93-df63-4fb5-bfe4-fca6a6d77b2e">
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="700" y="2" width="40" height="18" uuid="76ebb84e-f341-4013-9530-981862f92bdb">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[頁數]]></text>
</staticText>
<textField>
<reportElement x="740" y="2" width="20" height="18" uuid="8bcc730d-901f-4731-bb50-453790eafdd7">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="760" y="2" width="20" height="18" uuid="73c874c9-4a43-4ece-aa41-54f8691ea66c">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[/]]></text>
</staticText>
<line>
<reportElement x="1" y="60" width="800" height="1" uuid="54717796-6b42-4a35-a6b3-2657f346207f">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="124" width="799" height="1" uuid="aadb8fe1-98b7-49d3-b29d-be3b842e9cc7">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="120" width="799" height="1" uuid="f2f17fec-f257-4ad0-b2be-c929e86fb515">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<staticText>
<reportElement x="0" y="35" width="90" height="23" uuid="c3ba97b4-0070-469b-8e29-7a77c543722c">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="16" isBold="true"/>
</textElement>
<text><![CDATA[報告日期:]]></text>
</staticText>
<textField>
<reportElement x="90" y="35" width="390" height="23" uuid="78413a52-e6d3-42e1-899e-6ffd451f8f84"/>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體" size="16" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{reportDate}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="570" y="35" width="228" height="23" uuid="6695473c-6758-4c0a-ac1a-d8bcf2b107ca"/>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體" size="16" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{reportTime}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="480" y="35" width="90" height="23" uuid="4f222c34-313a-48d1-8340-239a0c6ac6ac">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="16" isBold="true"/>
</textElement>
<text><![CDATA[報告時間:]]></text>
</staticText>
<staticText>
<reportElement x="351" y="0" width="101" height="23" uuid="e670cb8d-d591-4418-8bce-36398e286e1f">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="16" isBold="true"/>
</textElement>
<text><![CDATA[庫存結餘報告]]></text>
</staticText>
<staticText>
<reportElement x="0" y="81" width="82" height="18" uuid="9cd796f0-8e66-4e27-807d-a577072f9618">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[存貨位置:]]></text>
</staticText>
<textField>
<reportElement x="82" y="81" width="724" height="18" uuid="2ad44da6-2192-4435-8b76-61a43657e052">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{storeLocation}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="63" width="82" height="18" uuid="d98eeb7e-a6aa-4b33-9c51-43b65ede312d">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[存量:]]></text>
</staticText>
<textField>
<reportElement x="82" y="63" width="724" height="18" uuid="f4ad44e4-024e-44c4-b9b0-1ecf13ffcfef">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{balanceFilterStart}+"件"+ " ~ " + $P{balanceFilterEnd}+"件"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="462" y="99" width="336" height="18" uuid="91f3d1ce-63d6-40d1-98c8-1550676948ed">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{lastOutDateStart} + " 到 " + $P{lastOutDateEnd}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="380" y="99" width="82" height="18" uuid="902f7ed3-ef26-4c50-86de-7976ab2fa651">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[最後出倉日期:]]></text>
</staticText>
<staticText>
<reportElement x="0" y="99" width="82" height="18" uuid="f9323fd3-0e7e-44a3-9abc-a75caed7c3b6">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[最後入倉日期:]]></text>
</staticText>
<textField>
<reportElement x="82" y="99" width="298" height="18" uuid="af0cff50-cf39-47b2-948d-11b20084062b">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{lastInDateStart} + " 到 " + $P{lastInDateEnd}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<detail>
<band height="20" splitType="Stretch">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<textField textAdjust="StretchHeight">
<reportElement x="120" y="2" width="80" height="17" uuid="01dd0420-eac9-4e0a-b1a5-c74f164a59a5"/>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{expiryDate}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="200" y="2" width="40" height="17" uuid="91b9dd25-38ac-42c6-8b10-9286ba2ad815"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{openingBalance}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="0" y="2" width="120" height="17" uuid="8776b0f9-71ff-46be-b97a-1be0ea4c3bab">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{lotNo}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="250" y="2" width="61" height="17" uuid="3e286375-b747-416e-8817-fe3290ca3d94"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{cumStockIn}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="319" y="2" width="61" height="17" uuid="904a410e-b94f-4fe0-8659-0558e891fdaa"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{cumStockOut}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="390" y="2" width="40" height="17" uuid="3d91b4d0-6775-4ea4-96cd-41251ad448c7"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{currentBalance}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="440" y="2" width="40" height="17" uuid="cad40cb7-bf47-49ac-a3a4-db9b1912620a"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{reOrderLevel}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="490" y="2" width="40" height="17" uuid="ec89f725-4d86-4e97-9ce1-9f7033ce23d0"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{reOrderQty}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="540" y="2" width="110" height="17" uuid="192315a1-142d-465e-8dfa-6e443fb12a3d">
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[ $F{storeLocation}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="650" y="2" width="71" height="17" uuid="708c707e-8102-410e-9603-1e97c42a8680"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{lastInDate}]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="730" y="2" width="70" height="17" uuid="b2f99c32-b666-4944-9ad4-8f83b080fee1"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{lastOutDate}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

+ 13
- 13
src/main/resources/jasper/StockInTraceabilityReport.jrxml 查看文件

@@ -134,7 +134,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[進料檢查
@@ -146,7 +146,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[送貨單編號]]></text>
@@ -157,7 +157,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[供應商
@@ -169,7 +169,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[進料檢查
@@ -181,7 +181,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[批號]]></text>
@@ -192,7 +192,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[供應商名稱]]></text>
@@ -203,7 +203,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[存貨位置]]></text>
@@ -214,7 +214,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[到期日]]></text>
@@ -225,7 +225,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[進料
@@ -237,7 +237,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[入庫數量]]></text>
@@ -248,7 +248,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[進料
@@ -260,7 +260,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[進料檢查
@@ -465,7 +465,7 @@
</textField>
<textField textAdjust="StretchHeight">
<reportElement x="200" y="2" width="60" height="18" uuid="4c835a14-380f-46e3-a77e-6d61bbc6766a"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{expiryDate}]]></textFieldExpression>


Loading…
取消
儲存