物料导入分类问题解决
This commit is contained in:
+26
@@ -1,6 +1,7 @@
|
||||
package com.mhd.basic.domain.materialClassify.service;
|
||||
|
||||
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.mhd.basic.domain.materialClassify.entity.MaterialClassify;
|
||||
@@ -12,6 +13,7 @@ import com.mhd.common.core.utils.StringUtils;
|
||||
import com.mhd.common.security.utils.SecurityUtils;
|
||||
import com.mhd.system.api.model.LoginUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -157,5 +159,29 @@ public class MaterialClassifyDomainService {
|
||||
.in(MaterialClassify::getMaterialClassifyId, Arrays.asList(materialClassifyIds)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 物料主数据导入:在指定组织下按分类编码/名称/名称路径精确匹配一条有效分类,用于回填物料分类编码。
|
||||
*/
|
||||
public MaterialClassifyPO matchByKeywordForImport(String keyword, Long organizationId) {
|
||||
if (StringUtils.isEmpty(keyword) || organizationId == null) {
|
||||
return null;
|
||||
}
|
||||
String kw = keyword.trim();
|
||||
List<MaterialClassify> list = materialClassifyService.list(new LambdaQueryWrapper<MaterialClassify>()
|
||||
.eq(MaterialClassify::getOrganizationId, organizationId)
|
||||
.eq(MaterialClassify::getDelFlag, 1)
|
||||
.and(n -> n.isNull(MaterialClassify::getNullify).or().eq(MaterialClassify::getNullify, 1))
|
||||
.and(w -> w.eq(MaterialClassify::getCode, kw)
|
||||
.or().eq(MaterialClassify::getName, kw)
|
||||
.or().eq(MaterialClassify::getNamePath, kw))
|
||||
.orderByDesc(MaterialClassify::getLevel)
|
||||
.last("limit 1"));
|
||||
if (list == null || list.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
MaterialClassifyPO po = new MaterialClassifyPO();
|
||||
BeanUtils.copyProperties(list.get(0), po);
|
||||
return po;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user