From 488799e554c1299ef45db12dd48328e058b8a7d5 Mon Sep 17 00:00:00 2001 From: DouDou <877258667@qq.com> Date: Fri, 21 Mar 2025 18:14:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E4=BB=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/spring/ifs/api/BaseSearchApi.java | 53 +++++++++++++++++-- .../java/com/spring/ifs/data/PartCatalog.java | 19 +++++++ .../part/dao/impl/PartCatalogDaoImpl.java | 8 ++- .../part/service/impl/PartServiceImpl.java | 2 +- src/main/resources/application-dev.yml | 4 +- 5 files changed, 78 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/spring/ifs/api/BaseSearchApi.java b/src/main/java/com/spring/ifs/api/BaseSearchApi.java index 7435115c..1533b253 100644 --- a/src/main/java/com/spring/ifs/api/BaseSearchApi.java +++ b/src/main/java/com/spring/ifs/api/BaseSearchApi.java @@ -16,6 +16,8 @@ import ifs.fnd.ap.Server; import org.slf4j.Logger; import java.math.BigDecimal; +import java.math.MathContext; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -237,6 +239,9 @@ public class BaseSearchApi { StringBuilder searchSql = new StringBuilder(); searchSql.append("SELECT PART_NO, DESCRIPTION partDesc, INFO_TEXT, STD_NAME_ID, UNIT_CODE,"); searchSql.append(" LOT_TRACKING_CODE, WEIGHT_NET, UOM_FOR_WEIGHT_NET, VOLUME_NET, UOM_FOR_VOLUME_NET,"); + //2025-03-21 新增字段 + searchSql.append(" PART_MAIN_GROUP, CONDITION_CODE_USAGE_DB, MULTILEVEL_TRACKING_DB, ALLOW_AS_NOT_CONSUMED_DB,"); + searchSql.append(" LOT_QUANTITY_RULE, SUB_LOT_RULE, COMPONENT_LOT_RULE,"); searchSql.append(" OBJID ifsRowId, OBJVERSION ifsRowVersion"); searchSql.append(" FROM IFSAPP.PART_CATALOG pc"); //设置查询的入参 @@ -265,16 +270,56 @@ public class BaseSearchApi { //设置参数 tempItem.setIfsRowId(tempMap.get("IFSROWID")); tempItem.setIfsRowVersion(tempMap.get("IFSROWVERSION")); - tempItem.setPartNo(tempMap.get("PART_NO")); + tempItem.setPartNo(tempMap.get("PART_NO").trim()); tempItem.setPartDesc(tempMap.get("PARTDESC")); // 注意:使用小写的partDesc以匹配属性名 tempItem.setInfoText(tempMap.get("INFO_TEXT")); - tempItem.setStdNameId(tempMap.get("STD_NAME_ID")); tempItem.setUnitCode(tempMap.get("UNIT_CODE")); tempItem.setLotTrackingCode(tempMap.get("LOT_TRACKING_CODE")); - tempItem.setWeightNet(tempMap.get("WEIGHT_NET")); + String weightNet = tempMap.get("WEIGHT_NET"); + if (null == weightNet || "".equals(weightNet) ||"NULL".equalsIgnoreCase(weightNet)) { + tempItem.setWeightNet(null); + }else { + BigDecimal weightNetNum = new BigDecimal(weightNet); + MathContext mc = new MathContext(6, RoundingMode.HALF_UP); + BigDecimal result = weightNetNum.round(mc); + tempItem.setWeightNetNum(result); + } + tempItem.setUomForWeightNet(tempMap.get("UOM_FOR_WEIGHT_NET")); - tempItem.setVolumeNet(tempMap.get("VOLUME_NET")); + String volumeNet = tempMap.get("VOLUME_NET"); + if (null == volumeNet || "".equals(volumeNet) ||"NULL".equalsIgnoreCase(volumeNet)) { + tempItem.setVolumeNet(null); + }else { + BigDecimal volumeNetNum = new BigDecimal(volumeNet); + MathContext mc = new MathContext(6, RoundingMode.HALF_UP); + BigDecimal result = volumeNetNum.round(mc); + tempItem.setVolumeNetNum(result); + } tempItem.setUomForVolumeNet(tempMap.get("UOM_FOR_VOLUME_NET")); + //新增字段 + tempItem.setPartMainGroup(tempMap.get("PART_MAIN_GROUP")); + String conditionCodeUsageDb = tempMap.get("CONDITION_CODE_USAGE_DB"); + if ("ALLOW_COND_CODE".equalsIgnoreCase(conditionCodeUsageDb)) { + tempItem.setConditionCodeUsageDb("Y"); + }else { + tempItem.setConditionCodeUsageDb("N"); + } + String multilevelTrackingDb = tempMap.get("MULTILEVEL_TRACKING_DB"); + if ("TRACKING_ON".equalsIgnoreCase(multilevelTrackingDb)) { + tempItem.setMultilevelTrackingDb("Y"); + }else { + tempItem.setMultilevelTrackingDb("N"); + } + String allowAsNotConsumedDb = tempMap.get("ALLOW_AS_NOT_CONSUMED_DB"); + if ("TRUE".equalsIgnoreCase(allowAsNotConsumedDb)) { + tempItem.setAllowAsNotConsumedDb("Y"); + }else { + tempItem.setAllowAsNotConsumedDb("N"); + } + + tempItem.setLotQuantityRule(tempMap.get("LOT_QUANTITY_RULE")); + tempItem.setSubLotRule(tempMap.get("SUB_LOT_RULE")); + tempItem.setComponentLotRule(tempMap.get("COMPONENT_LOT_RULE")); //添加对象 resultItems.add(tempItem); } diff --git a/src/main/java/com/spring/ifs/data/PartCatalog.java b/src/main/java/com/spring/ifs/data/PartCatalog.java index 8977b63c..42e107eb 100644 --- a/src/main/java/com/spring/ifs/data/PartCatalog.java +++ b/src/main/java/com/spring/ifs/data/PartCatalog.java @@ -1,5 +1,6 @@ package com.spring.ifs.data; +import java.math.BigDecimal; import java.util.Date; /** @@ -30,6 +31,8 @@ public class PartCatalog extends BaseIfsData { private String histType;// 类型 private String stdNameId;// private int status;// 状态 + private BigDecimal volumeNetNum; + private BigDecimal weightNetNum; public PartCatalog() { super(); @@ -194,4 +197,20 @@ public class PartCatalog extends BaseIfsData { public void setStatus(int status) { this.status = status; } + + public BigDecimal getVolumeNetNum() { + return volumeNetNum; + } + + public void setVolumeNetNum(BigDecimal volumeNetNum) { + this.volumeNetNum = volumeNetNum; + } + + public BigDecimal getWeightNetNum() { + return weightNetNum; + } + + public void setWeightNetNum(BigDecimal weightNetNum) { + this.weightNetNum = weightNetNum; + } } diff --git a/src/main/java/com/spring/modules/part/dao/impl/PartCatalogDaoImpl.java b/src/main/java/com/spring/modules/part/dao/impl/PartCatalogDaoImpl.java index cfb4bdd8..48186dd8 100644 --- a/src/main/java/com/spring/modules/part/dao/impl/PartCatalogDaoImpl.java +++ b/src/main/java/com/spring/modules/part/dao/impl/PartCatalogDaoImpl.java @@ -50,8 +50,12 @@ public class PartCatalogDaoImpl implements PartCatalogDao { @Override public void batchInsertPartCatalogs(List ifsPartCatalogs) { StringBuilder sql = new StringBuilder(); - sql.append("INSERT INTO part_catalog_cache(part_no, part_desc, ifs_row_id, ifs_row_version, status)"); - sql.append(" VALUES(:partNo, :partDesc, :ifsRowId, :ifsRowVersion, :status)"); + sql.append("INSERT INTO part_catalog_cache(part_no, part_desc, std_name_id, unit_code, lot_tracking_code, weight_net,"); + sql.append(" uom_for_weight_net, volume_net, uom_for_volume_net, part_main_group, condition_code_usage_db, multilevel_tracking_db, allow_as_not_consumed_db, lot_quantity_rule,"); + sql.append(" sub_lot_rule, component_lot_rule, ifs_row_id, ifs_row_version)"); + sql.append(" VALUES(:partNo, :partDesc, :stdNameId, :unitCode, :lotTrackingCode, :weightNetNum,"); + sql.append(" :uomForWeightNet, :volumeNetNum, :uomForVolumeNet, :partMainGroup, :conditionCodeUsageDb, :multilevelTrackingDb, :allowAsNotConsumedDb, :lotQuantityRule,"); + sql.append(" :subLotRule, :componentLotRule, :ifsRowId, :ifsRowVersion)"); parameterJdbcTemplate.batchUpdate(sql.toString(), SqlParameterSourceUtils.createBatch(ifsPartCatalogs.toArray())); } diff --git a/src/main/java/com/spring/modules/part/service/impl/PartServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/PartServiceImpl.java index 299537ab..fe5e5baa 100644 --- a/src/main/java/com/spring/modules/part/service/impl/PartServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/PartServiceImpl.java @@ -79,6 +79,6 @@ public class PartServiceImpl implements PartService { public void refreshPlmPartCatalogs() { List params = new ArrayList<>(); //调用存储过程 - procedureDao.execProduceData("refreshPlmPartCatalogs", params); + procedureDao.execProduceData("refreshPlmPartCatalogs", params); } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 6c653676..0cb227f6 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -124,6 +124,8 @@ collect: line2Value: 0 line3Value: 0 +#ifs远程服务器地址 ifs: target: - url: https://3hifstest.3hcorp.com:48080 \ No newline at end of file + #url: https://ekifststmwsw01.ccldesign.com:49080 + url: https://ekifsprdmws01.ccldesign.com:59080 \ No newline at end of file