|
@@ -234,23 +234,36 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
@DSTransactional
|
|
|
@Override
|
|
|
public void add(ProductInfoDto productInfoDto) {
|
|
|
+ //赋值产品归属公司
|
|
|
+ if (ObjectUtil.isEmpty(productInfoDto.getCompanyId())) {
|
|
|
+ productInfoDto.setCountryId(SecurityUtils.getCompanyId());
|
|
|
+ }
|
|
|
+ Long companyId = productInfoDto.getCompanyId();
|
|
|
+
|
|
|
// 赋值产品编号
|
|
|
productInfoDto.setCode(CodeEnum.PRODUCT.getCode());
|
|
|
//检查【产品名称】和【规格型号】不能同时重复,但可以单项重复。
|
|
|
long nameAndSpecCount = this.count(q -> q
|
|
|
.eq(ProductInfo::getName, productInfoDto.getName())
|
|
|
.eq(ProductInfo::getSpec, productInfoDto.getSpec())
|
|
|
+ .eq(ProductInfo::getCompanyId, companyId)
|
|
|
);
|
|
|
if (nameAndSpecCount != 0) {
|
|
|
throw new ServiceException("同名称同规格的产品已存在");
|
|
|
}
|
|
|
// 排除不为空的自定义编码重复
|
|
|
- long count = this.count(q -> q.eq(ProductInfo::getCustomCode, productInfoDto.getCustomCode()).ne(ProductInfo::getCustomCode, ""));
|
|
|
+ long count = this.count(q -> q.eq(ProductInfo::getCustomCode, productInfoDto.getCustomCode())
|
|
|
+ .ne(ProductInfo::getCustomCode, "")
|
|
|
+ .eq(ProductInfo::getCompanyId, companyId)
|
|
|
+ );
|
|
|
if (count != 0) {
|
|
|
throw new ServiceException("产品自定义编码重复");
|
|
|
}
|
|
|
// 排除不为空的条码编号重复
|
|
|
- long count1 = this.count(q -> q.eq(ProductInfo::getBarCode, productInfoDto.getBarCode()).ne(ProductInfo::getBarCode, ""));
|
|
|
+ long count1 = this.count(q -> q.eq(ProductInfo::getBarCode, productInfoDto.getBarCode())
|
|
|
+ .ne(ProductInfo::getBarCode, "")
|
|
|
+ .eq(ProductInfo::getCompanyId, companyId)
|
|
|
+ );
|
|
|
if (count1 != 0) {
|
|
|
throw new ServiceException("产品条码编码重复");
|
|
|
}
|
|
@@ -258,12 +271,6 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
//操作ftp文件
|
|
|
editFtpFile(productInfoDto);
|
|
|
|
|
|
- //赋值产品归属公司
|
|
|
- Long companyId = productInfoDto.getCompanyId();
|
|
|
- if (ObjectUtil.isEmpty(companyId)) {
|
|
|
- productInfoDto.setCountryId(SecurityUtils.getCompanyId());
|
|
|
- }
|
|
|
-
|
|
|
this.save(productInfoDto);
|
|
|
ObsFileUtil.saveFile(productInfoDto.getFileList(), productInfoDto.getId());
|
|
|
}
|