From a64798c6838d64ead51f03149b486bfa994c740c Mon Sep 17 00:00:00 2001
From: xqs <ddxk91@qq.com>
Date: Thu, 10 Oct 2019 10:38:05 +0800
Subject: [PATCH] 调整主单增加删除

---
 src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java |  1 -
 src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java   |  2 +-
 src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java |  2 +-
 src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java       |  2 +-
 src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java   | 30 +++++++++++++++++++-----------
 5 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
index 5894b24..fab073e 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/controller/adjustDetailController.java
@@ -211,7 +211,6 @@ public class adjustDetailController extends BaseController {
             return AjaxResult.error("单据状态不允许删除");
         }
         adjustDetailService.removeById(id);
-
         return AjaxResult.success("删除成功!");
     }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
index efefe05..de35612 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustDetail/service/AdjustDetailServiceImpl.java
@@ -157,7 +157,7 @@ public class AdjustDetailServiceImpl extends ServiceImpl<AdjustDetailMapper, Adj
             AjaxResult.error("该单据已调整,不允许再次调整!" );
         }
         //查询调整的库存明细
-        InventoryDetail inventoryDetail = new InventoryDetail();
+        InventoryDetail inventoryDetail ;
         //调整单中不带库存明细时不查询
         if(adjustDetail.getInventoryDetailId() != null) {
             inventoryDetail = inventoryDetailService.getById(adjustDetail.getInventoryDetailId());
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
index 6c8b285..b8fe927 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/controller/adjustHeaderController.java
@@ -124,7 +124,7 @@ public class adjustHeaderController extends BaseController {
             return AjaxResult.error("id不能为空");
         for (Integer id : Convert.toIntArray(ids))
         {
-            AjaxResult result = adjustHeaderService.delete(id);
+            AjaxResult result = adjustHeaderService.deleteHeader(id);
             if(result.code!=200){
                 return result;
             }
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java
index 4c4635c..3b2e13e 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderService.java
@@ -11,7 +11,7 @@ public interface AdjustHeaderService extends IService<AdjustHeader> {
 
     String createCode();
 
-    AjaxResult delete(Integer id);
+    AjaxResult deleteHeader(Integer id);
 
     AjaxResult addSave(AdjustHeader adjustHeader);
 
diff --git a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java
index 06123bc..2ecae01 100644
--- a/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/adjustHeader/service/AdjustHeaderServiceImpl.java
@@ -1,9 +1,13 @@
 package com.huaheng.pc.inventory.adjustHeader.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.pc.config.warehouse.domain.Warehouse;
 import com.huaheng.pc.inventory.adjustDetail.domain.AdjustDetail;
+import com.huaheng.pc.inventory.adjustDetail.service.AdjustDetailService;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.inventory.adjustHeader.domain.AdjustHeader;
@@ -13,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 
 @Service
 public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, AdjustHeader> implements AdjustHeaderService {
@@ -20,7 +25,8 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj
 
     @Resource
     private AdjustHeaderMapper adjustHeaderMapper;
-
+    @Resource
+    private AdjustDetailService adjustDetailService;
 
 
 
@@ -48,27 +54,29 @@ public class AdjustHeaderServiceImpl extends ServiceImpl<AdjustHeaderMapper, Adj
     }
 
     /**
-     * 删除
-     * 空缺
+     * 调整主单删除
      * @param id
      * @return
      */
+    @Transactional
     @Override
-    public AjaxResult delete(Integer id) {
+    public AjaxResult deleteHeader(Integer id) {
         AdjustHeader adjustHeader = this.getById(id);
         if(adjustHeader == null){
             return AjaxResult.error("id为"+id.toString()+"的调整单不存在出,操作中止");
         }
-
-
-
-
-
-
-        //批量删除子单据
+        //判断该主单下有没又存在子单,没有直接删除主单,有则不能删除
         AdjustDetail temp = new AdjustDetail();
         temp.setAdjustCode(adjustHeader.getCode());
+        temp.setCompanyCode(adjustHeader.getCompanyCode());
+        temp.setWarehouseCode(adjustHeader.getWarehouseCode());
+        LambdaQueryWrapper<AdjustDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(temp);
+        List<AdjustDetail> adjustDetails = adjustDetailService.list(lambdaQueryWrapper);
+        if(adjustDetails.size() > 0){
+            throw new SecurityException("该主单存在明细,无法删除,操作失败!");
+        }
 
+        adjustHeaderMapper.deleteById(id); //直接删主单
         return AjaxResult.success("删除成功");
     }
 
--
libgit2 0.22.2