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