浏览代码

update for stock in line & uom table. update m18 import

master
cyril.tsui 2 个月前
父节点
当前提交
eb067840aa
共有 5 个文件被更改,包括 60 次插入22 次删除
  1. +21
    -11
      src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt
  2. +3
    -0
      src/main/java/com/ffii/fpsms/modules/master/entity/UomConversion.kt
  3. +15
    -11
      src/main/java/com/ffii/fpsms/modules/master/service/UomConversionService.kt
  4. +16
    -0
      src/main/resources/db/changelog/changes/20250915_01_cyril/01_update_stock_in_line.sql
  5. +5
    -0
      src/main/resources/db/changelog/changes/20250916_01_cyril/01_update_uom.sql

+ 21
- 11
src/main/java/com/ffii/fpsms/m18/service/M18MasterDataService.kt 查看文件

@@ -444,22 +444,32 @@ open class M18MasterDataService(
val finalUnitList = arrayListOf<UomConversion>()

// transform unit
values.forEach { unit ->
values.forEach { value ->
try {
val tempObject = UomConversionService.BomObject().apply {
code = unit.code
udfudesc = unit.udfudesc
lastModifyDate = unit.lastModifyDate
id = unit.id
val unitDetail = getUnit(value.id)

if (unitDetail != null && unitDetail.data?.unit != null) {
val unit = unitDetail.data.unit[0]
val tempObject = UomConversionService.BomObject().apply {
code = unit.code
udfudesc = unit.udfudesc
udfShortDesc = unit.udfShortDesc
lastModifyDate = commonUtils.timestampToLocalDateTime(unit.lastModifyDate).format(formatter)
id = unit.id
}
finalUnitList += uomConversionService.transformItem(tempObject)
successTransformList += unit.id
logger.info("Transform Success (M18): ${unit.id}")
} else {
failTransformList.add(value.id)
logger.error("Fail Message: ${unitDetail?.messages?.get(0)?.msgDetail}")
logger.error("Fail Count ${failTransformList.size}: Unit ID - ${value.id} Not Found")
}
finalUnitList += uomConversionService.transformItem(tempObject)
successTransformList += unit.id
logger.info("Transform Success (M18): ${unit.id}")
} catch (e: Exception) {
failTransformList.add(unit.id)
failTransformList.add(value.id)
logger.error("Transform Exception")
logger.error("Transform Fail Message: ${e.message}")
logger.error("Transform Fail Count ${failTransformList.size}: Unit ID - ${unit.id}")
logger.error("Transform Fail Count ${failTransformList.size}: Unit ID - ${value.id}")
}
}



+ 3
- 0
src/main/java/com/ffii/fpsms/modules/master/entity/UomConversion.kt 查看文件

@@ -18,6 +18,9 @@ open class UomConversion : BaseEntity<Long>() {
@Column(name = "udfudesc")
open var udfudesc: String? = null

@Column(name = "udfShortDesc")
open var udfShortDesc: String? = null

@Column(name = "unit1")
open var unit1: String? = null



+ 15
- 11
src/main/java/com/ffii/fpsms/modules/master/service/UomConversionService.kt 查看文件

@@ -69,6 +69,7 @@ open class UomConversionService(
class BomObject {
var code: String? = null
var udfudesc: String? = null
var udfShortDesc: String? = null
var lastModifyDate: String? = null
var id: Long? = null
}
@@ -78,6 +79,7 @@ open class UomConversionService(
//Convert m18 bom reocrd to MTMS db structure record
val code = if (item.code == null) "N/A" else item.code
val udfudesc = item.udfudesc
val udfShortDesc = item.udfShortDesc
val id = item.id
val lastModifyDate = parseDate(item.lastModifyDate)
// Initialize quantities and units
@@ -116,6 +118,7 @@ open class UomConversionService(
val transformedItem = UomConversion()
transformedItem.code = code
transformedItem.udfudesc = udfudesc
transformedItem.udfShortDesc = udfShortDesc
transformedItem.unit1 = unit1
transformedItem.unit1Qty = unit1Qty
transformedItem.unit2 = unit2
@@ -209,17 +212,17 @@ open class UomConversionService(
@Throws(IOException::class)
@Transactional
open fun saveUomConversion(newUomConversion: UomConversion): MessageResponse {
val duplicatedItem = uomConversionRepository.findByLastModifyDateAndM18IdAndDeletedFalse(newUomConversion.lastModifyDate, newUomConversion.m18Id)
if (duplicatedItem != null && duplicatedItem.id != newUomConversion.id) {
return MessageResponse(
id = newUomConversion.id,
code = newUomConversion.code,
name = newUomConversion.udfudesc,
type = "UOM update to date",
message = "BOM with M18Id = ${duplicatedItem.m18Id} is already up to date",
errorPosition = "code"
)
}
// val duplicatedItem = uomConversionRepository.findByLastModifyDateAndM18IdAndDeletedFalse(newUomConversion.lastModifyDate, newUomConversion.m18Id)
// if (duplicatedItem != null && duplicatedItem.id != newUomConversion.id) {
// return MessageResponse(
// id = newUomConversion.id,
// code = newUomConversion.code,
// name = newUomConversion.udfudesc,
// type = "UOM update to date",
// message = "BOM with M18Id = ${duplicatedItem.m18Id} is already up to date",
// errorPosition = "code"
// )
// }

val uomConversion = findByM18Id(newUomConversion.m18Id) ?:
if (newUomConversion.id != null && newUomConversion.id > 0)
@@ -242,6 +245,7 @@ open class UomConversionService(
m18Id = newUomConversion.m18Id
code = newUomConversion.code
udfudesc = newUomConversion.udfudesc
udfShortDesc = newUomConversion.udfShortDesc
unit1 = newUomConversion.unit1
unit1Qty = newUomConversion.unit1Qty
unit2 = newUomConversion.unit2


+ 16
- 0
src/main/resources/db/changelog/changes/20250915_01_cyril/01_update_stock_in_line.sql 查看文件

@@ -0,0 +1,16 @@
-- liquibase formatted sql
-- changeset cyril:update_stock_in_line

ALTER TABLE `stock_in_line`
DROP FOREIGN KEY `FK_STOCK_IN_LINE_PURCHASE_ORDER_LINE_ON_PURCHASEORDERLINEID`,
DROP FOREIGN KEY `FK_STOCK_IN_LINE_TO_PURCHASE_ORDER_ON_PURCHASE_ORDER_ID`;
ALTER TABLE `stock_in_line`
CHANGE COLUMN `purchaseOrderId` `purchaseOrderId` INT NULL ,
CHANGE COLUMN `purchaseOrderLineId` `purchaseOrderLineId` INT NULL ;
ALTER TABLE `stock_in_line`
ADD CONSTRAINT `FK_STOCK_IN_LINE_PURCHASE_ORDER_LINE_ON_PURCHASEORDERLINEID`
FOREIGN KEY (`purchaseOrderLineId`)
REFERENCES `purchase_order_line` (`id`),
ADD CONSTRAINT `FK_STOCK_IN_LINE_TO_PURCHASE_ORDER_ON_PURCHASE_ORDER_ID`
FOREIGN KEY (`purchaseOrderId`)
REFERENCES `purchase_order` (`id`);

+ 5
- 0
src/main/resources/db/changelog/changes/20250916_01_cyril/01_update_uom.sql 查看文件

@@ -0,0 +1,5 @@
-- liquibase formatted sql
-- changeset cyril:update_uom

ALTER TABLE `uom_conversion`
ADD COLUMN `udfShortDesc` VARCHAR(50) NULL DEFAULT NULL AFTER `udfudesc`;

正在加载...
取消
保存