Bläddra i källkod

一键删除包材

24282 1 år sedan
förälder
incheckning
be884e6165

+ 9 - 0
sd-business/src/main/java/com/sd/business/controller/sku/SkuController.java

@@ -102,4 +102,13 @@ public class SkuController {
         skuService.replacePackagingMaterial(dto);
     }
 
+    /**
+     * 删除包材
+     */
+    @PostMapping("/removePackagingMaterial")
+    public void removePackagingMaterial(@Validated @RequestBody ReplacePackagingMaterialDto dto) {
+        skuService.removePackagingMaterial(dto);
+    }
+
+
 }

+ 5 - 0
sd-business/src/main/java/com/sd/business/service/sku/SkuService.java

@@ -64,4 +64,9 @@ public interface SkuService extends BaseService<Sku> {
      */
     void replacePackagingMaterial(ReplacePackagingMaterialDto dto);
 
+    /**
+     * 删除包材
+     */
+    void removePackagingMaterial(ReplacePackagingMaterialDto dto);
+
 }

+ 19 - 0
sd-business/src/main/java/com/sd/business/service/sku/impl/SkuServiceImpl.java

@@ -447,6 +447,25 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuSe
 
     }
 
+    @Override
+    public void removePackagingMaterial(ReplacePackagingMaterialDto dto) {
+
+        if (StrUtil.isBlank(dto.getBomSpecCode())) {
+            throw new ServiceException("bom规格不能为空");
+        }
+
+        BomSpec bomSpec = bomSpecService.getOne(q -> q.eq(BomSpec::getCode, dto.getBomSpecCode()));
+        if (bomSpec == null) {
+            throw new ServiceException("未找到对应的bom规格");
+        }
+
+        skuSpecLinkService.remove(q -> q
+                .eq(SkuSpecLink::getBomSpecId, bomSpec.getId())
+                .eq(SkuSpecLink::getDepartmentId, SecurityUtils.getDeptId())
+                .eq(SkuSpecLink::getType, 1));
+
+    }
+
     private IWrapper<Object> getReplaceWrapper(GetReplaceMaterialListDto dto) {
 
         Assert.notNull(dto.getType(), "sku类型不能为空");