From a4ed150d3d740b89f07e68820f8e8910d5b66c3b Mon Sep 17 00:00:00 2001 From: "cyril.tsui" Date: Wed, 23 Jul 2025 12:27:46 +0800 Subject: [PATCH] update m18 request --- .../m18/service/M18DeliveryOrderService.kt | 9 ++---- .../fpsms/m18/service/M18MasterDataService.kt | 30 +++++++++---------- .../m18/service/M18PurchaseOrderService.kt | 6 ++-- .../service/M18PurchaseQuotationService.kt | 6 ++-- .../fpsms/m18/service/M18SchedulerService.kt | 8 +++-- .../ffii/fpsms/m18/web/M18TestController.kt | 29 ++++++++---------- .../fpsms/m18/web/models/M18TestRequest.kt | 17 +---------- 7 files changed, 42 insertions(+), 63 deletions(-) diff --git a/src/main/java/com/ffii/fpsms/m18/service/M18DeliveryOrderService.kt b/src/main/java/com/ffii/fpsms/m18/service/M18DeliveryOrderService.kt index cc83801..5827d8f 100644 --- a/src/main/java/com/ffii/fpsms/m18/service/M18DeliveryOrderService.kt +++ b/src/main/java/com/ffii/fpsms/m18/service/M18DeliveryOrderService.kt @@ -6,15 +6,13 @@ import com.ffii.fpsms.m18.M18Config import com.ffii.fpsms.m18.enums.M18DataLogStatus import com.ffii.fpsms.m18.model.* import com.ffii.fpsms.m18.utils.CommonUtils -import com.ffii.fpsms.m18.web.models.M18TestDoRequest -import com.ffii.fpsms.m18.web.models.M18TestPoRequest +import com.ffii.fpsms.m18.web.models.M18CommonRequest import com.ffii.fpsms.modules.deliveryOrder.enums.DeliveryOrderLineStatus import com.ffii.fpsms.modules.deliveryOrder.enums.DeliveryOrderStatus import com.ffii.fpsms.modules.deliveryOrder.service.DeliveryOrderLineService import com.ffii.fpsms.modules.deliveryOrder.service.DeliveryOrderService import com.ffii.fpsms.modules.deliveryOrder.web.models.SaveDeliveryOrderLineRequest import com.ffii.fpsms.modules.deliveryOrder.web.models.SaveDeliveryOrderRequest -import com.ffii.fpsms.modules.master.entity.Items import com.ffii.fpsms.modules.master.service.ItemUomService import com.ffii.fpsms.modules.master.service.ItemsService import com.ffii.fpsms.modules.master.service.ShopService @@ -54,7 +52,7 @@ open class M18DeliveryOrderService( val M18_FETCH_PURCHASE_ORDER_LIST_API = "/search/search" // Include shop po - open fun getDeliveryOrdersWithType(request: M18TestDoRequest): M18PurchaseOrderListResponseWithType? { + open fun getDeliveryOrdersWithType(request: M18CommonRequest): M18PurchaseOrderListResponseWithType? { val deliveryOrders = M18PurchaseOrderListResponseWithType(mutableListOf()) val lastModifyDateConds = "lastModifyDate=largerOrEqual=${request.modifiedDateFrom ?: lastModifyDateStart}=and=lastModifyDate=lessOrEqual=${request.modifiedDateTo ?: lastModifyDateEnd}" @@ -108,7 +106,7 @@ open class M18DeliveryOrderService( return deliveryOrder } - open fun saveDeliveryOrders(request: M18TestDoRequest) { + open fun saveDeliveryOrders(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Delivery Order--------------------------------------------") val deliveryOrdersWithType = getDeliveryOrdersWithType(request) @@ -148,7 +146,6 @@ open class M18DeliveryOrderService( logger.info("${doRefType}: Finding For Latest M18 Data Log...") val latestDeliveryOrderLog = m18DataLogService.findLatestM18DataLogWithSuccess(deliveryOrder.id, doRefType) - logger.info(latestDeliveryOrderLog.toString()) // Save to m18_data_log table logger.info("${doRefType}: Saving for M18 Data Log...") diff --git a/src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt b/src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt index fdf765e..dd27b10 100644 --- a/src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt +++ b/src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt @@ -5,8 +5,7 @@ import com.ffii.fpsms.api.service.ApiCallerService import com.ffii.fpsms.m18.M18Config import com.ffii.fpsms.m18.model.* import com.ffii.fpsms.m18.utils.CommonUtils -import com.ffii.fpsms.m18.web.models.M18TestMasterDateRequest -import com.ffii.fpsms.modules.master.entity.Items +import com.ffii.fpsms.m18.web.models.M18CommonRequest import com.ffii.fpsms.modules.master.entity.UomConversion import com.ffii.fpsms.modules.master.enums.ShopType import com.ffii.fpsms.modules.master.service.* @@ -15,7 +14,6 @@ import org.slf4j.Logger import org.slf4j.LoggerFactory import org.springframework.stereotype.Service import java.math.BigDecimal -import java.time.LocalDate import java.time.LocalDateTime import java.time.format.DateTimeFormatter @@ -63,7 +61,7 @@ open class M18MasterDataService( stSearch: String?, params: String? = null, conds: String? = null, - request: M18TestMasterDateRequest, + request: M18CommonRequest, ): T? { val lastModifyDateFromConds = request.modifiedDateFrom?.let { "lastModifyDate=largerOrEqual=${it}" } val lastModifyDateToConds = request.modifiedDateTo?.let{ "lastModifyDate=lessOrEqual=${it}" } @@ -107,7 +105,7 @@ open class M18MasterDataService( } // --------------------------------------------- Product --------------------------------------------- /// - open fun getProducts(request: M18TestMasterDateRequest): M18ProductListResponse? { + open fun getProducts(request: M18CommonRequest): M18ProductListResponse? { // seems no beId return getList( stSearch = StSearchType.PRODUCT.value, @@ -214,7 +212,7 @@ open class M18MasterDataService( } } - open fun saveProducts(request: M18TestMasterDateRequest) { + open fun saveProducts(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Products / Materials--------------------------------------------") val items = getProducts(request) val exampleProducts = listOf(10946L, 3825L) @@ -314,7 +312,7 @@ open class M18MasterDataService( } // --------------------------------------------- Vendor --------------------------------------------- /// - open fun getVendors(request: M18TestMasterDateRequest): M18VendorListResponse? { + open fun getVendors(request: M18CommonRequest): M18VendorListResponse? { return getList( stSearch = StSearchType.VENDOR.value, params = null, @@ -332,7 +330,7 @@ open class M18MasterDataService( ) } - open fun saveVendors(request: M18TestMasterDateRequest) { + open fun saveVendors(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Vendors--------------------------------------------") val vendors = getVendors(request) val exampleVendors = listOf(191L) @@ -397,7 +395,7 @@ open class M18MasterDataService( } // --------------------------------------------- Unit (UoM) --------------------------------------------- /// - open fun getUnits(request: M18TestMasterDateRequest): M18UnitListResponse? { + open fun getUnits(request: M18CommonRequest): M18UnitListResponse? { // seems no beId return getList( stSearch = StSearchType.UNIT.value, @@ -416,7 +414,7 @@ open class M18MasterDataService( ) } - open fun saveUnits(request: M18TestMasterDateRequest) { + open fun saveUnits(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Units--------------------------------------------") val units = getUnits(request) @@ -481,7 +479,7 @@ open class M18MasterDataService( } // --------------------------------------------- Currency --------------------------------------------- /// - open fun getCurrencies(request: M18TestMasterDateRequest): M18CurrencyListResponse? { + open fun getCurrencies(request: M18CommonRequest): M18CurrencyListResponse? { return getList( stSearch = StSearchType.CURRENCY.value, params = null, @@ -499,7 +497,7 @@ open class M18MasterDataService( ) } - open fun saveCurrencies(request: M18TestMasterDateRequest) { + open fun saveCurrencies(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Currencies--------------------------------------------") val currencies = getCurrencies(request) @@ -544,7 +542,7 @@ open class M18MasterDataService( } // --------------------------------------------- Bom --------------------------------------------- /// - open fun getBoms(request: M18TestMasterDateRequest): M18BomListResponse? { + open fun getBoms(request: M18CommonRequest): M18BomListResponse? { return getList( stSearch = StSearchType.BOM.value, params = null, @@ -562,7 +560,7 @@ open class M18MasterDataService( ) } - open fun saveBoms(request: M18TestMasterDateRequest) { + open fun saveBoms(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Boms--------------------------------------------") val boms = getBoms(request) @@ -657,7 +655,7 @@ open class M18MasterDataService( } // --------------------------------------------- Business Unit (Shop) --------------------------------------------- /// - open fun getBusinessUnits(request: M18TestMasterDateRequest): M18BusinessUnitListResponse? { + open fun getBusinessUnits(request: M18CommonRequest): M18BusinessUnitListResponse? { // seems no beId return getList( stSearch = StSearchType.BUSINESS_UNIT.value, @@ -676,7 +674,7 @@ open class M18MasterDataService( ) } - open fun saveBusinessUnits(request: M18TestMasterDateRequest) { + open fun saveBusinessUnits(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Business Units (Shops)--------------------------------------------") val businessUnits = getBusinessUnits(request) diff --git a/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseOrderService.kt b/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseOrderService.kt index d11de53..dbc422c 100644 --- a/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseOrderService.kt +++ b/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseOrderService.kt @@ -6,7 +6,7 @@ import com.ffii.fpsms.m18.M18Config import com.ffii.fpsms.m18.enums.M18DataLogStatus import com.ffii.fpsms.m18.model.* import com.ffii.fpsms.m18.utils.CommonUtils -import com.ffii.fpsms.m18.web.models.M18TestPoRequest +import com.ffii.fpsms.m18.web.models.M18CommonRequest import com.ffii.fpsms.modules.deliveryOrder.service.DeliveryOrderLineService import com.ffii.fpsms.modules.deliveryOrder.service.DeliveryOrderService import com.ffii.fpsms.modules.master.service.ItemUomService @@ -55,7 +55,7 @@ open class M18PurchaseOrderService( val M18_FETCH_PURCHASE_ORDER_LIST_API = "/search/search" // Include material po, oem po - open fun getPurchaseOrdersWithType(request: M18TestPoRequest): M18PurchaseOrderListResponseWithType? { + open fun getPurchaseOrdersWithType(request: M18CommonRequest): M18PurchaseOrderListResponseWithType? { val purchaseOrders = M18PurchaseOrderListResponseWithType(mutableListOf()) val lastModifyDateConds = "lastModifyDate=largerOrEqual=${request.modifiedDateFrom ?: lastModifyDateStart}=and=lastModifyDate=lessOrEqual=${request.modifiedDateTo ?: lastModifyDateEnd}" @@ -162,7 +162,7 @@ open class M18PurchaseOrderService( return purchaseOrder } - open fun savePurchaseOrders(request: M18TestPoRequest) { + open fun savePurchaseOrders(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Purchase Order--------------------------------------------") val purchaseOrdersWithType = getPurchaseOrdersWithType(request) val examplePurchaseOrders = listOf(4764034L) diff --git a/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseQuotationService.kt b/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseQuotationService.kt index 9f1c34b..3ef1520 100644 --- a/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseQuotationService.kt +++ b/src/main/java/com/ffii/fpsms/m18/service/M18PurchaseQuotationService.kt @@ -8,7 +8,7 @@ import com.ffii.fpsms.m18.model.M18PurchaseQuotationListResponse import com.ffii.fpsms.m18.model.M18PurchaseQuotationRequest import com.ffii.fpsms.m18.model.M18PurchaseQuotationResponse import com.ffii.fpsms.m18.utils.CommonUtils -import com.ffii.fpsms.m18.web.models.M18TestPqRequest +import com.ffii.fpsms.m18.web.models.M18CommonRequest import com.ffii.fpsms.modules.master.service.ItemUomService import com.ffii.fpsms.modules.master.service.ItemsService import com.ffii.fpsms.modules.purchaseQuotation.service.PurchaseQuotationLineService @@ -44,7 +44,7 @@ open class M18PurchaseQuotationService( val M18_LOAD_PURCHASE_QUOTATION_API = "/root/api/read/vqu" val M18_FETCH_PURCHASE_QUOTATION_LIST_API = "/search/search" - open fun getPurchaseQuotations(request: M18TestPqRequest): M18PurchaseQuotationListResponse? { + open fun getPurchaseQuotations(request: M18CommonRequest): M18PurchaseQuotationListResponse? { val lastModifyDateFromConds = request.modifiedDateFrom?.let { "lastModifyDate=largerOrEqual=${it}" } val lastModifyDateToConds = request.modifiedDateTo?.let{ "lastModifyDate=lessOrEqual=${it}" } val haveFromAndTo = lastModifyDateFromConds != null && lastModifyDateToConds != null @@ -94,7 +94,7 @@ open class M18PurchaseQuotationService( return purchaseQuotation } - open fun savePurchaseQuotations(request: M18TestPqRequest) { + open fun savePurchaseQuotations(request: M18CommonRequest) { logger.info("--------------------------------------------Start - Saving M18 Purchase Quotations--------------------------------------------") val purchaseQuotations = getPurchaseQuotations(request) diff --git a/src/main/java/com/ffii/fpsms/m18/service/M18SchedulerService.kt b/src/main/java/com/ffii/fpsms/m18/service/M18SchedulerService.kt index 2eb83fd..ff749a2 100644 --- a/src/main/java/com/ffii/fpsms/m18/service/M18SchedulerService.kt +++ b/src/main/java/com/ffii/fpsms/m18/service/M18SchedulerService.kt @@ -1,7 +1,7 @@ package com.ffii.fpsms.m18.service import com.ffii.core.utils.JwtTokenUtil -import com.ffii.fpsms.m18.web.models.M18TestPoRequest +import com.ffii.fpsms.m18.web.models.M18CommonRequest import org.slf4j.Logger import org.slf4j.LoggerFactory import org.springframework.scheduling.annotation.Scheduled @@ -12,20 +12,22 @@ import java.time.format.DateTimeFormatter @Service open class M18SchedulerService( val m18PurchaseOrderService: M18PurchaseOrderService, + val m18DeliveryOrderService: M18DeliveryOrderService, val m18MasterDataService: M18MasterDataService, ) { var logger: Logger = LoggerFactory.getLogger(JwtTokenUtil::class.java) val dataStringFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd") @Scheduled(cron = "0 0 0 * * *") - open fun getPos() { + open fun getM18Pos() { val today = LocalDateTime.now() val yesterday = today.minusDays(1L) - val request = M18TestPoRequest( + val request = M18CommonRequest( modifiedDateTo = today.format(dataStringFormat), modifiedDateFrom = yesterday.format(dataStringFormat) ) m18PurchaseOrderService.savePurchaseOrders(request); + m18DeliveryOrderService.saveDeliveryOrders(request); logger.info("today: ${today.format(dataStringFormat)}") logger.info("yesterday: ${yesterday.format(dataStringFormat)}") } diff --git a/src/main/java/com/ffii/fpsms/m18/web/M18TestController.kt b/src/main/java/com/ffii/fpsms/m18/web/M18TestController.kt index 3139b17..acd0eb7 100644 --- a/src/main/java/com/ffii/fpsms/m18/web/M18TestController.kt +++ b/src/main/java/com/ffii/fpsms/m18/web/M18TestController.kt @@ -6,10 +6,7 @@ import com.ffii.fpsms.m18.service.M18DeliveryOrderService import com.ffii.fpsms.m18.service.M18MasterDataService import com.ffii.fpsms.m18.service.M18PurchaseOrderService import com.ffii.fpsms.m18.service.M18PurchaseQuotationService -import com.ffii.fpsms.m18.web.models.M18TestDoRequest -import com.ffii.fpsms.m18.web.models.M18TestMasterDateRequest -import com.ffii.fpsms.m18.web.models.M18TestPoRequest -import com.ffii.fpsms.m18.web.models.M18TestPqRequest +import com.ffii.fpsms.m18.web.models.M18CommonRequest import com.ffii.fpsms.modules.master.entity.ItemUom import com.ffii.fpsms.modules.master.entity.Items import com.ffii.fpsms.modules.master.entity.ShopRepository @@ -62,7 +59,7 @@ class M18TestController ( // --------------------------------------------- Master Data --------------------------------------------- /// @GetMapping("/all") fun m18All() { - val mdRequest = M18TestMasterDateRequest() + val mdRequest = M18CommonRequest() // Master Data m18MasterDataService.saveUnits(mdRequest) m18MasterDataService.saveProducts(mdRequest) @@ -71,13 +68,13 @@ class M18TestController ( m18MasterDataService.saveCurrencies(mdRequest) m18MasterDataService.saveBoms(mdRequest) - val pqRequest = M18TestPqRequest() + val pqRequest = M18CommonRequest() m18PurchaseQuotationService.savePurchaseQuotations(pqRequest) } // --------------------------------------------- Master Data --------------------------------------------- /// @PostMapping("/master-data") - fun m18MasterData(@Valid @RequestBody request: M18TestMasterDateRequest) { + fun m18MasterData(@Valid @RequestBody request: M18CommonRequest) { // Master Data m18MasterDataService.saveUnits(request) m18MasterDataService.saveProducts(request) @@ -88,7 +85,7 @@ class M18TestController ( } @PostMapping("/product") - fun m18Products(@Valid @RequestBody request: M18TestMasterDateRequest) { + fun m18Products(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18MasterDataService.saveProducts(request) } @@ -100,52 +97,52 @@ class M18TestController ( } @PostMapping("/vendor") - fun m18Vendor(@Valid @RequestBody request: M18TestMasterDateRequest) { + fun m18Vendor(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18MasterDataService.saveVendors(request) } @PostMapping("/unit") - fun m18Unit(@Valid @RequestBody request: M18TestMasterDateRequest) { + fun m18Unit(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18MasterDataService.saveUnits(request) } @PostMapping("/currency") - fun m18Currency(@Valid @RequestBody request: M18TestMasterDateRequest) { + fun m18Currency(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18MasterDataService.saveCurrencies(request) } @PostMapping("/bom") - fun m18Bom(@Valid @RequestBody request: M18TestMasterDateRequest) { + fun m18Bom(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18MasterDataService.saveBoms(request) } @PostMapping("/businessUnit") - fun m18BusinessUnit(@Valid @RequestBody request: M18TestMasterDateRequest) { + fun m18BusinessUnit(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18MasterDataService.saveBusinessUnits(request) } // --------------------------------------------- Purchase Order --------------------------------------------- /// @PostMapping("/po") - fun m18PO(@Valid @RequestBody request: M18TestPoRequest) { + fun m18PO(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18PurchaseOrderService.savePurchaseOrders(request) } // --------------------------------------------- Delivery Order --------------------------------------------- /// @PostMapping("/do") - fun m18DO(@Valid @RequestBody request: M18TestDoRequest) { + fun m18DO(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18DeliveryOrderService.saveDeliveryOrders(request) } // --------------------------------------------- Purchase Quotation --------------------------------------------- /// @PostMapping("/pq") - fun m18PQ(@Valid @RequestBody request: M18TestPqRequest) { + fun m18PQ(@Valid @RequestBody request: M18CommonRequest) { logger.info("Access token: ${m18Config.ACCESS_TOKEN}") m18PurchaseQuotationService.savePurchaseQuotations(request) } diff --git a/src/main/java/com/ffii/fpsms/m18/web/models/M18TestRequest.kt b/src/main/java/com/ffii/fpsms/m18/web/models/M18TestRequest.kt index 9b7a2ec..e682762 100644 --- a/src/main/java/com/ffii/fpsms/m18/web/models/M18TestRequest.kt +++ b/src/main/java/com/ffii/fpsms/m18/web/models/M18TestRequest.kt @@ -1,21 +1,6 @@ package com.ffii.fpsms.m18.web.models -data class M18TestPoRequest( - val modifiedDateFrom: String?, - val modifiedDateTo: String?, -) - -data class M18TestDoRequest( - val modifiedDateFrom: String?, - val modifiedDateTo: String?, -) - -data class M18TestPqRequest( - val modifiedDateFrom: String? = null, - val modifiedDateTo: String? = null, -) - -data class M18TestMasterDateRequest( +data class M18CommonRequest( val modifiedDateFrom: String? = null, val modifiedDateTo: String? = null, )