| @@ -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}") | |||
| } | |||
| } | |||
| @@ -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 | |||
| @@ -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 | |||
| @@ -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`); | |||
| @@ -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`; | |||