Browse Source

added a demo code in po controller for easy testing

master
[email protected] 2 weeks ago
parent
commit
b3bebdf3e7
1 changed files with 36 additions and 1 deletions
  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 View File

@@ -4,6 +4,7 @@ import com.ffii.core.response.RecordsRes
import com.ffii.core.support.JdbcDao import com.ffii.core.support.JdbcDao
import com.ffii.core.utils.CriteriaArgsBuilder import com.ffii.core.utils.CriteriaArgsBuilder
import com.ffii.core.utils.PagingUtils 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.entity.Items
import com.ffii.fpsms.modules.master.service.ItemsService import com.ffii.fpsms.modules.master.service.ItemsService
import com.ffii.fpsms.modules.master.web.models.MessageResponse 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.entity.projections.PurchaseOrderInfo
import com.ffii.fpsms.modules.purchaseOrder.service.PurchaseOrderService import com.ffii.fpsms.modules.purchaseOrder.service.PurchaseOrderService
import com.ffii.fpsms.modules.purchaseOrder.web.model.PagingRequest 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 com.ffii.fpsms.modules.stock.web.model.SaveStockInLineRequest
import jakarta.servlet.http.HttpServletRequest 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.Page
import org.springframework.data.domain.PageRequest import org.springframework.data.domain.PageRequest
import org.springframework.web.bind.annotation.* import org.springframework.web.bind.annotation.*
import java.io.File


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


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

return RecordsRes(paginatedList, fullList.size) return RecordsRes(paginatedList, fullList.size)
} }



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


@GetMapping("/detail/{id}") // purchaseOrderId @GetMapping("/detail/{id}") // purchaseOrderId
fun getDetailedPo(@PathVariable id: Long): Map<String, Any> { 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) return purchaseOrderService.getDetailedPo(id)
} }




Loading…
Cancel
Save