|
@@ -16,6 +16,7 @@ import com.fjhx.common.constant.SourceConstant;
|
|
|
import com.fjhx.common.entity.AvailableStockBo;
|
|
|
import com.fjhx.common.service.file.FtpFileService;
|
|
|
import com.fjhx.common.service.file.impl.FtpFileServiceImpl;
|
|
|
+import com.fjhx.common.utils.Assert;
|
|
|
import com.fjhx.file.entity.FileInfoVo;
|
|
|
import com.fjhx.file.utils.ObsFileUtil;
|
|
|
import com.fjhx.item.entity.product.ProcessesBo;
|
|
@@ -23,12 +24,14 @@ import com.fjhx.item.entity.product.bo.ProductAnalysisBo;
|
|
|
import com.fjhx.item.entity.product.bo.ProductExcelExportBo;
|
|
|
import com.fjhx.item.entity.product.dto.ProductInfoDto;
|
|
|
import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
|
|
|
+import com.fjhx.item.entity.product.po.ProductBomDetail;
|
|
|
import com.fjhx.item.entity.product.po.ProductClassify;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.entity.product.po.ProductStockInfo;
|
|
|
import com.fjhx.item.entity.product.vo.ProductInfoVo;
|
|
|
import com.fjhx.item.enums.ProductAvailableRecordType;
|
|
|
import com.fjhx.item.mapper.product.ProductInfoMapper;
|
|
|
+import com.fjhx.item.service.product.ProductBomDetailService;
|
|
|
import com.fjhx.item.service.product.ProductClassifyService;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.item.service.product.ProductStockInfoService;
|
|
@@ -86,6 +89,8 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
private ISysDeptService sysDeptService;
|
|
|
@Autowired
|
|
|
private ProductStockInfoService productStockInfoService;
|
|
|
+ @Autowired
|
|
|
+ private ProductBomDetailService productBomDetailService;
|
|
|
|
|
|
|
|
|
@Override
|
|
@@ -271,6 +276,9 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
this.save(productInfoDto);
|
|
|
ObsFileUtil.saveFile(productInfoDto.getFileList(), productInfoDto.getId());
|
|
|
ObsFileUtil.saveFile(productInfoDto.getProdFileList(), productInfoDto.getId(), 2);
|
|
|
+
|
|
|
+ //保存原材料信息
|
|
|
+ saveOrEditRawMaterial(productInfoDto);
|
|
|
}
|
|
|
|
|
|
@DSTransactional
|
|
@@ -308,6 +316,36 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
|
|
|
this.updateById(productInfoDto);
|
|
|
ObsFileUtil.editFile(productInfoDto.getFileList(), productInfoDto.getId());
|
|
|
ObsFileUtil.editFile(productInfoDto.getProdFileList(), productInfoDto.getId(), 2);
|
|
|
+
|
|
|
+ //修改原材料
|
|
|
+ saveOrEditRawMaterial(productInfoDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存修改原材料
|
|
|
+ */
|
|
|
+ private void saveOrEditRawMaterial(ProductInfoDto productInfoDto) {
|
|
|
+ Long rawMaterialId = productInfoDto.getRawMaterialId();
|
|
|
+
|
|
|
+ //非产品跳过
|
|
|
+ if (ObjectUtil.notEqual(productInfoDto.getDefinition(), 1)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Assert.notEmpty(rawMaterialId, "原材料ID不能为空!");
|
|
|
+
|
|
|
+ //保存原材料信息
|
|
|
+ ProductBomDetail productBomDetail = productBomDetailService.getOne(q -> q
|
|
|
+ .eq(ProductBomDetail::getProductId, productInfoDto.getId())
|
|
|
+ .eq(ProductBomDetail::getType, 1)
|
|
|
+ );
|
|
|
+ if (ObjectUtil.isEmpty(productBomDetail)) {
|
|
|
+ productBomDetail = new ProductBomDetail();
|
|
|
+ productBomDetail.setProductId(productInfoDto.getId());
|
|
|
+ productBomDetail.setType(1);
|
|
|
+ productBomDetail.setQuantity(BigDecimal.ONE);
|
|
|
+ productBomDetail.setMaterialId(rawMaterialId);
|
|
|
+ }
|
|
|
+ productBomDetailService.saveOrUpdate(productBomDetail);
|
|
|
}
|
|
|
|
|
|
@DSTransactional
|