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