From db5e17703db73be24750555a2881fdec5ef99df7 Mon Sep 17 00:00:00 2001
From: zhouhong <zh123412@126.com>
Date: Wed, 14 Sep 2022 15:37:45 +0800
Subject: [PATCH] 入库完成任务改成批量提交

---
 src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java |   4 ++--
 src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskReceiptCompleteDomain.java       |  41 +++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java             | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------
 src/main/resources/templates/receipt/receiptHeader/receiptHeader.html                    |   2 +-
 4 files changed, 166 insertions(+), 68 deletions(-)
 create mode 100644 src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskReceiptCompleteDomain.java

diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
index 8dfbd24..d54f55c 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
@@ -558,7 +558,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
                 }
             }
         }
-        LambdaQueryWrapper<InventoryDetail> invlambdaDetails = Wrappers.lambdaQuery();
+       /* LambdaQueryWrapper<InventoryDetail> invlambdaDetails = Wrappers.lambdaQuery();
         invlambdaDetails.eq(InventoryDetail::getReceiptCode, receiptHeader.getCode());
         List<InventoryDetail> invDetails = inventoryDetailService.list(invlambdaDetails);
         int totalqty=0;
@@ -567,7 +567,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
         }
         if(receiptHeader.getTotalQty().intValue()!=totalqty){
             minStatus=minStatusOld;
-        }
+        }*/
         //若更新状态值小于头状态,更新尾状态否则更新头尾状态
        /* for (ReceiptDetail receiptDetail : receiptDetails) {
             if(receiptDetail.getTotalQty().subtract(receiptDetail.getOpenQty()).compareTo(BigDecimal.ZERO) == 0) {
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskReceiptCompleteDomain.java b/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskReceiptCompleteDomain.java
new file mode 100644
index 0000000..4e7c3f2
--- /dev/null
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskReceiptCompleteDomain.java
@@ -0,0 +1,41 @@
+package com.huaheng.pc.task.taskHeader.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.huaheng.pc.barcode.barcodeDetail.domain.BarCodeDetail;
+import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
+import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
+import com.huaheng.pc.inventory.inventoryTransaction.domain.InventoryTransaction;
+import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail;
+import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
+import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.*;
+
+@Data
+public class TaskReceiptCompleteDomain implements Serializable {
+
+    private List<BarCodeDetail> barCodeDetailList=new ArrayList<>();
+
+    private InventoryHeader inventoryHeader;
+
+    private List<InventoryTransaction> inventoryTransactionList=new ArrayList<>();
+
+    private List<InventoryDetail> inventoryDetailList=new ArrayList<>();
+
+
+    private List<ReceiptContainerDetail> receiptContainerDetailList;
+
+    private List<ReceiptDetail> receiptDetailList;
+
+    private List<TaskDetail> taskDetailList=new ArrayList<>();
+
+    private Set<String> receiptDetailSet=new HashSet<>();
+
+    private BigDecimal totalQty;
+
+}
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
index cb500e6..2c3a63d 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/ReceiptTaskService.java
@@ -57,6 +57,7 @@ import com.huaheng.pc.task.agvTask.service.AgvTaskService;
 import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
 import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
+import com.huaheng.pc.task.taskHeader.domain.TaskReceiptCompleteDomain;
 import com.huaheng.pc.task.taskHeader.mapper.TaskHeaderMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -391,6 +392,7 @@ public class ReceiptTaskService {
         //    }
         //}
         InventoryHeader inventoryHeader = null;
+        // 补充入库,修改库存明细库位
         if(task.getTaskType().equals(QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT)) {
             LambdaQueryWrapper<InventoryHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
             lambdaQueryWrapper.eq(InventoryHeader::getWarehouseCode, warehouseCode)
@@ -403,7 +405,7 @@ public class ReceiptTaskService {
                 location.setContainerCode("");
                 location.setStatus(QuantityConstant.STATUS_LOCATION_EMPTY);
                 locationService.updateById(location);
-                inventoryHeader.setLocationCode(task.getToLocation());
+                /*inventoryHeader.setLocationCode(task.getToLocation());
                 inventoryHeaderService.updateById(inventoryHeader);
                 LambdaQueryWrapper<InventoryDetail> lambdaQueryWrapper2 = Wrappers.lambdaQuery();
                 lambdaQueryWrapper2.eq(InventoryDetail::getWarehouseCode, warehouseCode)
@@ -415,7 +417,16 @@ public class ReceiptTaskService {
                         inventoryDetail.setZoneCode(location.getZoneCode());
                         inventoryDetailService.updateById(inventoryDetail);
                     }
-                }
+                }*/
+
+                /*LambdaUpdateWrapper<InventoryDetail> wrapper = Wrappers.lambdaUpdate();
+                wrapper.eq(InventoryDetail::getWarehouseCode, warehouseCode)
+                        .eq(InventoryDetail::getInventoryHeaderId, inventoryHeader.getId())
+                        .set(InventoryDetail::getLocationCode, task.getToLocation())
+                        .set(InventoryDetail::getZoneCode, task.getZoneCode());
+                inventoryDetailService.update(wrapper);*/
+
+
             }
         }
         if (StringUtils.isNull(inventoryHeader)) {
@@ -455,6 +466,12 @@ public class ReceiptTaskService {
         ReceiptDetail receiptDetail = null;
         BarCodeDetail barCodeDetail = null;
         /* 遍历任务明细,修改关联的入库组盘、入库单状态、添加库存*/
+        TaskReceiptCompleteDomain taskReceiptCompleteDomain=new TaskReceiptCompleteDomain();
+        taskReceiptCompleteDomain.setTotalQty(inventoryHeader.getTotalQty());
+        taskReceiptCompleteDomain.setInventoryHeader(inventoryHeader);
+        List<BarCodeDetail> barCodeDetails=new ArrayList<>();
+        List<TaskDetail> taskDetails=new ArrayList<>();
+        List<ReceiptDetail> receiptDetails=new ArrayList<>();
         for (TaskDetail taskDetail : taskDetailList) {
             if (taskDetail.getStatus() < QuantityConstant.TASK_STATUS_COMPLETED) {
                 if(StringUtils.isNullNew(taskDetail.getWeights())){
@@ -474,28 +491,22 @@ public class ReceiptTaskService {
                 if(taskDetail.getTypeId() == 1){
                     /*查询包装成品入库单明细*/
                     barCodeDetail = barCodeDetailService.getById(taskDetail.getBarcodeDetailsId());
-                    this.addInventoryDetails(taskDetail, barCodeDetail, inventoryHeader,task);
+                    taskReceiptCompleteDomain=this.addInventoryDetails(taskDetail, barCodeDetail, inventoryHeader,task,taskReceiptCompleteDomain);
+                    List<BarCodeDetail> barCodeDetailList=taskReceiptCompleteDomain.getBarCodeDetailList();
                     barCodeDetail.setProcessStamp(String.valueOf(QuantityConstant.RECEIPT_HEADER_POSTING));
-                    barCodeDetailService.updateById(barCodeDetail);
+                    barCodeDetails.add(barCodeDetail);
+//                    barCodeDetailService.updateById(barCodeDetail);
 
                 }else{
 
                     if (StringUtils.isNotNull(receiptDetail)) {
-                        this.addInventoryDetail(taskDetail, receiptDetail, inventoryHeader,task);
-                        //修改组盘表状态为完成
-                       /* ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail();
-                        receiptContainerDetail.setStatus(QuantityConstant.RECEIPT_CONTAINER_FINISHED);
-                        receiptContainerDetail.setLastUpdatedBy(receiptDetail.getCreatedBy());
-                        LambdaUpdateWrapper<ReceiptContainerDetail> receiptContainerDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate();
-                        receiptContainerDetailLambdaUpdateWrapper.eq(ReceiptContainerDetail::getId, taskDetail.getAllocationId());
-                        if (!receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper)){
-                            throw new ServiceException("更新组盘状态失败");
-                        }*/
+                        taskReceiptCompleteDomain=this.addInventoryDetail(taskDetail, receiptDetail, inventoryHeader,task,taskReceiptCompleteDomain);
                     } else {
                         throw new ServiceException("未找到id:" + taskDetail.getBillDetailId() + "入库单明细");
                     }
 
                 }
+
                 //修改组盘表状态为完成
                 ReceiptContainerDetail receiptContainerDetail = new ReceiptContainerDetail();
                 receiptContainerDetail.setStatus(QuantityConstant.RECEIPT_CONTAINER_FINISHED);
@@ -505,24 +516,36 @@ public class ReceiptTaskService {
                 if (!receiptContainerDetailService.update(receiptContainerDetail, receiptContainerDetailLambdaUpdateWrapper)){
                     throw new ServiceException("更新组盘状态失败");
                 }
-                receiptDetail.setProcessStamp(String.valueOf(QuantityConstant.RECEIPT_HEADER_POSTING));
+                if(receiptDetail.getUnitId2Qty()==null){
+                    receiptDetail.setUnitId2Qty(new BigDecimal(0));
+                }
+                receiptDetail.setUnitId2Qty(receiptDetail.getUnitId2Qty().add(taskDetail.getQty()));
+                if(receiptDetail.getTotalQty().compareTo(receiptDetail.getUnitId2Qty())==0){
+                    receiptDetail.setProcessStamp(String.valueOf(QuantityConstant.RECEIPT_HEADER_POSTING));
+                }
                 receiptDetailService.updateById(receiptDetail);
                 receiptDetailService.updateReceiptHeaderLastStatus(receiptDetail.getReceiptId());
-                materialWarningService.materialWarning(taskDetail.getMaterialCode(), taskDetail.getCompanyCode());
-                Location location = locationService.getLocationByCode(task.getToLocation(), ShiroUtils.getWarehouseCode());
-                if(location != null) {
-                    task.setZoneCode(location.getZoneCode());
-                }
+//                materialWarningService.materialWarning(taskDetail.getMaterialCode(), taskDetail.getCompanyCode());
+
                 taskDetail.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
-                taskDetailService.updateById(taskDetail);
+                taskDetails.add(taskDetail);
+//                taskDetailService.updateById(taskDetail);
             }
         }
+        Location location = locationService.getLocationByCode(task.getToLocation(), ShiroUtils.getWarehouseCode());
+        if(location != null) {
+            task.setZoneCode(location.getZoneCode());
+        }
+        taskReceiptCompleteDomain.setBarCodeDetailList(barCodeDetails);
+        taskReceiptCompleteDomain.setTaskDetailList(taskDetails);
+        //save批量提交数据
+        saveOrUpdateTaskCompleteTable(taskReceiptCompleteDomain);
         if (StringUtils.isNull(inventoryHeader)) {
             throw new ServiceException("库存添加失败");
         }
 
         //修改库位状态和对应的容器
-        Location location = new Location();
+//        Location location = new Location();
         location.setContainerCode(task.getContainerCode());
         location.setWarehouseCode(warehouseCode);
         location.setStatus(QuantityConstant.STATUS_LOCATION_EMPTY);
@@ -531,10 +554,10 @@ public class ReceiptTaskService {
             location.setWeight(container1.getWeight());
             location.setHeight(container1.getHeight());
         }
-        LambdaUpdateWrapper<Location> locationLambdaUpdateWrapper = Wrappers.lambdaUpdate();
+       /* LambdaUpdateWrapper<Location> locationLambdaUpdateWrapper = Wrappers.lambdaUpdate();
         locationLambdaUpdateWrapper.eq(Location::getCode, task.getToLocation());
-        locationLambdaUpdateWrapper.eq(Location::getWarehouseCode, warehouseCode);
-        if (!locationService.update(location, locationLambdaUpdateWrapper)){
+        locationLambdaUpdateWrapper.eq(Location::getWarehouseCode, warehouseCode);*/
+        if (!locationService.updateById(location)){
             throw new ServiceException("更新库位失败");
         }
 
@@ -571,6 +594,39 @@ public class ReceiptTaskService {
         return AjaxResult.success();
     }
 
+    public void saveOrUpdateTaskCompleteTable(TaskReceiptCompleteDomain taskReceiptCompleteDomain){
+        List<BarCodeDetail> barCodeDetailList=taskReceiptCompleteDomain.getBarCodeDetailList();
+        List<InventoryTransaction> inventoryTransactionList=taskReceiptCompleteDomain.getInventoryTransactionList();
+        List<InventoryDetail> inventoryDetailList=taskReceiptCompleteDomain.getInventoryDetailList();
+        List<ReceiptDetail> receiptDetailList=taskReceiptCompleteDomain.getReceiptDetailList();
+        List<TaskDetail> taskDetails=taskReceiptCompleteDomain.getTaskDetailList();
+//        Set<String> receiptDetailSet=taskReceiptCompleteDomain.getReceiptDetailSet();
+        InventoryHeader inventoryHeader=taskReceiptCompleteDomain.getInventoryHeader();
+        BigDecimal totalQty=taskReceiptCompleteDomain.getTotalQty();
+
+        if(inventoryDetailList!=null&&inventoryDetailList.size()>0){
+            inventoryDetailService.saveOrUpdateBatch(inventoryDetailList);
+        }
+        inventoryHeader.setTotalQty(totalQty);
+        inventoryHeaderService.saveOrUpdate(inventoryHeader);
+        if(barCodeDetailList!=null&&barCodeDetailList.size()>0){
+            barCodeDetailService.updateBatchById(barCodeDetailList);
+        }
+        if(inventoryTransactionList!=null&&inventoryTransactionList.size()>0){
+            inventoryTransactionService.saveBatch(inventoryTransactionList);
+        }
+        /*if(receiptDetailList!=null&&receiptDetailList.size()>0){
+            receiptDetailService.updateBatchById(receiptDetailList);
+        }*/
+        if(taskDetails!=null&&taskDetails.size()>0){
+            taskDetailService.updateBatchById(taskDetails);
+        }
+
+
+        
+
+    }
+
 
 
 
@@ -582,9 +638,12 @@ public class ReceiptTaskService {
      * @param inventoryHeader 库存头表
      * @return 任务数量
      */
-    private BigDecimal addInventoryDetail(TaskDetail taskDetail,
+    private TaskReceiptCompleteDomain addInventoryDetail(TaskDetail taskDetail,
                                           ReceiptDetail receiptDetail,
-                                          InventoryHeader inventoryHeader,TaskHeader task) {
+                                          InventoryHeader inventoryHeader,TaskHeader task,TaskReceiptCompleteDomain taskReceiptCompleteDomain) {
+        List<InventoryDetail> inventoryDetailList=taskReceiptCompleteDomain.getInventoryDetailList();
+        List<InventoryTransaction> inventoryTransactionList=taskReceiptCompleteDomain.getInventoryTransactionList();
+
         String warehouseCode = inventoryHeader.getWarehouseCode();
         /*该入库明细是否已存在库存明细记录,已存在更新数量、不存在新增记录*/
         LambdaQueryWrapper<InventoryDetail> inventory = Wrappers.lambdaQuery();
@@ -665,11 +724,12 @@ public class ReceiptTaskService {
             inventoryDetail.setCountryCode(taskDetail.getCountryCode());
             inventoryDetail.setBarcodeDetailsCode(taskDetail.getBarcodeDetailsCode());
         }
-        if (!inventoryDetailService.saveOrUpdate(inventoryDetail)) {
+        inventoryDetailList.add(inventoryDetail);
+        /*if (!inventoryDetailService.saveOrUpdate(inventoryDetail)) {
             throw new ServiceException("保存库存明细失败");
-        }
-        inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(taskDetail.getQty()));
-        inventoryHeaderService.updateById(inventoryHeader);
+        }*/
+       /* inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(taskDetail.getQty()));
+        inventoryHeaderService.updateById(inventoryHeader);*/
         //记录库存交易记录
         InventoryTransaction inventoryTransaction = new InventoryTransaction();
         inventoryTransaction.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_RECEIPT);
@@ -687,10 +747,15 @@ public class ReceiptTaskService {
         inventoryTransaction.setLot(receiptDetail.getLot());
         inventoryTransaction.setInventorySts(receiptDetail.getInventorySts());
         inventoryTransaction.setTaskQty(receiptQty);
-        if (!inventoryTransactionService.save(inventoryTransaction)) {
+        /*if (!inventoryTransactionService.save(inventoryTransaction)) {
             throw new ServiceException("新增库存记录失败");
-        }
-        return receiptQty;
+        }*/
+        inventoryTransactionList.add(inventoryTransaction);
+
+        taskReceiptCompleteDomain.setInventoryDetailList(inventoryDetailList);
+        taskReceiptCompleteDomain.setInventoryTransactionList(inventoryTransactionList);
+        taskReceiptCompleteDomain.setTotalQty(taskReceiptCompleteDomain.getTotalQty().add(taskDetail.getQty()));
+        return taskReceiptCompleteDomain;
     }
 
 
@@ -707,36 +772,20 @@ public class ReceiptTaskService {
      * @param inventoryHeader 库存头表
      * @return 任务数量
      */
-    private BigDecimal addInventoryDetails(TaskDetail taskDetail,
+    private TaskReceiptCompleteDomain addInventoryDetails(TaskDetail taskDetail,
                                            BarCodeDetail barCodeDetail,
-                                           InventoryHeader inventoryHeader,TaskHeader task) {
+                                           InventoryHeader inventoryHeader,TaskHeader task,TaskReceiptCompleteDomain taskReceiptCompleteDomain) {
+//        TaskReceiptCompleteDomain taskReceiptCompleteDomain=new TaskReceiptCompleteDomain();
+        List<InventoryDetail> inventoryDetailList=taskReceiptCompleteDomain.getInventoryDetailList();
+        List<InventoryTransaction> inventoryTransactionList=taskReceiptCompleteDomain.getInventoryTransactionList();
         String warehouseCode = inventoryHeader.getWarehouseCode();
-        /*该入库明细是否已存在库存明细记录,已存在更新数量、不存在新增记录*/
-//        LambdaQueryWrapper<InventoryDetail> inventory = Wrappers.lambdaQuery();
-//        inventory.eq(InventoryDetail::getWarehouseCode, warehouseCode)
-//                .eq(InventoryDetail::getLocationCode, inventoryHeader.getLocationCode())
-//                .eq(InventoryDetail::getMaterialCode, taskDetail.getMaterialCode())
-//                .eq(InventoryDetail::getContainerCode, inventoryHeader.getContainerCode())
-//                .eq(InventoryDetail::getCompanyCode, taskDetail.getCompanyCode())
-//                .eq(InventoryDetail::getBatteryPackTwoCode,taskDetail.getBatteryPackTwoCode())
-//                .eq(InventoryDetail::getBarcodeDetailsCode,taskDetail.getBarcodeDetailsCode())
-//                .eq(InventoryDetail::getBatch,taskDetail.getBatch())
-//                .eq(InventoryDetail::getReceiptDetailId, taskDetail.getBillDetailId());
-//        InventoryDetail inventoryDetail = inventoryDetailService.getOne(inventory);
+
         Material material = materialService.findAllByCode(taskDetail.getMaterialCode(), warehouseCode);
 //        Material material = materialService.findAllByCode(receiptDetail.getMaterialCode(), warehouseCode);
         /*单位换算*/
         BigDecimal receiptQty = taskDetail.getQty();
 
-//        if (StringUtils.isNotNull(inventoryDetail)) {
-//            inventoryDetail.setQty(inventoryDetail.getQty().add(taskDetail.getQty()));
-//            inventoryDetail.setWeights(inventoryDetail.getWeights().add(taskDetail.getWeights()));
-//            inventoryDetail.setDayShift(barCodeDetail.getDayShift());
-//            inventoryDetail.setRegenerationCode(barCodeDetail.getRegenerationCode());
-//
-//           // inventoryDetail.setMaterialBatch();
-//        }
-//        else {
+
         InventoryDetail inventoryDetail = new InventoryDetail();
             if(null!=barCodeDetail){
                 BarCodeHeader barCodeHeader = barCodeHeaderService.getById(barCodeDetail.getReceiptId());
@@ -788,12 +837,14 @@ public class ReceiptTaskService {
             one.setTotalWeight(taskDetail.getWeights()+"");
             inventoryDetail.setInventorySts(taskDetail.getInventorySts());
             inventoryHeader.setTotalLines(inventoryHeader.getTotalLines()+1);
-//        }
-        if (!inventoryDetailService.save(inventoryDetail)) {
+
+        inventoryDetailList.add(inventoryDetail);
+        /*if (!inventoryDetailService.save(inventoryDetail)) {
             throw new ServiceException("保存库存明细失败");
-        }
-        inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(taskDetail.getQty()));
-        inventoryHeaderService.updateById(inventoryHeader);
+        }*/
+        /*inventoryHeader.setTotalQty(inventoryHeader.getTotalQty().add(taskDetail.getQty()));
+        inventoryHeaderService.updateById(inventoryHeader);*/
+
         //记录库存交易记录
         InventoryTransaction inventoryTransaction = new InventoryTransaction();
         inventoryTransaction.setTransactionType(QuantityConstant.INVENTORY_TRANSACTION_RECEIPT);
@@ -809,10 +860,16 @@ public class ReceiptTaskService {
         inventoryTransaction.setBillDetailId(taskDetail.getBillDetailId());
         inventoryTransaction.setBatch(barCodeDetail==null?null:barCodeDetail.getBatch());
         inventoryTransaction.setTaskQty(receiptQty);
-        if (!inventoryTransactionService.save(inventoryTransaction)) {
+
+        inventoryTransactionList.add(inventoryTransaction);
+
+        taskReceiptCompleteDomain.setInventoryDetailList(inventoryDetailList);
+        taskReceiptCompleteDomain.setInventoryTransactionList(inventoryTransactionList);
+        taskReceiptCompleteDomain.setTotalQty(taskReceiptCompleteDomain.getTotalQty().add(taskDetail.getQty()));
+        /*if (!inventoryTransactionService.save(inventoryTransaction)) {
             throw new ServiceException("新增库存记录失败");
-        }
-        return receiptQty;
+        }*/
+        return taskReceiptCompleteDomain;
     }
 
 
diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
index 0297d10..5a1d98d 100644
--- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
+++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
@@ -303,7 +303,7 @@
                         if (row.firstStatus == 800 && row.lastStatus == 800 && row.receiptType!='CPRK') {
                             actions.push('<a class="btn btn-warning btn-xs ' + receiveFlag + '" href="#" onclick="receive(\''+row.id+'\')"><i class="fa fa-upload"></i>回传</a>');
                         }
-                        if (row.firstStatus === 800 && row.lastStatus < 800) {
+                        if (row.firstStatus >= 200 && row.lastStatus < 800) {
                             actions.push('<a class="btn btn-danger btn-xs ' + receiveFlag + '" href="#" onclick="completeReceipt(\''+row.id+'\')"><i class="fa fa-upload"></i>提前完成单据</a>');
                         }
                         return actions.join('');
--
libgit2 0.22.2