CANCERYS\kw093 14 ore fa
parent
commit
4cb5d4cf47
4 ha cambiato i file con 1508 aggiunte e 1 eliminazioni
  1. +344
    -0
      src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt
  2. +92
    -1
      src/main/java/com/ffii/fpsms/modules/report/web/ReportController.kt
  3. +538
    -0
      src/main/resources/jasper/FGStockOutTraceabilityReport.jrxml
  4. +534
    -0
      src/main/resources/jasper/MaterialStockOutTraceability.jrxml

+ 344
- 0
src/main/java/com/ffii/fpsms/modules/report/service/ReportService.kt Vedi File

@@ -231,6 +231,7 @@ CAST(ROUND(IFNULL(IFNULL(sol.qty, dol.qty), 0), 2) AS CHAR) AS qty,
ON pol.id = sol.pickOrderLineId
AND sol.itemId = it.id
AND sol.deleted = 0
AND sol.status = 'completed'
LEFT JOIN inventory_lot_line ill
ON sol.inventoryLotLineId = ill.id
AND ill.deleted = 0
@@ -278,6 +279,349 @@ if (result.size > 50) {
return result
}

fun searchFGStockOutTraceabilityReport(
stockCategory: String?,
stockSubCategory: String?,
itemCode: String?,
year: String?,
lastOutDateStart: String?,
lastOutDateEnd: String?
): List<Map<String, Any>> {
val args = mutableMapOf<String, Any>()
// Stock Category 过滤:通过 items.type
val stockCategorySql = if (!stockCategory.isNullOrBlank()) {
val categories = stockCategory.split(",").map { it.trim() }.filter { it.isNotBlank() }
if (categories.isNotEmpty()) {
val conditions = categories.mapIndexed { index, cat ->
val paramName = "stockCategory_$index"
args[paramName] = cat
"it.type = :$paramName"
}
"AND (${conditions.joinToString(" OR ")})"
} else {
""
}
} else {
""
}
// 移除 stockSubCategory 过滤(不需要)
val itemCodeSql = buildMultiValueLikeClause(itemCode, "it.code", "itemCode", args)
val yearSql = if (!year.isNullOrBlank()) {
args["year"] = year
"AND YEAR(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) = :year"
} else {
""
}
val lastOutDateStartSql = if (!lastOutDateStart.isNullOrBlank()) {
args["lastOutDateStart"] = lastOutDateStart
"AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) >= :lastOutDateStart"
} else ""
val lastOutDateEndSql = if (!lastOutDateEnd.isNullOrBlank()) {
args["lastOutDateEnd"] = lastOutDateEnd
"AND DATE(IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate)) < :lastOutDateEnd"
} else ""

val sql = """
SELECT
IFNULL(DATE_FORMAT(
IFNULL(dpor.RequiredDeliveryDate, do.estimatedArrivalDate),
'%Y-%m-%d'
), '') AS deliveryDate,
IFNULL(it.code, '') AS itemNo,
IFNULL(it.name, '') AS itemName,
IFNULL(uc.udfudesc, '') AS unitOfMeasure,
IFNULL(dpor.deliveryNoteCode, '') AS dnNo,
CAST(IFNULL(sp.id, 0) AS CHAR) AS customerId,
IFNULL(sp.name, '') AS customerName,
CAST(
SUM(IFNULL(sol.qty, 0)) OVER (PARTITION BY it.code) AS DECIMAL(14,2)
) AS qtyNumeric,
CAST(ROUND(IFNULL(sol.qty, 0), 2) AS CHAR) AS qty,
'' AS truckNo,
'' AS driver,
IFNULL(do.code, '') AS deliveryOrderNo,
IFNULL(po.code, '') AS fgPickOrderNo,
IFNULL(po.code, '') AS stockReqNo,
IFNULL(il.lotNo, '') AS lotNo,
IFNULL(DATE_FORMAT(il.expiryDate, '%Y-%m-%d'), '') AS expiryDate,
CAST(ROUND(IFNULL(sol.qty, 0), 2) AS CHAR) AS stockOutQty,
COALESCE(
picker_user.name,
modified_user.name,
''
) AS handler,
COALESCE(
picker_user.name,
modified_user.name,
''
) AS pickedBy,
GROUP_CONCAT(DISTINCT wh.code ORDER BY wh.code SEPARATOR ', ') AS storeLocation,
'' AS pickRemark,
CAST(
SUM(IFNULL(sol.qty, 0)) OVER (PARTITION BY it.code) AS CHAR
) AS totalStockOutQty,
0 AS stockSubCategory
FROM do_pick_order_line_record dpolr
LEFT JOIN do_pick_order_record dpor
ON dpolr.record_id = dpor.id
AND dpor.deleted = 0
AND dpor.ticket_status = 'completed'
INNER JOIN delivery_order do
ON dpolr.do_order_id = do.id
AND do.deleted = 0
LEFT JOIN shop sp
ON do.shopId = sp.id
AND sp.deleted = 0
LEFT JOIN delivery_order_line dol
ON do.id = dol.deliveryOrderId
AND dol.deleted = 0
LEFT JOIN items it
ON dol.itemId = it.id
AND it.deleted = 0
LEFT JOIN item_uom iu
ON it.id = iu.itemId
AND iu.stockUnit = 1
LEFT JOIN uom_conversion uc
ON iu.uomId = uc.id
LEFT JOIN pick_order_line pol
ON dpolr.pick_order_id = pol.poId
AND pol.itemId = it.id
AND pol.deleted = 0
LEFT JOIN pick_order po
ON pol.poId = po.id
AND po.deleted = 0
LEFT JOIN stock_out_line sol
ON pol.id = sol.pickOrderLineId
AND sol.itemId = it.id
AND sol.deleted = 0
LEFT JOIN stock_out so
ON sol.stockOutId = so.id
AND so.deleted = 0
AND so.type = 'do'
LEFT JOIN inventory_lot_line ill
ON sol.inventoryLotLineId = ill.id
AND ill.deleted = 0
LEFT JOIN inventory_lot il
ON ill.inventoryLotId = il.id
AND il.deleted = 0
LEFT JOIN warehouse wh
ON ill.warehouseId = wh.id
AND wh.deleted = 0
LEFT JOIN user picker_user
ON sol.pickerId = picker_user.id
AND picker_user.deleted = 0
LEFT JOIN user modified_user
ON sol.modifiedBy = modified_user.staffNo
AND modified_user.deleted = 0
AND sol.pickerId IS NULL
WHERE
dpolr.deleted = 0
$stockCategorySql
$itemCodeSql
$yearSql
$lastOutDateStartSql
$lastOutDateEndSql
GROUP BY
sol.id,
dpor.RequiredDeliveryDate,
do.estimatedArrivalDate,
it.code,
it.name,
uc.udfudesc,
dpor.deliveryNoteCode,
sp.id,
sp.name,
sol.qty,
picker_user.name,
modified_user.name,
po.code,
do.code,
il.lotNo,
il.expiryDate
ORDER BY
it.code,
il.lotNo
""".trimIndent()

val result = jdbcDao.queryForList(sql, args)
// 打印查询结果
println("=== Query Result (Total: ${result.size} rows) ===")
result.take(50).forEachIndexed { index, row ->
println("Row $index:")
println(" deliveryDate: ${row["deliveryDate"]}")
println(" itemNo: ${row["itemNo"]}")
println(" itemName: ${row["itemName"]}")
println(" qty: ${row["qty"]}")
println(" qtyNumeric: ${row["qtyNumeric"]}")
println(" deliveryOrderNo: ${row["deliveryOrderNo"]}")
println(" dnNo: ${row["dnNo"]}")
println(" fgPickOrderNo: ${row["fgPickOrderNo"]}")
println(" pickedBy: ${row["pickedBy"]}")
println(" storeLocation: ${row["storeLocation"]}")
println(" ---")
}
if (result.size > 50) {
println("... (showing first 50 rows, total ${result.size} rows)")
}

return result
}
fun searchMaterialStockOutTraceabilityReport(
stockCategory: String?,
stockSubCategory: String?,
itemCode: String?,
year: String?,
lastOutDateStart: String?,
lastOutDateEnd: String?
): List<Map<String, Any>> {
val args = mutableMapOf<String, Any>()

// Stock Category 过滤:通过 items.type
val stockCategorySql = buildMultiValueExactClause(
stockCategory,
"it.type",
"stockCategory",
args
)

val stockSubCategorySql = ""

val itemCodeSql = buildMultiValueLikeClause(
itemCode,
"it.code",
"itemCode",
args
)

// 年份过滤:使用 sol.endTime 的年份
val yearSql = if (!year.isNullOrBlank()) {
args["year"] = year
"AND YEAR(sol.endTime) = :year"
} else {
""
}

val lastOutDateStartSql = if (!lastOutDateStart.isNullOrBlank()) {
args["lastOutDateStart"] = lastOutDateStart
"AND DATE(sol.endTime) >= :lastOutDateStart"
} else {
""
}

val lastOutDateEndSql = if (!lastOutDateEnd.isNullOrBlank()) {
args["lastOutDateEnd"] = lastOutDateEnd
"AND DATE(sol.endTime) < :lastOutDateEnd"
} else {
""
}

val sql = """
SELECT
IFNULL(it.code, '') AS itemNo,
IFNULL(it.name, '') AS itemName,
IFNULL(it.categoryId, 0) AS stockSubCategory,
IFNULL(uc.udfudesc, '') AS unitOfMeasure,
'' AS jobOrderNo,
IFNULL(po.consoCode, '') AS stockReqNo,
IFNULL(il.lotNo, '') AS lotNo,
IFNULL(DATE_FORMAT(il.expiryDate, '%Y-%m-%d'), '') AS expiryDate,
CAST(ROUND(IFNULL(sol.qty, 0), 2) AS CHAR) AS stockOutQty,
IFNULL(po.code, '') AS materialPickOrderNo,
COALESCE(
picker_user.name,
created_user.name, -- 新增:用 createdBy 找到的 user
modified_user.name,
''
) AS handler,
COALESCE(wh.code, '') AS storeLocation,
'' AS pickRemark,
CAST(
SUM(IFNULL(sol.qty, 0)) OVER (PARTITION BY it.code) AS CHAR
) AS totalStockOutQty
FROM stock_out_line sol
INNER JOIN stock_out so
ON sol.stockOutId = so.id
AND so.deleted = 0
AND so.type = 'job'
INNER JOIN pick_order_line pol
ON sol.pickOrderLineId = pol.id
AND pol.deleted = 0
INNER JOIN pick_order po
ON pol.poId = po.id
AND po.deleted = 0
AND po.type IN ('consumable', 'jo')
AND po.joId IS NULL
AND po.doId IS NULL
INNER JOIN items it
ON sol.itemId = it.id
AND it.deleted = 0
LEFT JOIN item_uom iu
ON it.id = iu.itemId
AND iu.stockUnit = 1
LEFT JOIN uom_conversion uc
ON iu.uomId = uc.id
LEFT JOIN inventory_lot_line ill
ON sol.inventoryLotLineId = ill.id
AND ill.deleted = 0
LEFT JOIN inventory_lot il
ON ill.inventoryLotId = il.id
AND il.deleted = 0
LEFT JOIN warehouse wh
ON ill.warehouseId = wh.id
AND wh.deleted = 0
LEFT JOIN user picker_user
ON sol.pickerId = picker_user.id
AND picker_user.deleted = 0
LEFT JOIN user created_user
ON sol.createdBy = created_user.username
AND created_user.deleted = 0
LEFT JOIN user modified_user
ON sol.modifiedBy = modified_user.staffNo
AND modified_user.deleted = 0
AND sol.pickerId IS NULL
WHERE
sol.deleted = 0
AND (sol.inventoryLotLineId IS NULL OR ill.id IS NOT NULL)
$stockCategorySql
$stockSubCategorySql
$itemCodeSql
$yearSql
$lastOutDateStartSql
$lastOutDateEndSql
ORDER BY
it.code,
il.lotNo,
sol.endTime
""".trimIndent()

val result = jdbcDao.queryForList(sql, args)

println("=== Material Stock Out Traceability (Total: ${result.size} rows) ===")
result.take(50).forEachIndexed { index, row ->
println("Row $index:")
println(" itemNo: ${row["itemNo"]}")
println(" itemName: ${row["itemName"]}")
println(" stockOutQty: ${row["stockOutQty"]}")
println(" totalStockOutQty: ${row["totalStockOutQty"]}")
println(" materialPickOrderNo: ${row["materialPickOrderNo"]}")
println(" handler: ${row["handler"]}")
println(" storeLocation: ${row["storeLocation"]}")
println(" ---")
}
if (result.size > 50) {
println("... (showing first 50 rows, total ${result.size} rows)")
}

return result
}
/**
* Helper function to build SQL clause for comma-separated values.
* Supports multiple values like "val1, val2, val3" and generates OR conditions with LIKE.


+ 92
- 1
src/main/java/com/ffii/fpsms/modules/report/web/ReportController.kt Vedi File

@@ -164,7 +164,98 @@ class ReportController(
return ResponseEntity(pdfBytes, headers, HttpStatus.OK)
}

@GetMapping("/print-fg-stock-out-traceability")
fun generateFGStockOutTraceabilityReport(
@RequestParam(required = false) stockCategory: String?,
@RequestParam(required = false) stockSubCategory: String?,
@RequestParam(required = false) itemCode: String?,
@RequestParam(required = false) year: 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["stockSubCategory"] = stockSubCategory ?: "All"
parameters["itemNo"] = itemCode ?: "All"
parameters["year"] = year ?: LocalDate.now().year.toString()
parameters["reportDate"] = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))
parameters["reportTime"] = LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss"))
parameters["lastOutDateStart"] = lastOutDateStart ?: ""
parameters["lastOutDateEnd"] = lastOutDateEnd ?: ""
parameters["deliveryPeriodStart"] = ""
parameters["deliveryPeriodEnd"] = ""
val dbData = reportService.searchFGStockOutTraceabilityReport(
stockCategory,
stockSubCategory,
itemCode,
year,
lastOutDateStart,
lastOutDateEnd
)
val pdfBytes = reportService.createPdfResponse(
"/jasper/FGStockOutTraceabilityReport.jrxml",
parameters,
dbData
)
val headers = HttpHeaders().apply {
contentType = MediaType.APPLICATION_PDF
setContentDispositionFormData("attachment", "FGStockOutTraceabilityReport.pdf")
set("filename", "FGStockOutTraceabilityReport.pdf")
}
return ResponseEntity(pdfBytes, headers, HttpStatus.OK)
}
@GetMapping("/print-material-stock-out-traceability")
fun generateMaterialStockOutTraceabilityReport(
@RequestParam(required = false) stockCategory: String?,
@RequestParam(required = false) stockSubCategory: String?,
@RequestParam(required = false) itemCode: String?,
@RequestParam(required = false) year: 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["stockSubCategory"] = stockSubCategory ?: "All"
parameters["itemNo"] = itemCode ?: "All"
parameters["year"] = year ?: LocalDate.now().year.toString()
parameters["reportDate"] = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))
parameters["reportTime"] = LocalTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss"))
parameters["lastOutDateStart"] = lastOutDateStart ?: ""
parameters["lastOutDateEnd"] = lastOutDateEnd ?: ""
parameters["deliveryPeriodStart"] = ""
parameters["deliveryPeriodEnd"] = ""
val dbData = reportService.searchMaterialStockOutTraceabilityReport(
stockCategory,
stockSubCategory,
itemCode,
year,
lastOutDateStart,
lastOutDateEnd
)
val pdfBytes = reportService.createPdfResponse(
"/jasper/MaterialStockOutTraceability.jrxml",
parameters,
dbData
)
val headers = HttpHeaders().apply {
contentType = MediaType.APPLICATION_PDF
setContentDispositionFormData("attachment", "MaterialStockOutTraceabilityReport.pdf")
set("filename", "MaterialStockOutTraceabilityReport.pdf")
}
return ResponseEntity(pdfBytes, headers, HttpStatus.OK)
}
@GetMapping("/print-stock-balance")
fun generateStockBalanceReport(
@RequestParam(required = false) stockCategory: String?,


+ 538
- 0
src/main/resources/jasper/FGStockOutTraceabilityReport.jrxml Vedi File

@@ -0,0 +1,538 @@
<?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="SemiFGProductionAnalysisReport" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="a2a84586-3f53-476e-9c1f-6b13ad75908a">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<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="date" class="java.lang.String">
<defaultValueExpression><![CDATA["date"]]></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="reportDate" class="java.lang.String"/>
<parameter name="reportTime" class="java.lang.String"/>
<parameter name="deliveryPeriodStart" class="java.lang.String"/>
<parameter name="deliveryPeriodEnd" class="java.lang.String"/>
<parameter name="lastOutDateStart" class="java.lang.String">
<parameterDescription><![CDATA["lastOutDateStart"]]></parameterDescription>
</parameter>
<parameter name="lastOutDateEnd" class="java.lang.String">
<parameterDescription><![CDATA["lastOutDateStart"]]></parameterDescription>
</parameter>
<queryString language="SQL">
<![CDATA[]]>
</queryString>
<field name="itemNo" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="code"/>
<property name="com.jaspersoft.studio.field.label" value="code"/>
<property name="com.jaspersoft.studio.field.tree.path" value="items"/>
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="itemName" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="name"/>
<property name="com.jaspersoft.studio.field.label" value="name"/>
<property name="com.jaspersoft.studio.field.tree.path" value="items"/>
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="stockSubCategory" class="java.lang.Long">
<property name="com.jaspersoft.studio.field.name" value="categoryId"/>
<property name="com.jaspersoft.studio.field.label" value="categoryId"/>
<property name="com.jaspersoft.studio.field.tree.path" value="items"/>
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="unitOfMeasure" class="java.lang.String"/>
<field name="stockReqNo" class="java.lang.String"/>
<field name="lotNo" class="java.lang.String"/>
<field name="expiryDate" class="java.lang.String"/>
<field name="stockOutQty" class="java.lang.String"/>
<field name="fgPickOrderNo" class="java.lang.String"/>
<field name="handler" class="java.lang.String"/>
<field name="storeLocation" class="java.lang.String"/>
<field name="pickRemark" class="java.lang.String"/>
<field name="deliveryOrderNo" class="java.lang.String"/>
<field name="totalStockOutQty" class="java.lang.String"/>
<group name="Group1">
<groupExpression><![CDATA[$F{itemNo}]]></groupExpression>
<groupHeader>
<band height="69">
<staticText>
<reportElement x="279" y="12" width="41" height="18" uuid="56e4c1a6-6cea-4a96-9786-4ef15ec86108">
<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>
<textField>
<reportElement x="279" y="30" width="41" height="18" uuid="803e2090-9724-4931-9d47-a59ca88bf3b3">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{unitOfMeasure}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="179" y="30" width="100" height="18" uuid="0d04b8dd-a7dc-4a99-a43c-4cc44381362d">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{itemName}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="12" width="60" height="18" uuid="879f1b5d-226d-4f75-8a24-ab12514c0cab">
<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="179" y="12" width="100" height="18" uuid="abce60ab-269f-4957-862e-0b8ac1c5ee71">
<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>
<textField>
<reportElement x="0" y="30" width="60" height="18" uuid="56b1877f-757e-45b3-8060-f92a5c89dacf">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{stockSubCategory}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="60" y="12" width="119" height="18" uuid="2307a460-b0d0-4ad2-87e5-261638ff4020">
<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>
<textField>
<reportElement x="60" y="30" width="119" height="18" uuid="ad155e90-c05b-4b7f-983b-129904eb2061">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{itemNo}]]></textFieldExpression>
</textField>
<line>
<reportElement x="0" y="68" width="800" height="1" uuid="6202c33a-fe13-4e44-b26f-7d17980e79e9">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<staticText>
<reportElement x="709" y="50" width="91" height="18" uuid="0f155dfc-0aff-4935-aa8f-54b4f01af51e">
<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="10"/>
</textElement>
<text><![CDATA[提料備注]]></text>
</staticText>
<staticText>
<reportElement x="470" y="50" width="98" height="18" uuid="baf88ec4-c0d6-4af2-a86f-52c3db3365bf">
<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="10"/>
</textElement>
<text><![CDATA[成品提料編號]]></text>
</staticText>
<staticText>
<reportElement x="270" y="50" width="130" height="18" uuid="a2e0f22f-b299-4712-84f7-7ba3b54b1d1c">
<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="0" y="50" width="130" height="18" uuid="5db44150-7e52-40dc-9fab-fe174d818c61">
<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="130" y="50" width="70" height="18" uuid="ccda69a3-43de-413b-b53c-1b572e92fcf8">
<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="200" y="50" width="70" height="18" uuid="03fc341e-7026-4f5e-b975-264097a7aeda">
<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="639" y="50" width="70" height="18" uuid="b20762b2-25ab-4fde-a693-a8b32776d866">
<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="10"/>
</textElement>
<text><![CDATA[店鋪位置]]></text>
</staticText>
<staticText>
<reportElement x="400" y="50" width="59" height="18" uuid="7950d513-4660-445b-9b18-08e062b66f30">
<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="568" y="50" width="71" height="18" uuid="21d9afe9-fd02-4896-a478-60967afc50f4">
<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="10"/>
</textElement>
<text><![CDATA[提料人]]></text>
</staticText>
</band>
</groupHeader>
<groupFooter>
<band height="23">
<staticText>
<reportElement x="210" y="0" width="190" height="18" uuid="73188a51-3255-443c-9fee-4f3b527072c4">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[總出倉量:]]></text>
</staticText>
<textField>
<reportElement x="400" y="0" width="59" height="18" uuid="e4734789-5213-4934-80fe-6d72f3c38f23"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{totalStockOutQty}]]></textFieldExpression>
</textField>
<line>
<reportElement x="0" y="22" width="799" height="1" uuid="0c68b8f8-be58-420f-8c93-56f8f2c58181">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="18" width="799" height="1" uuid="5062429c-e3ff-4997-8047-25ae858dbd79">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="0" width="800" height="1" uuid="8ee25725-096b-4d76-9c7a-c0a41fbe6dbb">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
</band>
</groupFooter>
</group>
<background>
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="155">
<textField evaluationTime="Report">
<reportElement x="780" y="12" width="20" height="18" uuid="8ebe39b1-11cd-4058-a4c5-a32de40e2235">
<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="12" width="40" height="18" uuid="72b82b4b-6d4d-4b58-860a-1d5fcdc5b1ca">
<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="12" width="20" height="18" uuid="e00bc834-695d-4b57-a95b-b6628d45ae9b">
<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="12" width="20" height="18" uuid="de9992f2-b449-46a5-a38b-d5af9dc2754f">
<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="0" y="84" width="800" height="1" uuid="ab5d4dc6-0edf-48c8-94ae-9b364c8a4ba0">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="154" width="799" height="1" uuid="8d4d2060-74a7-486f-9647-d0f12e817e0a">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="150" width="799" height="1" uuid="bf9e8b27-bbc8-4e9a-92e6-0874549f6d29">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<staticText>
<reportElement x="0" y="35" width="90" height="23" uuid="e57917d9-23c2-45fe-9d23-a799b975755a">
<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="867346a2-5f97-425c-a9b9-34fa8ce513d0"/>
<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="65cfb017-1dfb-4a15-a21a-6fb2399de1b0"/>
<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="d5b2cd04-3c71-4d7d-90ef-9e4cd38918af">
<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="0" y="58" width="90" height="23" uuid="2f2b9ee7-8493-461d-8435-6bc7a5afb63b">
<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="58" width="708" height="23" uuid="a1d65535-42ee-4f34-bc04-f214dc3b31ea"/>
<textElement>
<font fontName="微軟正黑體" size="16" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{stockCategory}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="90" width="78" height="18" uuid="9ba9eac8-8ddd-4c8d-9926-d7aa85ba527f">
<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="84" y="90" width="720" height="18" uuid="7dd5625c-823e-43a7-87fd-d69cf27387c2">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{stockSubCategory}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="84" y="108" width="720" height="18" uuid="672947b9-b1e9-4415-8438-8d1f5bd370c0">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{itemNo}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="108" width="78" height="18" uuid="605cc1f9-b4de-4cb4-9356-00799b16a1e3">
<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>
<staticText>
<reportElement x="275" y="0" width="253" height="23" uuid="2b4bdbda-a606-455e-b4c7-f59ada12dcf4">
<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[FG Stock Out Traceability Report
]]></text>
</staticText>
<staticText>
<reportElement x="0" y="126" width="84" height="18" uuid="297107ea-5827-41bc-83a0-8d966b714e0f">
<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="84" y="126" width="336" height="18" uuid="76ed89e6-9e70-4cc3-9d38-ff5dc24cd094">
<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>
</band>
</pageHeader>
<detail>
<band height="17" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="130" height="17" uuid="78ffaf9e-52c3-4d50-94ac-73f826d2448a">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{deliveryOrderNo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="130" y="0" width="70" height="17" uuid="939193b3-e573-4e5d-af6c-da58910f03a1"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{stockReqNo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="200" y="0" width="70" height="17" uuid="92aae78d-2b61-4e61-9b18-574a9a7d515c"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{lotNo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="270" y="0" width="130" height="17" uuid="696e6d6c-101c-4e4e-b0c8-b3aabefb78ab"/>
<textElement textAlignment="Center" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{expiryDate}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="400" y="0" width="59" height="17" uuid="45523cc4-2b5b-4a1b-8bfc-db16158a92dc"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{stockOutQty}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="470" y="0" width="98" height="17" uuid="663019ce-959c-47dc-8c39-2a285c6cdc1f">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{fgPickOrderNo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="568" y="0" width="71" height="17" uuid="6384ebfc-6d01-404a-bea1-73d4e4ac5fc3"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{handler}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="639" y="0" width="70" height="17" uuid="bb1402fd-a96e-4345-b48c-7aeeeadbf57d"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{storeLocation}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="709" y="0" width="91" height="17" uuid="35b41bee-4246-4cc7-ab30-4966c185a73b"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{pickRemark}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

+ 534
- 0
src/main/resources/jasper/MaterialStockOutTraceability.jrxml Vedi File

@@ -0,0 +1,534 @@
<?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="MaterialStockOutTraceability" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="70a1aa41-cdaf-4e67-a3f4-b5983ddcf764">
<parameter name="stockSubCategory" class="java.lang.String">
<defaultValueExpression><![CDATA["stockSubCategory"]]></defaultValueExpression>
</parameter>
<parameter name="date" class="java.lang.String">
<defaultValueExpression><![CDATA["date"]]></defaultValueExpression>
</parameter>
<parameter name="stockCategory" class="java.lang.String">
<defaultValueExpression><![CDATA["stockCategory"]]></defaultValueExpression>
</parameter>
<parameter name="reportDate" class="java.lang.String"/>
<parameter name="reportTime" class="java.lang.String"/>
<parameter name="itemNo" class="java.lang.String">
<defaultValueExpression><![CDATA["itemCode"]]></defaultValueExpression>
</parameter>
<parameter name="lastOutDateStart" class="java.lang.String">
<parameterDescription><![CDATA["lastOutDateStart"]]></parameterDescription>
</parameter>
<parameter name="lastOutDateEnd" class="java.lang.String">
<parameterDescription><![CDATA["lastOutDateStart"]]></parameterDescription>
</parameter>
<queryString>
<![CDATA[]]>
</queryString>
<field name="itemNo" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="code"/>
<property name="com.jaspersoft.studio.field.label" value="code"/>
<property name="com.jaspersoft.studio.field.tree.path" value="items"/>
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="itemName" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="name"/>
<property name="com.jaspersoft.studio.field.label" value="name"/>
<property name="com.jaspersoft.studio.field.tree.path" value="items"/>
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="stockSubCategory" class="java.lang.Long">
<property name="com.jaspersoft.studio.field.name" value="categoryId"/>
<property name="com.jaspersoft.studio.field.label" value="categoryId"/>
<property name="com.jaspersoft.studio.field.tree.path" value="items"/>
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="unitOfMeasure" class="java.lang.String"/>
<field name="stockReqNo" class="java.lang.String"/>
<field name="lotNo" class="java.lang.String"/>
<field name="expiryDate" class="java.lang.String"/>
<field name="stockOutQty" class="java.lang.String"/>
<field name="materialPickOrderNo" class="java.lang.String"/>
<field name="handler" class="java.lang.String"/>
<field name="storeLocation" class="java.lang.String"/>
<field name="pickRemark" class="java.lang.String"/>
<field name="jobOrderNo" class="java.lang.String"/>
<field name="totalStockOutQty" class="java.lang.String"/>
<group name="Group1">
<groupExpression><![CDATA[$F{itemNo}]]></groupExpression>
<groupHeader>
<band height="61">
<staticText>
<reportElement x="279" y="4" width="61" height="18" uuid="36a97aa4-bfd3-4e52-a9e0-9914a9786045">
<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>
<textField>
<reportElement x="279" y="22" width="61" height="18" uuid="3eaff6bd-a1e6-412b-8889-b88c84a59443">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{unitOfMeasure}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="179" y="22" width="100" height="18" uuid="1b1fe4b9-24de-4e10-abd5-82b113174754">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{itemName}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="4" width="60" height="18" uuid="39019fb0-e784-4ee4-982b-544320b1e574">
<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="179" y="4" width="100" height="18" uuid="542267ba-173a-4aa6-a945-23b31f26bb78">
<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>
<textField>
<reportElement x="0" y="22" width="60" height="18" uuid="b2e77384-156e-43f9-8c1d-dc330bbb1e57">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{stockSubCategory}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="60" y="4" width="119" height="18" uuid="1915d144-078f-4802-91d6-e9efc11a53f6">
<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>
<textField>
<reportElement x="60" y="22" width="119" height="18" uuid="24654eee-9dea-4b3f-9afc-b06f42939701">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{itemNo}]]></textFieldExpression>
</textField>
<line>
<reportElement x="0" y="60" width="800" height="1" uuid="171f7316-71b9-48dd-8311-b3812d9a102d">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<staticText>
<reportElement x="709" y="42" width="91" height="18" uuid="c26f9801-f913-42db-9aed-a1e5d6aa0889">
<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="10"/>
</textElement>
<text><![CDATA[提料備注]]></text>
</staticText>
<staticText>
<reportElement x="470" y="42" width="98" height="18" uuid="51f40dc7-1234-4b45-a60a-365c0afd442e">
<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="10"/>
</textElement>
<text><![CDATA[材料提料編號]]></text>
</staticText>
<staticText>
<reportElement x="270" y="42" width="130" height="18" uuid="80122626-76d1-4935-961d-0ff898ba50d7">
<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="0" y="42" width="130" height="18" uuid="53dda4bc-e6ba-40de-8bdb-cf9dc0803b23">
<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="130" y="42" width="70" height="18" uuid="58633e83-5a17-4b4c-91fb-0a1e95377b78">
<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="200" y="42" width="70" height="18" uuid="1c84fc41-458d-40eb-808c-6e3b4cce6a31">
<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="639" y="42" width="70" height="18" uuid="3522f4bb-d26b-4e43-856f-fd421f152603">
<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="10"/>
</textElement>
<text><![CDATA[店鋪位置]]></text>
</staticText>
<staticText>
<reportElement x="400" y="42" width="59" height="18" uuid="66c7964d-9b00-41a8-b6b8-2253811221aa">
<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="568" y="42" width="71" height="18" uuid="bba77954-176b-4539-8b39-1164cc7b0b25">
<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="10"/>
</textElement>
<text><![CDATA[提料人]]></text>
</staticText>
</band>
</groupHeader>
<groupFooter>
<band height="23">
<staticText>
<reportElement x="210" y="0" width="190" height="18" uuid="127b8d9e-7af6-4973-bb72-e96ed062dcc9">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<text><![CDATA[總出倉量:]]></text>
</staticText>
<textField>
<reportElement x="400" y="0" width="59" height="18" uuid="bef3e158-73d3-40dc-8cc7-29f93f54113f"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{totalStockOutQty}]]></textFieldExpression>
</textField>
<line>
<reportElement x="0" y="22" width="799" height="1" uuid="c5c2affc-fff5-41eb-9287-3c2126773dcf">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="18" width="799" height="1" uuid="2784a7af-f09f-4aaf-8f37-53de577f3471">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="0" width="800" height="1" uuid="b2ff06f8-22b8-427c-a929-13d5695a74f5">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
</band>
</groupFooter>
</group>
<background>
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="151" splitType="Stretch">
<textField evaluationTime="Report">
<reportElement x="780" y="12" width="20" height="18" uuid="8e4c063b-81a9-4d2f-854c-f848bf4f7360">
<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="12" width="40" height="18" uuid="1a7ea384-c006-440a-8bfc-e89d5aa069a8">
<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="12" width="20" height="18" uuid="3e9443de-9543-4560-8f00-4e8648313e5c">
<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="12" width="20" height="18" uuid="ce2c0dcc-1973-4758-aa68-264d242cd806">
<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="0" y="84" width="800" height="1" uuid="5fe9edbb-119f-48bb-a4b3-8d6343916312">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="150" width="799" height="1" uuid="588519b2-2b53-447d-a94a-f5323a5071b6">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<line>
<reportElement x="0" y="146" width="799" height="1" uuid="f40ccafa-719f-4a70-86ff-d7b4f09b5ea5">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
</line>
<staticText>
<reportElement x="0" y="35" width="90" height="23" uuid="cdb24c4b-7773-4d7e-acdc-316c97e6e805">
<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="c89b6f83-ff7f-4064-b133-4ea20faf1055"/>
<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="11725e9f-491c-48cc-925c-4a825784d791"/>
<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="ef8bb37a-2782-42f2-a7b1-8c9cd48ae8da">
<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="0" y="58" width="90" height="23" uuid="25617109-8f54-4625-a812-c7a230af3f7b">
<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="58" width="708" height="23" uuid="7152114f-d191-4d82-b9bd-b25135f95ed7"/>
<textElement>
<font fontName="微軟正黑體" size="16" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{stockCategory}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="90" width="84" height="18" uuid="aee255d0-8d35-493c-8935-09c8d1ddfdc2">
<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="84" y="90" width="720" height="18" uuid="6055c7e7-945d-40c5-ac97-0ce9c0a403c2">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{stockSubCategory}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="84" y="108" width="720" height="18" uuid="cab4b1ce-de25-42e0-aca2-8ef08e8b48a4">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{itemNo}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="108" width="84" height="18" uuid="ddeb7829-92cc-4e0a-8334-9e9577254471">
<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>
<staticText>
<reportElement x="254" y="0" width="295" height="23" uuid="7de5fed6-2cd8-43a5-a81c-7dca66433be5">
<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[Material Stock Out Traceability Report
]]></text>
</staticText>
<textField>
<reportElement x="84" y="126" width="336" height="18" uuid="a1c3ef9e-92c7-44fe-9f27-aa686f69da04">
<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="0" y="126" width="84" height="18" uuid="ecbb5380-5b61-497c-bb77-4d2bd9ad1b3a">
<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>
</band>
</pageHeader>
<detail>
<band height="17" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="130" height="17" uuid="5f8e4b35-01b2-4fb1-96c4-47fbc6f8d1a6">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{jobOrderNo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="130" y="0" width="70" height="17" uuid="b7492ff2-eb72-42cb-ab6e-73181dd2daa8"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{stockReqNo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="200" y="0" width="70" height="17" uuid="5c934899-ecd8-456e-be2e-d2b00c9e5cd1"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{lotNo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="270" y="0" width="130" height="17" uuid="a2f20304-2a4a-457b-be8c-79f6995f060f"/>
<textElement textAlignment="Center" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{expiryDate}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="400" y="0" width="59" height="17" uuid="14ac3dc6-86b2-48a3-bd85-7250d1c20f24"/>
<textElement textAlignment="Right" verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{stockOutQty}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="470" y="0" width="98" height="17" uuid="038f0832-75fa-4fd8-b537-a1065f3b0e38">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{materialPickOrderNo}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="568" y="0" width="71" height="17" uuid="cdb1f6fc-5d11-4f78-a746-7093a5a45af5"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{handler}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="639" y="0" width="70" height="17" uuid="9307101e-6eba-4d8a-b0d7-3d6061daa45b"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{storeLocation}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="709" y="0" width="91" height="17" uuid="5531dc2b-bba6-4d4e-bf4b-5167a9a17b2d"/>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{pickRemark}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

Caricamento…
Annulla
Salva