|
@@ -304,38 +304,13 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
|
|
|
// 赋值产品编号
|
|
|
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, "")
|
|
|
- .eq(ProductInfo::getCompanyId, companyId)
|
|
|
- );
|
|
|
- if (count != 0) {
|
|
|
- throw new ServiceException("产品自定义编码重复");
|
|
|
- }
|
|
|
- // 排除不为空的条码编号重复
|
|
|
- long count1 = this.count(q -> q.eq(ProductInfo::getBarCode, productInfoDto.getBarCode())
|
|
|
- .ne(ProductInfo::getBarCode, "")
|
|
|
- .eq(ProductInfo::getCompanyId, companyId)
|
|
|
- );
|
|
|
- if (count1 != 0) {
|
|
|
- throw new ServiceException("产品条码编码重复");
|
|
|
- }
|
|
|
+
|
|
|
+ //检查产品信息
|
|
|
+ checkProductInfo(productInfoDto);
|
|
|
|
|
|
//操作ftp文件
|
|
|
editFtpFile(productInfoDto);
|
|
|
|
|
|
-// //保存原材料信息
|
|
|
-// saveOrEditRawMaterial(productInfoDto);
|
|
|
-
|
|
|
this.save(productInfoDto);
|
|
|
ObsFileUtil.saveFile(productInfoDto.getFileList(), productInfoDto.getId());
|
|
|
ObsFileUtil.saveFile(productInfoDto.getProdFileList(), productInfoDto.getId(), 2);
|
|
@@ -360,23 +335,9 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
public void edit(ProductInfoDto productInfoDto) {
|
|
|
// 禁止产品编号修改
|
|
|
productInfoDto.setCode(null);
|
|
|
- //检查【产品名称】和【规格型号】不能同时重复,但可以单项重复。
|
|
|
- long nameAndSpecCount = this.count(q -> q
|
|
|
- .ne(ProductInfo::getId, productInfoDto.getId())
|
|
|
- .eq(ProductInfo::getName, productInfoDto.getName())
|
|
|
- .eq(ProductInfo::getSpec, productInfoDto.getSpec())
|
|
|
- );
|
|
|
- if (nameAndSpecCount != 0) {
|
|
|
- throw new ServiceException("同名称同规格的产品已存在");
|
|
|
- }
|
|
|
- // 排除不为空的自定义编码重复
|
|
|
- long count = this.count(q -> q
|
|
|
- .ne(ProductInfo::getId, productInfoDto.getId())
|
|
|
- .eq(ProductInfo::getCustomCode, productInfoDto.getCustomCode())
|
|
|
- .ne(ProductInfo::getCustomCode, ""));
|
|
|
- if (count != 0) {
|
|
|
- throw new ServiceException("产品自定义编码重复");
|
|
|
- }
|
|
|
+
|
|
|
+ //检查产品信息
|
|
|
+ checkProductInfo(productInfoDto);
|
|
|
|
|
|
//操作ftp文件
|
|
|
editFtpFile(productInfoDto);
|
|
@@ -404,6 +365,45 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
saveOrEditCustomInfo(productInfoDto);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 检查产品信息
|
|
|
+ */
|
|
|
+ private synchronized void checkProductInfo(ProductInfoDto dto) {
|
|
|
+ //检查【产品名称】和【规格型号】不能同时重复,但可以单项重复。
|
|
|
+ long nameAndSpecCount = this.count(q -> q
|
|
|
+ .ne(ObjectUtil.isNotEmpty(dto.getId()), ProductInfo::getId, dto.getId())
|
|
|
+ .eq(ProductInfo::getName, dto.getName())
|
|
|
+ .eq(ProductInfo::getLength, dto.getLength())
|
|
|
+ .eq(ProductInfo::getWidth, dto.getWidth())
|
|
|
+ .eq(ProductInfo::getHeight, dto.getHeight())
|
|
|
+ .eq(ProductInfo::getColor, dto.getColor())
|
|
|
+ .eq(ProductInfo::getCustomCode, dto.getCustomCode())
|
|
|
+ );
|
|
|
+ if (nameAndSpecCount != 0) {
|
|
|
+ throw new ServiceException("同名称同规格的产品已存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 排除不为空的自定义编码重复
|
|
|
+ long count = this.count(q -> q
|
|
|
+ .ne(ObjectUtil.isNotEmpty(dto.getId()), ProductInfo::getId, dto.getId())
|
|
|
+ .eq(ProductInfo::getCustomCode, dto.getCustomCode())
|
|
|
+ .ne(ProductInfo::getCustomCode, ""));
|
|
|
+ if (count != 0) {
|
|
|
+ throw new ServiceException("产品自定义编码重复");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 排除不为空的条码编号重复
|
|
|
+ long count1 = this.count(q -> q
|
|
|
+ .ne(ObjectUtil.isNotEmpty(dto.getId()), ProductInfo::getId, dto.getId())
|
|
|
+ .eq(ProductInfo::getBarCode, dto.getBarCode())
|
|
|
+ .ne(ProductInfo::getBarCode, "")
|
|
|
+ );
|
|
|
+ if (count1 != 0) {
|
|
|
+ throw new ServiceException("产品条码编码重复");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 保存产品定制信息
|
|
|
*/
|