Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

master
CANCERYS\kw093 1 miesiąc temu
rodzic
commit
090a594702
8 zmienionych plików z 217 dodań i 60 usunięć
  1. +9
    -1
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderLineRecordRepository.kt
  2. +10
    -0
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRecordRepository.kt
  3. +6
    -17
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRepository.kt
  4. +9
    -9
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderService.kt
  5. +121
    -4
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt
  6. +6
    -2
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/DoPickOrderController.kt
  7. +29
    -0
      src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/models/TicketReleaseTableResponse.kt
  8. +27
    -27
      src/main/resources/DeliveryNote/DeliveryNotePDF.jrxml

+ 9
- 1
src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderLineRecordRepository.kt Wyświetl plik

@@ -1,12 +1,20 @@
package com.ffii.fpsms.modules.deliveryOrder.entity

import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.Query
import org.springframework.data.repository.query.Param
import org.springframework.stereotype.Repository
import java.time.LocalDate

@Repository
interface DoPickOrderLineRecordRepository : JpaRepository<DoPickOrderLineRecord, Long> {
fun findByDoPickOrderIdAndDeletedFalse(doPickOrderId: Long): List<DoPickOrderLineRecord>
fun findByDoOrderIdAndDeletedFalse(doOrderId: Long): List<DoPickOrderLineRecord>
fun findByDoPickOrderIdInAndDeletedFalse(doPickOrderIds: Collection<Long>): List<DoPickOrderLineRecord>

fun findByDoPickOrderId(recordId: Long?): List<DoPickOrderLineRecord>

@Query("SELECT d FROM DoPickOrderLineRecord d WHERE d.recordId = :recordId AND d.deleted = false")
fun findByRecordIdAndDeletedFalse(@Param("recordId") recordId: Long): List<DoPickOrderLineRecord>

}

+ 10
- 0
src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRecordRepository.kt Wyświetl plik

@@ -7,6 +7,7 @@ import com.ffii.fpsms.modules.deliveryOrder.enums.DoPickOrderStatus
import com.ffii.fpsms.modules.master.entity.projections.SearchId
import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.data.jpa.repository.Query
import org.springframework.data.repository.query.Param
import org.springframework.stereotype.Repository
import java.io.Serializable
import java.time.LocalDateTime
@@ -26,4 +27,13 @@ interface DoPickOrderRecordRepository : JpaRepository<DoPickOrderRecord, Long> {

fun findByStoreIdAndRequiredDeliveryDateAndTicketStatusIn(storeId: String, requiredDeliveryDate: LocalDate, ticketStatus: List<DoPickOrderStatus>): List<DoPickOrderRecord>
fun findByHandledByAndTicketStatusAndDeletedFalse(handledBy: Long, ticketStatus: DoPickOrderStatus): List<DoPickOrderRecord>

@Query("SELECT d FROM DoPickOrderRecord d WHERE d.deleted = false ORDER BY d.ticketReleaseTime DESC NULLS LAST")
fun findAllByDeletedFalseOrderByTicketReleaseTimeDesc(): List<DoPickOrderRecord>

@Query("SELECT d FROM DoPickOrderRecord d WHERE d.deleted = false AND d.requiredDeliveryDate BETWEEN :startDate AND :endDate ORDER BY d.ticketReleaseTime DESC NULLS LAST")
fun findAllByDeletedFalseAndRequiredDeliveryDateBetween(
@Param("startDate") startDate: LocalDate,
@Param("endDate") endDate: LocalDate
): List<DoPickOrderRecord>
}

+ 6
- 17
src/main/java/com/ffii/fpsms/modules/deliveryOrder/entity/DoPickOrderRepository.kt Wyświetl plik

