| @@ -11,61 +11,61 @@ open class M18Config { | |||
| // Account | |||
| // @Value("\${m18.config.grant-type}") | |||
| var GRANT_TYPE: String = "password"; | |||
| val GRANT_TYPE: String = "password"; | |||
| // @Value("\${m18.config.client-id}") | |||
| var CLIENT_ID: String = "M2Y1OGYxMmQtZDRiOS00OTA4LTgyNTktZDRkNzEzNWVkMzRm"; | |||
| val CLIENT_ID: String = "M2Y1OGYxMmQtZDRiOS00OTA4LTgyNTktZDRkNzEzNWVkMzRm"; | |||
| // @Value("\${m18.config.client-secret}") | |||
| var CLIENT_SECRET: String = "M2Y2YjQzYzQtZTc2Mi00OTFhLTkwYmItYmJhMzFjZjEyYmY5"; | |||
| val CLIENT_SECRET: String = "M2Y2YjQzYzQtZTc2Mi00OTFhLTkwYmItYmJhMzFjZjEyYmY5"; | |||
| // @Value("\${m18.config.username}") | |||
| var USERNAME: String = "testingMTMS"; | |||
| val USERNAME: String = "testingMTMS"; | |||
| // @Value("\${m18.config.password}") | |||
| var PASSWORD: String = "db25f2fc14cd2d2b1e7af307241f548fb03c312a"; | |||
| val PASSWORD: String = "db25f2fc14cd2d2b1e7af307241f548fb03c312a"; | |||
| var BASE_URL: String = "http://16.162.251.126/jsf/rfws" | |||
| val BASE_URL: String = "http://16.162.251.126/jsf/rfws" | |||
| // Supplier | |||
| // @Value("\${m18.config.supplier-not.material-po}") | |||
| // var MATERIAL_PO_SUPPLIER_NOT: List<String> = listOf("P06", "P07", "T62"); // If need oem type | |||
| var MATERIAL_PO_SUPPLIER_NOT: List<String> = listOf("P06", "P07"); | |||
| val MATERIAL_PO_SUPPLIER_NOT: List<String> = listOf("P06", "P07"); | |||
| // @Value("\${m18.config.supplier.shop-po}") | |||
| var SHOP_PO_SUPPLIER: List<String> = listOf("P06", "P07"); | |||
| val SHOP_PO_SUPPLIER: List<String> = listOf("P06", "P07"); | |||
| // @Value("\${m18.config.supplier.oem-po}") | |||
| var OEM_PO_SUPPLIER: List<String> = listOf("T62"); | |||
| val OEM_PO_SUPPLIER: List<String> = listOf("T62"); | |||
| // Series | |||
| // @Value("\${m18.config.seriesId.pp}") | |||
| var SERIESID_PP: Long = 26; | |||
| val SERIESID_PP: Long = 26; | |||
| // @Value("\${m18.config.seriesId.pf}") | |||
| var SERIESID_PF: Long = 33; | |||
| val SERIESID_PF: Long = 33; | |||
| // @Value("\${m18.config.seriesId.sc}") | |||
| var SERIESID_SC: Long = 27; | |||
| val SERIESID_SC: Long = 27; | |||
| // @Value("\${m18.config.seriesId.se}") | |||
| var SERIESID_SE: Long = 28; | |||
| val SERIESID_SE: Long = 28; | |||
| // @Value("\${m18.config.seriesId.sf}") | |||
| var SERIESID_SF: Long = 70; | |||
| val SERIESID_SF: Long = 70; | |||
| // @Value("\${m18.config.seriesId.sr}") | |||
| var SERIESID_SR: Long = 29; | |||
| val SERIESID_SR: Long = 29; | |||
| // BE | |||
| // @Value("\${m18.config.beId.pp}") | |||
| var BEID_PP: Long = 29; | |||
| val BEID_PP: Long = 29; | |||
| // @Value("\${m18.config.beId.pf}") | |||
| var BEID_PF: Long = 27; | |||
| val BEID_PF: Long = 27; | |||
| // @Value("\${m18.config.beId.toa}") | |||
| var BEID_TOA: Long = 1; | |||
| val BEID_TOA: Long = 1; | |||
| // Fetch | |||
| var ACCESS_TOKEN: String? = null; | |||
| @@ -6,6 +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.modules.master.service.ItemUomService | |||
| import com.ffii.fpsms.modules.master.service.ItemsService | |||
| import com.ffii.fpsms.modules.master.service.ShopService | |||
| @@ -38,8 +39,8 @@ open class M18PurchaseOrderService( | |||
| val lastModifyDateStart = "2025-05-14 14:00:00" | |||
| val lastModifyDateEnd = "2025-05-14 14:30:00" | |||
| val lastModifyDateConds = | |||
| "lastModifyDate=largerOrEqual=${lastModifyDateStart}=and=lastModifyDate=lessOrEqual=${lastModifyDateEnd}" | |||
| // val lastModifyDateConds = | |||
| // "lastModifyDate=largerOrEqual=${lastModifyDateStart}=and=lastModifyDate=lessOrEqual=${lastModifyDateEnd}" | |||
| // val lastModifyDate = LocalDateTime.now().minusMinutes(30) | |||
| // val commonConds = | |||
| // "(beId=equal=${m18Config.BEID_PF}=or=beId=equal=${m18Config.BEID_PP}=or=beId=equal=${m18Config.BEID_TOA})=and=lastModifyDate=largerOrEqual=${lastModifyDate}" | |||
| @@ -49,9 +50,10 @@ open class M18PurchaseOrderService( | |||
| val M18_FETCH_PURCHASE_ORDER_LIST_API = "/search/search" | |||
| // Include material po, shop po, oem po | |||
| open fun getPurchaseOrdersWithType(): M18PurchaseOrderListResponseWithType? { | |||
| open fun getPurchaseOrdersWithType(request: M18TestPoRequest): M18PurchaseOrderListResponseWithType? { | |||
| val purchaseOrders = M18PurchaseOrderListResponseWithType(mutableListOf()) | |||
| val lastModifyDateConds = | |||
| "lastModifyDate=largerOrEqual=${request.dateFrom ?: lastModifyDateStart}=and=lastModifyDate=lessOrEqual=${request.dateTo ?: lastModifyDateEnd}" | |||
| // Material PO | |||
| val materialPoBuyers = | |||
| commonUtils.listToString(listOf(m18Config.BEID_PP, m18Config.BEID_PF), "beId=equal=", "=or=") | |||
| @@ -155,9 +157,9 @@ open class M18PurchaseOrderService( | |||
| return purchaseOrder | |||
| } | |||
| open fun savePurchaseOrders() { | |||
| open fun savePurchaseOrders(request: M18TestPoRequest) { | |||
| logger.info("--------------------------------------------Start - Saving M18 Purchase Order--------------------------------------------") | |||
| val purchaseOrdersWithType = getPurchaseOrdersWithType() | |||
| val purchaseOrdersWithType = getPurchaseOrdersWithType(request) | |||
| val examplePurchaseOrders = listOf<Long>(4764034L) | |||
| val successList = mutableListOf<Long>() | |||
| @@ -5,18 +5,20 @@ import com.ffii.fpsms.m18.M18Config | |||
| 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.M18TestPoRequest | |||
| import com.ffii.fpsms.modules.master.entity.ItemUom | |||
| import com.ffii.fpsms.modules.master.entity.Items | |||
| import com.ffii.fpsms.modules.master.entity.Shop | |||
| import com.ffii.fpsms.modules.master.entity.ShopRepository | |||
| import com.ffii.fpsms.modules.master.entity.projections.SearchId | |||
| import com.ffii.fpsms.modules.master.enums.ShopType | |||
| import com.ffii.fpsms.modules.master.service.ItemUomService | |||
| import com.ffii.fpsms.modules.master.service.ItemsService | |||
| import com.ffii.fpsms.modules.master.service.ShopService | |||
| import jakarta.validation.Valid | |||
| import org.slf4j.Logger | |||
| import org.slf4j.LoggerFactory | |||
| import org.springframework.web.bind.annotation.GetMapping | |||
| import org.springframework.web.bind.annotation.PostMapping | |||
| import org.springframework.web.bind.annotation.RequestBody | |||
| import org.springframework.web.bind.annotation.RequestMapping | |||
| import org.springframework.web.bind.annotation.RequestParam | |||
| import org.springframework.web.bind.annotation.RestController | |||
| @@ -57,6 +59,7 @@ class M18TestController ( | |||
| println(response?.uom?.id) | |||
| return response | |||
| } | |||
| // --------------------------------------------- Master Data --------------------------------------------- /// | |||
| @GetMapping("/master-data") | |||
| fun m18MasterData() { | |||
| @@ -69,7 +72,6 @@ class M18TestController ( | |||
| m18MasterDataService.saveBoms() | |||
| } | |||
| // --------------------------------------------- Master Data --------------------------------------------- /// | |||
| @GetMapping("/product") | |||
| fun m18Products() { | |||
| logger.info("Access token: ${m18Config.ACCESS_TOKEN}") | |||
| @@ -107,10 +109,10 @@ class M18TestController ( | |||
| } | |||
| // --------------------------------------------- Purchase Order --------------------------------------------- /// | |||
| @GetMapping("/po") | |||
| fun m18PO() { | |||
| @PostMapping("/po") | |||
| fun m18PO(@Valid @RequestBody request: M18TestPoRequest) { | |||
| logger.info("Access token: ${m18Config.ACCESS_TOKEN}") | |||
| m18PurchaseOrderService.savePurchaseOrders() | |||
| m18PurchaseOrderService.savePurchaseOrders(request) | |||
| } | |||
| // --------------------------------------------- Purchase Quotation --------------------------------------------- /// | |||
| @@ -0,0 +1,6 @@ | |||
| package com.ffii.fpsms.m18.web.models | |||
| data class M18TestPoRequest( | |||
| val dateFrom: String?, | |||
| val dateTo: String?, | |||
| ) | |||
| @@ -1,9 +0,0 @@ | |||
| package com.ffii.fpsms.modules.common.mail.web.models | |||
| import java.time.LocalDate | |||
| data class WorkHourRecords( | |||
| val staffId: Long, | |||
| val recordDate: LocalDate, | |||
| val hours: Double, | |||
| ) | |||