@@ -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, | |||||
) |