@@ -34,21 +34,10 @@ fun findByStoreIdAndRequiredDeliveryDateAndTicketStatusIn(
@Query("SELECT d FROM DoPickOrder d WHERE d.deleted = false ORDER BY d.requiredDeliveryDate ASC, d.truckDepartureTime ASC")
fun findAllByDeletedFalseOrderByTicketReleaseTimeDesc(): List<DoPickOrder>

@Query("""
SELECT COUNT(DISTINCT pol.id)
FROM PickOrderLine pol
WHERE pol.pickOrder.id IN (
SELECT DISTINCT dpol2.pickOrderId
FROM DoPickOrderLine dpol2
WHERE dpol2.doPickOrderId IN (
SELECT DISTINCT dpol1.doPickOrderId
FROM DoPickOrderLine dpol1
WHERE dpol1.pickOrderId = :pickOrderId
AND dpol1.deleted = false
)
AND dpol2.deleted = false
)
AND pol.deleted = false
""")
fun countPickOrderLinesByRelatedPickOrderId(@Param("pickOrderId") pickOrderId: Long): Long
@Query("SELECT d FROM DoPickOrder d WHERE d.deleted = false AND d.requiredDeliveryDate BETWEEN :startDate AND :endDate ORDER BY d.ticketReleaseTime DESC NULLS LAST")
fun findAllByDeletedFalseAndRequiredDeliveryDateBetween(
@Param("startDate") startDate: LocalDate,
@Param("endDate") endDate: LocalDate
): List<DoPickOrder>

}

+ 9
- 9
src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DeliveryOrderService.kt Wyświetl plik

@@ -60,7 +60,6 @@ import java.io.FileNotFoundException
import com.ffii.core.support.JdbcDao;
import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderLineRecordRepository
import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderLineRepository
import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderRecord
import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderRecordRepository
import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderRepository
import com.ffii.fpsms.modules.deliveryOrder.web.models.ExportDNLabelsRequest
@@ -68,15 +67,11 @@ import com.ffii.fpsms.modules.deliveryOrder.web.models.PrintDNLabelsRequest
import com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrderRepository
import com.ffii.fpsms.modules.stock.entity.InventoryLotRepository
import com.ffii.fpsms.modules.stock.service.InventoryLotService
import net.sf.jasperreports.engine.JasperPrintManager
import net.sf.jasperreports.engine.JRPrintPage
import com.ffii.fpsms.modules.stock.entity.SuggestPickLotRepository
import com.ffii.fpsms.modules.stock.service.SuggestedPickLotService // 添加这行
import com.ffii.fpsms.modules.deliveryOrder.web.models.*
import com.ffii.fpsms.modules.pickOrder.entity.PickExecutionIssue // 添加
import com.ffii.fpsms.modules.pickOrder.entity.PickExecutionIssueRepository // 添加
import com.ffii.fpsms.modules.pickOrder.entity.IssueCategory // 添加
import com.ffii.fpsms.modules.pickOrder.entity.HandleStatus

