diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java index 5cd096c5..efad7653 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java @@ -15,6 +15,7 @@ import com.nflg.product.bomnew.pojo.vo.*; import com.nflg.product.bomnew.service.DQBomImportService; import com.nflg.product.bomnew.service.DQBomService; import com.nflg.product.bomnew.util.EecExcelUtil; +import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import nflg.product.common.vo.ResultVO; @@ -139,7 +140,7 @@ public class DQBomApi extends BaseApi { @PostMapping("checkException") @ApiOperation("异常检查") public ResultVO checkException(@Valid @RequestBody @NotEmpty List bomRowIds) { - dQBomService.checkException(bomRowIds.get(0)); + bomRowIds.forEach(dQBomService::checkException); return ResultVO.success(); } @@ -151,7 +152,7 @@ public class DQBomApi extends BaseApi { @PostMapping("deleteBom") @ApiOperation("删除bom") public ResultVO deleteBom(@Valid @RequestBody @NotEmpty List rootBomRowIds) { - dQBomService.deleteBom(rootBomRowIds.get(0)); + rootBomRowIds.forEach(dQBomService::deleteBom); return ResultVO.success(); } @@ -163,6 +164,7 @@ public class DQBomApi extends BaseApi { @PostMapping("exportBom") @ApiOperation("导出bom") public void exportBom(@Valid @RequestBody @NotEmpty List rootBomRowIds, HttpServletResponse response) throws IOException { + VUtils.isTure(rootBomRowIds.size() > 1).throwMessage("每次只能导出1条"); List data = dQBomService.exportBom(rootBomRowIds.get(0)); EecExcelUtil.export(response, data, DQbomExcelVO.class, "电气专用bom"); } @@ -175,7 +177,7 @@ public class DQBomApi extends BaseApi { @PostMapping("convertToPbom") @ApiOperation("生成pbom") public ResultVO convertToPbom(@Valid @RequestBody @NotEmpty List rootBomRowIds) { - dQBomService.convertToPbom(rootBomRowIds.get(0)); + rootBomRowIds.forEach(dQBomService::convertToPbom); return ResultVO.success(); } @@ -211,6 +213,7 @@ public class DQBomApi extends BaseApi { @PostMapping("importToSAP") @ApiOperation("导入到SAP") public ResultVO importToSAP(@Valid @RequestBody @NotEmpty List rootBomRowIds) { + VUtils.isTure(rootBomRowIds.size() > 1).throwMessage("每次只能导入1条"); return dQBomService.importToSAP(rootBomRowIds.get(0)); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java index 1780e572..d9c5fcc3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomApi.java @@ -31,6 +31,8 @@ import org.ttzero.excel.entity.Workbook; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; import java.io.IOException; import java.util.List; import java.util.Objects; @@ -450,5 +452,15 @@ public class EbomApi extends BaseApi { return ResultVO.success(); } - + /** + * 导入到SAP + * @param rootBomRowIds 顶级bom的rowId + * @return + */ + @PostMapping("importToSAP") + @ApiOperation("导入到SAP") + public ResultVO importToSAP(@Valid @RequestBody @NotEmpty List rootBomRowIds) { + VUtils.isTure(rootBomRowIds.size() > 1).throwMessage("每次只能导入1条"); + return bomNewEbomParentService.importToSAP(rootBomRowIds.get(0)); + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewEbomParentEntity.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewEbomParentEntity.java index 68c9abf4..ece90393 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewEbomParentEntity.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewEbomParentEntity.java @@ -1,19 +1,17 @@ package com.nflg.product.bomnew.pojo.entity; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - -import java.io.Serializable; - import lombok.Data; import lombok.experimental.Accessors; +import java.io.Serializable; +import java.math.BigDecimal; import java.time.LocalDateTime; -import java.time.LocalDate; /** * t_bom_new_ebom_parent @@ -365,5 +363,19 @@ public class BomNewEbomParentEntity implements Serializable { @ApiModelProperty(value = "待复核根节点") private Integer rootIsForWaitReview; + /** + * 导入SAP状态,1-未导入;3-已导入 + */ + @TableField(value = "sap_state") + @ApiModelProperty(value = "导入SAP状态,1-未导入;3-已导入") + private Integer sapState; + + /** + * 导入SAP时间 + */ + @TableField(value = "sap_time") + @ApiModelProperty(value = "导入SAP时间") + private LocalDateTime sapTime; + private static final long serialVersionUID = 265246823929418418L; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java index 6063cd52..69e7f056 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java @@ -130,7 +130,8 @@ public class BomNewDQbomExceptionCheckService { // } else if (parent.getMaterialNo().startsWith(BomConstant.NO_TEMPORARY_PREFIX)) { // status = EBomExceptionStatusEnum.EXCEPT_NO_4; } else { - BaseMaterialVO materialVO = materialVOS.stream().filter(v -> v.getMaterialNo().equals(parent.getMaterialNo())) + BaseMaterialVO materialVO = materialVOS.stream() + .filter(v -> v.getMaterialNo().equals(parent.getMaterialNo())) .findFirst() .orElse(null); if (materialVO == null) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index d3d9609b..079d9d91 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -4,11 +4,10 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.lang.TypeReference; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.*; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -23,6 +22,8 @@ import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.mapper.master.BomNewEbomParentMapper; import com.nflg.product.bomnew.pojo.dto.*; +import com.nflg.product.bomnew.pojo.dto.sap.impart2.ImportSapParamDTO; +import com.nflg.product.bomnew.pojo.dto.sap.impart2.T1DTO; import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.query.BomNewEbomMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewEbomParentQuery; @@ -46,6 +47,7 @@ import java.io.OutputStream; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; @@ -626,14 +628,14 @@ public class BomNewEbomParentService extends ServiceImpl list, List unCheckList) { - CheckEBomException checkEBomException = new CheckEBomException(list); - checkEBomException.setUnCheckExcept(unCheckList); - checkEBomException.checkException(); - - //保存异常 - saveException(checkEBomException); - } + // public void checkBomException(List list, List unCheckList) { + // CheckEBomException checkEBomException = new CheckEBomException(list); + // checkEBomException.setUnCheckExcept(unCheckList); + // checkEBomException.checkException(); + // + // //保存异常 + // saveException(checkEBomException); + // } /** @@ -921,6 +923,69 @@ public class BomNewEbomParentService extends ServiceImpl { + importToSAP(bomRowId); + }); + } + } + + public ResultVO importToSAP(Long bomRowId) { + BomNewEbomParentEntity root = this.getById(bomRowId); + VUtils.isTure(Objects.isNull(root)).throwMessage("数据不存在"); + VUtils.isTure(root.getRootIs() != 1).throwMessage("请选择根节点"); + + ImportSapParamDTO sapDto = new ImportSapParamDTO(); + sapDto.setZID(RandomUtil.randomNumbers(5)); + sapDto.setI_WERKS(FactoryCodeEnum.FACTORY_1010.getValue()); + sapDto.setI_STLAN("2"); + String dateYMD = DateUtil.format(new Date(), "yyyyMMdd"); + List t1s = new ArrayList<>(); + T1DTO troot = new T1DTO(); + troot.setID(RandomUtil.randomNumbers(5)); + troot.setMATNR(""); + troot.setIDNRK(root.getMaterialNo()); + troot.setMEINS(root.getMaterialUnit()); + troot.setMENGE("1"); + troot.setPOSTP(""); + troot.setDATUM(dateYMD); + t1s.add(troot); + buildChildrenForSap(root, t1s); + sapDto.setT1(t1s); + ResultVO resultVO = SpringUtil.getBean(SapOpUtilService.class).importToSapV2(sapDto, null); + if (resultVO.getState().equals(STATE.Success.getState())) { + BomNewEbomParentEntity parentEntity = new BomNewEbomParentEntity(); + parentEntity.setRowId(bomRowId); + parentEntity.setSapState(MBomConstantEnum.MBomStatusEnum.PUB_SAP.getValue()); + parentEntity.setSapTime(LocalDateTimeUtil.now()); + updateById(parentEntity); + } + return resultVO; + } + + private void buildChildrenForSap(BomNewEbomParentEntity parent, List t1s) { + List children = ebomChildService.lambdaQuery() + .eq(BomNewEbomChildEntity::getParentRowId, parent.getRowId()) + .list(); + if (CollUtil.isNotEmpty(children)) { + String dateYMD = DateUtil.format(new Date(), "yyyyMMdd"); + children.forEach(c -> { + T1DTO t1 = new T1DTO(); + t1.setID(RandomUtil.randomNumbers(5)); + t1.setMATNR(parent.getMaterialNo()); + t1.setIDNRK(c.getMaterialNo()); + t1.setMEINS(c.getMaterialUnit()); + t1.setMENGE(c.getNum().toString()); + t1.setPOSTP(c.getProjectType()); + t1.setDATUM(dateYMD); + t1s.add(t1); + BomNewEbomParentEntity cp = lambdaQuery() + .eq(BomNewEbomParentEntity::getMaterialNo, c.getMaterialNo()) + .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) + .one(); + if (!Objects.isNull(cp)) { + buildChildrenForSap(cp, t1s); + } + }); } } @@ -1683,10 +1748,10 @@ public class BomNewEbomParentService extends ServiceImpl rowIds = eBomDel.getRevertOBom().stream().map(BomNewEbomParentVO::getSourceRowId).collect(Collectors.toList()); - SpringUtil.getBean(BomNewOriginalParentService.class).revertBom(rowIds); - } + // if (CollectionUtil.isNotEmpty(eBomDel.getRevertOBom())) { + // List rowIds = eBomDel.getRevertOBom().stream().map(BomNewEbomParentVO::getSourceRowId).collect(Collectors.toList()); + // SpringUtil.getBean(BomNewOriginalParentService.class).revertBom(rowIds); + // } if (CollectionUtil.isNotEmpty(eBomDel.getDelEBom())) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java index 5b33de0b..eeb5ab68 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomImportService.java @@ -381,6 +381,10 @@ public class DQBomImportService { dQbomExcelVO.setNum(BigDecimal.ONE); } } + if (StrUtil.equals(dQbomExcelVO.getMaterialNo(), "9000000000")) { + dQbomExcelVO.setProjectType("T"); + } + dQbomExcelVO.setCurrentVersion(""); excelContextTL.get().add(dQbomExcelVO); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java index 9237d0a1..6adfb1a4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java @@ -224,8 +224,9 @@ public class DQBomService { if (Objects.isNull(query.getParent()) || query.getParent().getBomRowId() == 0) { //新增父级节点 - BomNewDQbomParentEntity oldParent = dQBomParentService.lambdaQuery().eq(BomNewDQbomParentEntity::getMaterialNo, query.getParent().getMaterialNo()) - .eq(BomNewDQbomParentEntity::getLastVersionIs, 1) + BomNewDQbomParentEntity oldParent = dQBomParentService.lambdaQuery() + .eq(BomNewDQbomParentEntity::getMaterialNo, query.getParent().getMaterialNo()) + .eq(BomNewDQbomParentEntity::getStatus, DQBomStatusEnum.WAIT_CONVERT.getValue()) .one(); VUtils.isTure(oldParent != null && !oldParent.getCreatedBy().equals(SessionUtil.getUserCode())) .throwMessage("父级已被其他人创建"); @@ -380,7 +381,7 @@ public class DQBomService { t1.setMATNR(d.getParentMaterialNo()); t1.setIDNRK(d.getMaterialNo()); t1.setMEINS(d.getMaterialUnit()); - t1.setMENGE("1"); + t1.setMENGE(d.getNum().toString()); t1.setPOSTP(d.getProjectType()); t1.setDATUM(dateYMD); t1s.add(t1); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/MaterialMainService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/MaterialMainService.java index 2796ee78..0dc86b18 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/MaterialMainService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/MaterialMainService.java @@ -19,6 +19,7 @@ import com.nflg.product.bomnew.util.VUtils; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.function.BiConsumer; @@ -108,12 +109,14 @@ public class MaterialMainService extends ServiceImpl void intiMaterialInfo(List data , String ... ignorePropertyList) { + public List intiMaterialInfo(List data, String... ignorePropertyList) { List materialNos = data.stream().map(BaseMaterialVO::getMaterialNo).filter(StrUtil::isNotBlank).collect(Collectors.toList()); if (CollUtil.isNotEmpty(materialNos)) { List materialBaseInfos = SpringUtil.getBean(MaterialMainService.class).getMaterialBaseInfo(materialNos); intiMaterialInfo(data, materialBaseInfos, ignorePropertyList); + return materialBaseInfos; } + return Collections.emptyList(); } public void intiMaterialInfo(List data ,List materialBaseInfos, String ... ignorePropertyList) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java index 68deccdf..95f69909 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java @@ -14,10 +14,7 @@ import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.service.BomNewEbomParentService; import com.nflg.product.bomnew.service.MaterialMainService; -import com.nflg.product.bomnew.util.BomLevelUtil; -import com.nflg.product.bomnew.util.ListCommonUtil; -import com.nflg.product.bomnew.util.TreeUtils; -import com.nflg.product.bomnew.util.VUtils; +import com.nflg.product.bomnew.util.*; import lombok.Getter; import lombok.Setter; import nflg.product.common.constant.STATE; @@ -88,28 +85,27 @@ public class CheckEBomException { */ public void initException() { //初始化物料信息 - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); + List materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); - checkException(); + checkException(materialBaseInfo); } public void initException(List unCheckException) { //初始化物料信息 - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); + List materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); this.unCheckExcept=unCheckException; - checkException(); + checkException(materialBaseInfo); } public void initException(String... ignorePropertyList) { - - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, ignorePropertyList); - checkException(); + List materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, ignorePropertyList); + checkException(materialBaseInfo); } - public void checkException() { + public void checkException(List materialBaseInfo) { for (BomNewEbomParentVO vo : allBomDetail) { // if(Objects.isNull(vo.getExceptionStatus())) { //忽略不检查的如14 @@ -118,7 +114,10 @@ public class CheckEBomException { && unCheckExcept.contains(vo.getExceptionStatus())) { continue; } - + BaseMaterialVO mainVO = materialBaseInfo.stream() + .filter(u -> StrUtil.equals(u.getMaterialNo(), vo.getMaterialNo())) + .findFirst() + .orElse(null); vo.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue()); // } if (StrUtil.isNotBlank(vo.getMaterialNo()) @@ -132,6 +131,9 @@ public class CheckEBomException { } else if (StrUtil.isBlank(vo.getProjectType()) && !Objects.equals(vo.getRootIs(), 1) && !Objects.equals(vo.getUserRootIs(), 1) && !Objects.equals(vo.getRootIsForWaitReview(), 1)) { vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_8.getValue()); + } else if ((StrUtil.equals("KG", StringUtil.toUpperCase(vo.getMaterialUnit())) && !StrUtil.equals(StringUtil.toUpperCase(vo.getMaterialUnit()), "PC")) + || (!Objects.isNull(mainVO) && !StrUtil.equals(vo.getMaterialUnit(), mainVO.getMaterialUnit()))) { + vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_12.getValue()); } else if (StrUtil.isNotBlank(vo.getNoticeNums()) && EBomExceptionStatusEnum.EXCEPT_NO_11.equalsValue(vo.getExceptionStatus())) { vo.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue()); } @@ -158,11 +160,15 @@ public class CheckEBomException { for (String key : childMaterialMap.keySet()) { List materialGroupList = childMaterialMap.get(key); if (materialGroupList.size() > 1) { - materialGroupList.forEach(u -> { - u.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_6.getValue()); + Map> m2 = ListCommonUtil.listGroupMap(materialGroupList, BomNewEbomParentVO::getProjectType); + m2.forEach((mk, mv) -> { + if (mv.size() > 1) { + mv.forEach(u -> { + u.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_6.getValue()); + }); + } }); } - } if (ProjectTypeInputTypeEnum.ProjectTypeEnum.TYPE_Q.getValue().equals(parent.getProjectType())) { List qList = child.stream().filter(u -> ProjectTypeInputTypeEnum.ProjectTypeEnum.TYPE_Q.getValue().equals(u.getProjectType())).collect(Collectors.toList()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/StringUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/StringUtil.java index 3bcdf746..bf9642bd 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/StringUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/StringUtil.java @@ -1,5 +1,6 @@ package com.nflg.product.bomnew.util; +import cn.hutool.core.util.StrUtil; import org.apache.commons.lang3.StringUtils; /** @@ -134,4 +135,9 @@ public class StringUtil { } return count; } + + public static String toUpperCase(String str) { + if (StrUtil.isBlank(str)) return str; + return str.toUpperCase(); + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewEbomParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewEbomParentMapper.xml index abf2eb34..b3043205 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewEbomParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewEbomParentMapper.xml @@ -384,15 +384,15 @@