|
@@ -123,8 +123,48 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
|
|
|
@Override
|
|
|
public Page<ProductInfoVo> getPageByWdly(ProductInfoSelectDto dto) {
|
|
|
- Page<ProductInfoVo> page = getPage(dto);
|
|
|
+ IWrapper<ProductInfo> wrapper = getWrapper();
|
|
|
+ wrapper.orderByDesc("pi", ProductInfo::getId);
|
|
|
+ wrapper.eq("pi", ProductInfo::getType, dto.getType());
|
|
|
+ wrapper.eq("pi", ProductInfo::getDefinition, dto.getDefinition());
|
|
|
+ wrapper.eq("pi", ProductInfo::getProductClassifyId, dto.getProductClassifyId());
|
|
|
+ wrapper.keyword(dto,
|
|
|
+ new SqlField("pi", ProductInfo::getName),
|
|
|
+ new SqlField("pi", ProductInfo::getCustomCode)
|
|
|
+ );
|
|
|
+ //计算并根据生命周期过滤
|
|
|
+ wrapper.eq("IF(DATEDIFF(now(),pi.create_time)> json_unquote( victoriatourist_json -> '$.growUpDay' ),3,IF( DATEDIFF(now(),pi.create_time)> json_unquote( victoriatourist_json -> '$.newProductsDay' ), 2, 1 ))", dto.getLifeCycle());
|
|
|
+ wrapper.eq("json_unquote( victoriatourist_json -> '$.combination' )", dto.getCombination());
|
|
|
+ Page<ProductInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+
|
|
|
List<ProductInfoVo> records = page.getRecords();
|
|
|
+
|
|
|
+ if (records.size() == 0) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<ProductClassify> productClassifyList = productClassifyService.list();
|
|
|
+ Map<Long, ProductClassify> productClassifyMap = productClassifyList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
|
|
|
+
|
|
|
+ for (ProductInfoVo record : records) {
|
|
|
+ Long productClassifyId = record.getProductClassifyId();
|
|
|
+ ProductClassify productClassify = productClassifyMap.get(productClassifyId);
|
|
|
+ if (productClassify == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ record.setClassifyName(productClassify.getName());
|
|
|
+
|
|
|
+ List<String> classifyNameGroup = new ArrayList<>();
|
|
|
+
|
|
|
+ while (productClassify != null) {
|
|
|
+ classifyNameGroup.add(0, productClassify.getName());
|
|
|
+ productClassify = productClassifyMap.get(productClassify.getParentId());
|
|
|
+ }
|
|
|
+ record.setClassifyNameGroup(classifyNameGroup);
|
|
|
+
|
|
|
+ }
|
|
|
+//--------------------------------------------------
|
|
|
//赋值维多利亚扩展部门名称
|
|
|
List<Long> ids = new ArrayList<>();
|
|
|
for (ProductInfoVo record : records) {
|
|
@@ -238,6 +278,8 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
productInfoDto.setCode(CodeEnum.PRODUCT.getCode());
|
|
|
// 排除名称重复
|
|
|
this.nameDuplication(ProductInfo::getName, productInfoDto.getName(), "产品名称重复");
|
|
|
+ // 排除自定义编码重复
|
|
|
+ this.nameDuplication(ProductInfo::getCustomCode, productInfoDto.getCustomCode(), "产品自定义编码重复");
|
|
|
this.save(productInfoDto);
|
|
|
ObsFileUtil.saveFile(productInfoDto.getFileList(), productInfoDto.getId());
|
|
|
}
|
|
@@ -327,7 +369,7 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
//产品分类名称转id
|
|
|
ProductClassify productClassify = productClassifyService.getOne(q -> q.eq(ProductClassify::getName, productInfoEhsdExcel.getProductClassifyName()));
|
|
|
if (ObjectUtil.isEmpty(productClassify)) {
|
|
|
- throw new ServiceException("未知产品分类"+ productInfoEhsdExcel.getProductClassifyName());
|
|
|
+ throw new ServiceException("未知产品分类" + productInfoEhsdExcel.getProductClassifyName());
|
|
|
}
|
|
|
productInfo.setProductClassifyId(productClassify.getId());
|
|
|
//单位名称转字典key
|