Procházet zdrojové kódy

added a demo code in po controller for easy testing

master
[email protected] před 2 týdny
rodič
revize
b3bebdf3e7
1 změnil soubory, kde provedl 36 přidání a 1 odebrání
  1. +36
    -1
      src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/PurchaseOrderController.kt

+ 36
- 1
src/main/java/com/ffii/fpsms/modules/purchaseOrder/web/PurchaseOrderController.kt Zobrazit soubor

@@ -4,6 +4,7 @@ import com.ffii.core.response.RecordsRes
import com.ffii.core.support.JdbcDao
import com.ffii.core.utils.CriteriaArgsBuilder
import com.ffii.core.utils.PagingUtils
import com.ffii.core.utils.ZebraPrinterUtil
import com.ffii.fpsms.modules.master.entity.Items
import com.ffii.fpsms.modules.master.service.ItemsService
import com.ffii.fpsms.modules.master.web.models.MessageResponse
@@ -12,16 +13,22 @@ import com.ffii.fpsms.modules.purchaseOrder.entity.projections.PurchaseOrderData
import com.ffii.fpsms.modules.purchaseOrder.entity.projections.PurchaseOrderInfo
import com.ffii.fpsms.modules.purchaseOrder.service.PurchaseOrderService
import com.ffii.fpsms.modules.purchaseOrder.web.model.PagingRequest
import com.ffii.fpsms.modules.stock.service.StockInLineService
import com.ffii.fpsms.modules.stock.web.model.ExportQrCodeRequest
import com.ffii.fpsms.modules.stock.web.model.SaveStockInLineRequest
import jakarta.servlet.http.HttpServletRequest
import net.sf.jasperreports.engine.JasperExportManager
import net.sf.jasperreports.engine.JasperPrint
import org.springframework.data.domain.Page
import org.springframework.data.domain.PageRequest
import org.springframework.web.bind.annotation.*
import java.io.File

@RestController
@RequestMapping("/po")
class PurchaseOrderController(
private val purchaseOrderService: PurchaseOrderService
private val purchaseOrderService: PurchaseOrderService,
private val stockInLineService: StockInLineService
) {
@GetMapping("/list")
fun getPoList(
@@ -46,9 +53,11 @@ class PurchaseOrderController(

val fullList = purchaseOrderService.getPoList(criteriaArgs)
val paginatedList = PagingUtils.getPaginatedList(fullList,pageSize, pageNum)

return RecordsRes(paginatedList, fullList.size)
}


@GetMapping("/testing")
fun testing(request: HttpServletRequest) {
val criteriaArgs = CriteriaArgsBuilder.withRequest(request)
@@ -62,6 +71,32 @@ class PurchaseOrderController(

@GetMapping("/detail/{id}") // purchaseOrderId
fun getDetailedPo(@PathVariable id: Long): Map<String, Any> {

/* tested the sample printing function by a pdf file
// just get a pdf file for demo , it can be any files? didn't try pdf with pages or multi pdf files
val request = ExportQrCodeRequest(
stockInLineIds = listOf(1L)
)
val pdf = stockInLineService.exportStockInLineQrcode(request)
val jasperPrint = pdf["report"] as JasperPrint

// 1. Create a temporary file to save the PDF.
val tempPdfFile = File.createTempFile("print_job_", ".pdf")

try {

// 2. Export the JasperPrint to the temporary PDF file.
JasperExportManager.exportReportToPdfFile(jasperPrint, tempPdfFile.absolutePath)

// 3. Call the utility function with the temporary file.
ZebraPrinterUtil.printPdfToZebra(tempPdfFile, "192.168.245.16", 9100)

} finally {
// 4. Ensure the temporary file is deleted after the print job is sent.
tempPdfFile.delete()
}
*/

return purchaseOrderService.getDetailedPo(id)
}



Načítá se…
Zrušit
Uložit