@Service
open class DeliveryOrderService(
private val deliveryOrderRepository: DeliveryOrderRepository,
@@ -818,7 +813,7 @@ open class DeliveryOrderService(
NoSuchElementException("DoPickOrderRecord not found with ID: ${request.doPickOrderId}")
}

val doPickOrderLineRecords = doPickOrderLineRecordRepository.findByDoPickOrderIdAndDeletedFalse(request.doPickOrderId)
val doPickOrderLineRecords = doPickOrderLineRecordRepository.findByDoPickOrderId(doPickOrderRecord.recordId)

val pickOrderIds = doPickOrderLineRecords.mapNotNull { it.pickOrderId }.distinct()
if(pickOrderIds.isEmpty()){
@@ -974,7 +969,8 @@ open class DeliveryOrderService(
val doPickOrderRecord = doPickOrderRecordRepository.findById(request.doPickOrderId).orElseThrow {
NoSuchElementException("DoPickOrderRecord not found with ID: ${request.doPickOrderId}")
}
val doPickOrderLineRecords = doPickOrderLineRecordRepository.findByDoPickOrderIdAndDeletedFalse(request.doPickOrderId)

val doPickOrderLineRecords = doPickOrderLineRecordRepository.findByDoPickOrderId(doPickOrderRecord.recordId)

val deliveryOrderIds = doPickOrderLineRecords.mapNotNull { it.doOrderId }.distinct()
if(deliveryOrderIds.isEmpty()){
@@ -998,7 +994,11 @@ open class DeliveryOrderService(

}

params["shopPurchaseOrderNo"] = doPickOrderRecord.deliveryOrderCode ?: cartonLabelInfo[0].code
params["shopPurchaseOrderNo"] = if (deliveryOrderIds.size > 0) {
"請查閲送貨單(採購單共${deliveryOrderIds.size}張)"
} else {
doPickOrderRecord.deliveryOrderCode ?: cartonLabelInfo[0].code
}
params["deliveryNoteCode"] = doPickOrderRecord.deliveryNoteCode ?: ""
params["shopAddress"] = cartonLabelInfo[0].shopAddress ?: ""
params["shopName"] = doPickOrderRecord.shopName ?: cartonLabelInfo[0].shopName ?: ""


+ 121
- 4
src/main/java/com/ffii/fpsms/modules/deliveryOrder/service/DoPickOrderService.kt Wyświetl plik

@@ -46,6 +46,9 @@ import com.ffii.fpsms.modules.deliveryOrder.entity.DeliveryOrderRepository
import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderLineRecordRepository
import com.ffii.fpsms.modules.deliveryOrder.entity.DoPickOrderLineRecord
import org.springframework.context.annotation.Lazy
import com.ffii.fpsms.modules.pickOrder.entity.PickOrderLineRepository
import com.ffii.fpsms.modules.deliveryOrder.web.models.TicketReleaseTableResponse

@Service
open class DoPickOrderService(
private val doPickOrderRepository: DoPickOrderRepository,
@@ -56,8 +59,8 @@ open class DoPickOrderService(
private val truckRepository: TruckRepository,
private val doPickOrderLineRepository: DoPickOrderLineRepository,
@Lazy private val deliveryOrderRepository: DeliveryOrderRepository,
private val doPickOrderLineRecordRepository: DoPickOrderLineRecordRepository
private val doPickOrderLineRecordRepository: DoPickOrderLineRecordRepository,
private val pickOrderLineRepository: PickOrderLineRepository
) {
open fun findReleasedDoPickOrders(): List<DoPickOrder> {
return doPickOrderRepository.findByTicketStatusIn(
@@ -598,7 +601,121 @@ open class DoPickOrderService(
}
}

open fun getTicketReleaseTable(): List<DoPickOrder>{
return doPickOrderRepository.findAllByDeletedFalseOrderByTicketReleaseTimeDesc()

open fun getTicketReleaseTable(startDate: LocalDate? = null, endDate: LocalDate? = null): List<TicketReleaseTableResponse> {
val doPickOrders = if (startDate != null && endDate != null) {
doPickOrderRepository.findAllByDeletedFalseAndRequiredDeliveryDateBetween(startDate, endDate)
} else {
doPickOrderRepository.findAllByDeletedFalseOrderByTicketReleaseTimeDesc()
}

val doPickOrderRecords = if (startDate != null && endDate != null) {
doPickOrderRecordRepository.findAllByDeletedFalseAndRequiredDeliveryDateBetween(startDate, endDate)
} else {
doPickOrderRecordRepository.findAllByDeletedFalseOrderByTicketReleaseTimeDesc()
}

val doPickOrderResponses = doPickOrders.map { doPickOrder ->
TicketReleaseTableResponse(
id = doPickOrder.id,
storeId = doPickOrder.storeId,
ticketNo = doPickOrder.ticketNo,
pickOrderId = doPickOrder.pickOrderId,
doOrderId = doPickOrder.doOrderId,
pickOrderCode = doPickOrder.pickOrderCode,
deliveryOrderCode = doPickOrder.deliveryOrderCode,
loadingSequence = doPickOrder.loadingSequence,
ticketStatus = doPickOrder.ticketStatus?.name,
truckId = doPickOrder.truckId,
truckDepartureTime = doPickOrder.truckDepartureTime,
shopId = doPickOrder.shopId,
handledBy = doPickOrder.handledBy,
ticketReleaseTime = doPickOrder.ticketReleaseTime,
ticketCompleteDateTime = doPickOrder.ticketCompleteDateTime,
truckLanceCode = doPickOrder.truckLanceCode,
shopCode = doPickOrder.shopCode,
shopName = doPickOrder.shopName,
requiredDeliveryDate = doPickOrder.requiredDeliveryDate,
handlerName = doPickOrder.handlerName,
numberOfFGItems = countFGItems(doPickOrder)
)
}

val doPickOrderRecordResponses = doPickOrderRecords.map { record ->
TicketReleaseTableResponse(
id = record.id,
storeId = record.storeId,
ticketNo = record.ticketNo,
pickOrderId = record.pickOrderId,
doOrderId = record.doOrderId,
pickOrderCode = record.pickOrderCode,
deliveryOrderCode = record.deliveryOrderCode,
loadingSequence = record.loadingSequence,
ticketStatus = record.ticketStatus?.name,
truckId = record.truckId,
truckDepartureTime = record.truckDepartureTime,
shopId = record.shopId,
handledBy = record.handledBy,
ticketReleaseTime = record.ticketReleaseTime,
ticketCompleteDateTime = record.ticketCompleteDateTime,
truckLanceCode = record.truckLanceCode,
shopCode = record.shopCode,
shopName = record.shopName,
requiredDeliveryDate = record.requiredDeliveryDate,
handlerName = record.handlerName,
numberOfFGItems = countFGItemsFromRecord(record)
)
}

return (doPickOrderResponses + doPickOrderRecordResponses).sortedByDescending { it.ticketReleaseTime?: LocalDateTime.MIN }
}

private fun countFGItems(doPickOrder: DoPickOrder): Int {
val doPickOrderLines = doPickOrderLineRepository.findByDoPickOrderIdAndDeletedFalse(doPickOrder.id!!)
val pickOrderIds = doPickOrderLines.mapNotNull { it.pickOrderId }.distinct()

if (pickOrderIds.isEmpty()) {
val directPickOrderId = doPickOrder.pickOrderId
if (directPickOrderId != null) {
val pickOrderLines = pickOrderLineRepository.findAllByPickOrderId(directPickOrderId)
return pickOrderLines.size
}
return 0
}
val allPickOrderLines = pickOrderIds.flatMap { pickOrderId ->
pickOrderLineRepository.findAllByPickOrderId(pickOrderId)
}
return allPickOrderLines.size
}

private fun countFGItemsFromRecord(doPickOrderRecord: DoPickOrderRecord): Int {

// RECORD_ID FROM DO_PICK_ORDER_RECORD TABLE
val recordId = doPickOrderRecord.recordId
if (recordId == null) {
return 0
}

// DO_PICK_ORDER_ID FROM DO_PICK_ORDER_LINE_RECORD TABLE
val doPickOrderLineRecords = doPickOrderLineRecordRepository.findByDoPickOrderIdAndDeletedFalse(recordId)
if (doPickOrderLineRecords.isEmpty()) {
return 0
}

// RECORD_ID FROM DO_PICK_ORDER_LINE_RECORD TABLE
// POID FROM PICK_ORDER_LINE TABLE
val pickOrderIds = doPickOrderLineRecords.mapNotNull { it.pickOrderId }.distinct()
if (pickOrderIds.isEmpty()) {
return 0
}

val allPickOrderLines = pickOrderIds.flatMap { pickOrderId ->
val lines = pickOrderLineRepository.findAllByPickOrderId(pickOrderId)
lines
}

return allPickOrderLines.size
}


}// 类结束

+ 6
- 2
src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/DoPickOrderController.kt Wyświetl plik

@@ -92,7 +92,11 @@ fun getBatchReleaseProgress(@PathVariable jobId: String): MessageResponse {
}

@GetMapping("/ticket-release-table")
fun getTicketReleaseTable(): List<DoPickOrder> {
return doPickOrderService.getTicketReleaseTable()
fun getTicketReleaseTable(
@RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) startDate: LocalDate?,
@RequestParam(required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) endDate: LocalDate?
): List<TicketReleaseTableResponse> {
return doPickOrderService.getTicketReleaseTable(startDate, endDate)
}

}

+ 29
- 0
src/main/java/com/ffii/fpsms/modules/deliveryOrder/web/models/TicketReleaseTableResponse.kt Wyświetl plik

@@ -0,0 +1,29 @@
package com.ffii.fpsms.modules.deliveryOrder.web.models

import java.time.LocalDateTime
import java.time.LocalDate
import java.time.LocalTime

data class TicketReleaseTableResponse(
val id: Long?,
val storeId: String?,
val ticketNo: String?,
val pickOrderId: Long?,
val doOrderId: Long?,
val pickOrderCode: String?,
val deliveryOrderCode: String?,
val loadingSequence: Int?,
val ticketStatus: String?,
val truckId: Long?,
val truckDepartureTime: LocalTime?,
val shopId: Long?,
val handledBy: Long?,
val ticketReleaseTime: LocalDateTime?,
val ticketCompleteDateTime: LocalDateTime?,
val truckLanceCode: String?,
val shopCode: String?,
val shopName: String?,
val requiredDeliveryDate: LocalDate?,
val handlerName: String?,
val numberOfFGItems: Int = 0
)

+ 27
- 27
src/main/resources/DeliveryNote/DeliveryNotePDF.jrxml Wyświetl plik

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.21.3.final using JasperReports Library version 6.21.3-4a3078d20785ebe464f18037d738d12fc98c13cf -->
<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="DeliveryNotePDF" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="36f9d415-527f-4152-b7b0-eea81fe06f73">
<parameter name="deliveryOrderCode" class="java.lang.String">
<parameter name="deliveryNoteCode" class="java.lang.String">
<parameterDescription><![CDATA[DeliveryOrderCode]]></parameterDescription>
</parameter>
<parameter name="shopName" class="java.lang.String"/>
@@ -14,7 +14,7 @@
<parameter name="dnTitle" class="java.lang.String"/>
<parameter name="colQty" class="java.lang.String"/>
<parameter name="totalCartonTitle" class="java.lang.String"/>
<parameter name="deliveryOrderCodeTitle" class="java.lang.String"/>
<parameter name="deliveryNoteCodeTitle" class="java.lang.String"/>
<queryString>
<![CDATA[]]>
</queryString>
@@ -33,7 +33,7 @@
<band/>
</title>
<pageHeader>
<band height="186">
<band height="155">
<staticText>
<reportElement x="430" y="0" width="40" height="18" uuid="3381622a-7eda-4649-88b8-650da96c2a77">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
@@ -119,10 +119,10 @@
</textElement>
<text><![CDATA[地址:]]></text>
</staticText>
<textField>
<textField textAdjust="ScaleFont">
<reportElement x="70" y="50" width="465" height="23" uuid="89e79bce-bd39-48e6-b114-c11b4bcc5c9f"/>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體" size="13" isBold="true"/>
<font fontName="微軟正黑體" size="16" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$P{shopAddress}]]></textFieldExpression>
</textField>
@@ -167,7 +167,7 @@
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[成品提料編號:]]></text>
<text><![CDATA[成品提貨單號:]]></text>
</staticText>
<staticText>
<reportElement x="5" y="130" width="110" height="18" uuid="111c5f73-f543-4006-931b-27479ccca816">
@@ -177,14 +177,14 @@
<textElement textAlignment="Left" verticalAlignment="Top">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[店鋪採購單號:]]></text>
<text><![CDATA[店鋪採購單號:]]></text>
</staticText>
<textField>
<reportElement x="115" y="130" width="425" height="54" uuid="7171ba0b-1a78-4ff6-a765-7b2b543ab0bc">
<textField textAdjust="StretchHeight">
<reportElement x="115" y="130" width="425" height="18" uuid="7171ba0b-1a78-4ff6-a765-7b2b543ab0bc">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<font fontName="微軟正黑體"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{ShopPurchaseOrderNo}]]></textFieldExpression>
</textField>
@@ -193,7 +193,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{FGPickOrderNo}]]></textFieldExpression>
</textField>
@@ -202,7 +202,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{deliveryDate}]]></textFieldExpression>
</textField>
@@ -211,7 +211,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{numOfCarton}]]></textFieldExpression>
</textField>
@@ -220,7 +220,7 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{totalCartonTitle}]]></textFieldExpression>
</textField>
@@ -229,18 +229,18 @@
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{deliveryOrderCode}]]></textFieldExpression>
<textFieldExpression><![CDATA[$P{deliveryNoteCode}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="280" y="110" width="110" height="18" uuid="f0f2f87f-26cb-4fad-9c78-9d934191fad9">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
<font fontName="微軟正黑體" size="12"/>
</textElement>
<textFieldExpression><![CDATA[$P{deliveryOrderCodeTitle}]]></textFieldExpression>
<textFieldExpression><![CDATA[$P{deliveryNoteCodeTitle}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
@@ -269,11 +269,11 @@
<text><![CDATA[路綫]]></text>
</staticText>
<staticText>
<reportElement x="150" y="4" width="80" height="18" uuid="65c27cc0-f806-4930-930c-6b3fd632a52f">
<reportElement x="150" y="5" width="80" height="18" uuid="65c27cc0-f806-4930-930c-6b3fd632a52f">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[貨品編號]]></text>
@@ -283,7 +283,7 @@
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left">
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="微軟正黑體" size="12"/>
</textElement>
<text><![CDATA[貨品名稱]]></text>
@@ -315,7 +315,7 @@
<detail>
<band height="42">
<textField>
<reportElement x="0" y="1" width="40" height="18" uuid="ae87b739-dadf-452a-bc35-8c2da1a6a9a8">
<reportElement x="0" y="0" width="40" height="18" uuid="ae87b739-dadf-452a-bc35-8c2da1a6a9a8">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
@@ -324,7 +324,7 @@
<textFieldExpression><![CDATA[$F{sequenceNumber}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="40" y="1" width="110" height="18" uuid="b4bcfa6c-5d2e-4fba-815a-cc2fccd39213">
<reportElement x="40" y="0" width="110" height="18" uuid="b4bcfa6c-5d2e-4fba-815a-cc2fccd39213">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">
@@ -351,10 +351,10 @@
<textFieldExpression><![CDATA[$F{qty} + $F{shortName}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="230" y="1" width="240" height="18" uuid="c2b4da75-fdca-4e99-8103-5769dea75841">
<reportElement x="230" y="0" width="230" height="18" uuid="c2b4da75-fdca-4e99-8103-5769dea75841">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Top">
<textElement verticalAlignment="Middle">
<font fontName="微軟正黑體"/>
</textElement>
<textFieldExpression><![CDATA[$F{itemName} + "(" + $F{uom} + ")"]]></textFieldExpression>
@@ -365,7 +365,7 @@
</reportElement>
</line>
<textField>
<reportElement x="230" y="18" width="240" height="18" uuid="af701932-2e78-47d4-a131-b668200dc376">
<reportElement x="230" y="18" width="230" height="18" uuid="af701932-2e78-47d4-a131-b668200dc376">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Middle">


Ładowanie…
Anuluj
Zapisz