diff --git a/ant-design-vue-jeecg/src/views/system/inventory/InventoryDetailList.vue b/ant-design-vue-jeecg/src/views/system/inventory/InventoryDetailList.vue
index 2cc727d..c6268b3 100644
--- a/ant-design-vue-jeecg/src/views/system/inventory/InventoryDetailList.vue
+++ b/ant-design-vue-jeecg/src/views/system/inventory/InventoryDetailList.vue
@@ -37,6 +37,13 @@
           </a-tag>
         </span>
 
+        <span slot="controller_dictText" slot-scope="controller_dictText">
+          <a-tag :key="controller_dictText" :color="getStatusColor(controller_dictText)">
+            {{ controller_dictText }}
+          </a-tag>
+        </span>
+
+
         <span slot="companyCode" slot-scope="companyCode">
           <a-tag :key="companyCode" color="blue">
             {{ solutionCompany(companyCode) }}
@@ -192,6 +199,12 @@ export default {
           scopedSlots: {customRender: 'inventoryStatus_dictText'}
         },
         {
+          title: '受控状态',
+          align: 'center',
+          dataIndex: 'controller_dictText',
+          scopedSlots: {customRender: 'controller_dictText'}
+        },
+        {
           title: '批次',
           align: 'center',
           dataIndex: 'batch'
diff --git a/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue b/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue
index 58bdfc8..7bfa17c 100644
--- a/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue
+++ b/ant-design-vue-jeecg/src/views/system/inventory/SimpleInventoryDetailList.vue
@@ -49,6 +49,15 @@
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="受控状态">
+              <j-dict-select-tag
+                placeholder="请选择受控状态"
+                v-model="queryParam.controller"
+                dictCode="inventory_controller"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="物料编码">
               <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input>
             </a-form-item>
@@ -146,10 +155,10 @@
 
     <!-- table区域-begin -->
     <div>
-      <!--      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
-      <!--        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项-->
-      <!--        <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
-      <!--      </div>-->
+            <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+              <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项
+              <a style="margin-left: 24px" @click="onClearSelected">清空</a>
+            </div>
 
       <a-table
         ref="table"
@@ -161,9 +170,16 @@
         :dataSource="dataSource"
         :pagination="ipagination"
         :loading="loading"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
         class="j-table-force-nowrap"
         @change="handleTableChange"
       >
+        <span slot="controller_dictText" slot-scope="controller_dictText">
+          <a-tag :key="controller_dictText" :color="getStatusColor(controller_dictText)">
+            {{ controller_dictText }}
+          </a-tag>
+        </span>
+
         <span slot="inventoryStatus_dictText" slot-scope="inventoryStatus_dictText">
           <a-tag :key="inventoryStatus_dictText" :color="getStatusColor(inventoryStatus_dictText)">
             {{ inventoryStatus_dictText }}
@@ -218,7 +234,8 @@ import {mixinDevice} from '@/utils/mixin'
 import {JeecgListMixin} from '@/mixins/JeecgListMixin'
 import SimpleInventoryDetailModal from './modules/SimpleInventoryDetailModal'
 import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
-import {getCompanyList, getZoneList} from "@api/api";
+import {getCompanyList, getZoneList, } from "@api/api";
+import {postAction} from '@/api/manage'
 
 export default {
   name: 'InventoryDetailList',
@@ -310,6 +327,12 @@ export default {
           scopedSlots: {customRender: 'inventoryStatus_dictText'}
         },
         {
+          title: '受控状态',
+          align: 'center',
+          dataIndex: 'controller_dictText',
+          scopedSlots: {customRender: 'controller_dictText'}
+        },
+        {
           title: '批次',
           align: 'center',
           dataIndex: 'batch'
@@ -521,6 +544,7 @@ export default {
       fieldList.push({type: 'BigDecimal', value: 'qty', text: '数量', dictCode: ''})
       fieldList.push({type: 'BigDecimal', value: 'taskQty', text: '任务锁定数量', dictCode: ''})
       fieldList.push({type: 'string', value: 'inventoryStatus', text: '库存状态', dictCode: 'inventory_status'})
+      fieldList.push({type: 'int', value: 'controller', text: '受控状态', dictCode: 'inventory_controller'})
       fieldList.push({type: 'string', value: 'batch', text: '批次', dictCode: ''})
       // fieldList.push({type:'string',value:'sn',text:'序列号',dictCode:''})
       fieldList.push({type: 'datetime', value: 'receiptDate', text: '入库日期'})
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
index 209ec74..202c1ab 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
@@ -243,6 +243,9 @@ public class WcsServiceImpl implements WcsService {
         // 如果是外侧库位,那么就要判断该库位对应的内侧库位是不是有托盘
         if (rowFlag == QuantityConstant.ROW_OUT) {
             Location insideLocation = locationService.getInsideNear(location);
+            if (insideLocation == null) {
+                return Result.error("分配库位时" + locationCode + "没有找到对应的内侧库位");
+            }
             if (StringUtils.isNotEmpty(insideLocation.getContainerCode())) {
                 Location destinationLocation = locationService.getEmptyLocation(insideLocation);
                 if (destinationLocation == null) {
@@ -348,6 +351,9 @@ public class WcsServiceImpl implements WcsService {
             if (rowFlag == QuantityConstant.ROW_OUT) {
                 // 找到对应内侧库位
                 Location insideLocation = locationService.getInsideNear(fromLocation);
+                if (insideLocation == null) {
+                    return Result.error("分配库位时" + fromLocation + "没有找到对应的内侧库位");
+                }
                 String insideLocationCode = insideLocation.getCode();
                 // 如果对应内侧库位有托盘
                 if (StringUtils.isNotEmpty(insideLocation.getContainerCode())) {
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryDetail.java
index 0069712..f1bb1fa 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryDetail.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryDetail.java
@@ -127,6 +127,7 @@ public class InventoryDetail implements Serializable {
     private Integer inventoryAge;
     /** 受控 */
     @Excel(name = "受控", width = 15)
+    @Dict(dicCode = "inventory_controller")
     @ApiModelProperty(value = "受控")
     private Integer controller;
     /** 备用字段1 */
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java
index a2c5083..d315926 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java
@@ -69,7 +69,8 @@ public interface IInventoryDetailService extends IService<InventoryDetail> {
     Result controller(List<Integer> inventoryDetailIdList);
 
     /**
-     * @param
+     * 批量释放受控
+     * @param  inventoryDetailIdList 库存明细id
      * @return
      */
     Result releaseController(List<Integer> inventoryDetailIdList);
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
index 451f617..50e6fbf 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java
@@ -105,7 +105,9 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
             .eq(StringUtils.isNotEmpty(inventoryDetail.getBatch()), InventoryDetail::getBatch, inventoryDetail.getBatch())
             .eq(StringUtils.isNotEmpty(inventoryDetail.getLot()), InventoryDetail::getLot, inventoryDetail.getLot())
             .eq(StringUtils.isNotEmpty(inventoryDetail.getProject()), InventoryDetail::getProject, inventoryDetail.getLot())
-            .eq(InventoryDetail::getTaskQty, BigDecimal.ZERO).eq(InventoryDetail::getCompanyCode, inventoryDetail.getCompanyCode());
+            .eq(InventoryDetail::getController, QuantityConstant.CONTROLLER_NOT_ENABLE)
+            .eq(InventoryDetail::getContainerStatus, QuantityConstant.STATUS_CONTAINER_EMPTY).eq(InventoryDetail::getTaskQty, BigDecimal.ZERO)
+            .eq(InventoryDetail::getCompanyCode, inventoryDetail.getCompanyCode());
         List<InventoryDetail> inventoryDetailList = list(inventoryDetailLambdaQueryWrapper);
         if (inventoryDetailList.size() == 0) {
             return BigDecimal.ZERO;
@@ -223,6 +225,21 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe
 
     @Override
     public Result releaseController(List<Integer> inventoryDetailIdList) {
-        return null;
+        List<InventoryDetail> inventoryDetailList = listByIds(inventoryDetailIdList);
+        if (StringUtils.isEmpty(inventoryDetailList)) {
+            return Result.error("没有找到库存详情");
+        }
+        List<InventoryDetail> inventoryDetailUpdateList = new ArrayList<>();
+        for (InventoryDetail inventoryDetail : inventoryDetailList) {
+            InventoryDetail inventoryDetail1 = new InventoryDetail();
+            inventoryDetail1.setId(inventoryDetail.getId());
+            inventoryDetail1.setController(QuantityConstant.CONTROLLER_NOT_ENABLE);
+            inventoryDetailUpdateList.add(inventoryDetail1);
+        }
+        boolean success = updateBatchById(inventoryDetailUpdateList);
+        if (success) {
+            return Result.ok("批量释放受控库存成功");
+        }
+        return Result.ok("批量释放受控库存失败");
     }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java
index 152e7cd..f6fc148 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiving/service/impl/ReceiveServiceImpl.java
@@ -27,6 +27,8 @@ import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService
 import org.jeecg.modules.wms.receipt.receiving.domain.Receive;
 import org.jeecg.modules.wms.receipt.receiving.mapper.ReceiveMapper;
 import org.jeecg.modules.wms.receipt.receiving.service.IReceiveService;
+import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerHeader;
+import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
@@ -75,6 +77,8 @@ public class ReceiveServiceImpl extends ServiceImpl<ReceiveMapper, Receive> impl
     private IParameterConfigurationService parameterConfigurationService;
     @Resource
     private IReceiveService receiveService;
+    @Resource
+    private IShipmentContainerHeaderService shipmentContainerHeaderService;
 
     /**
      * 组盘后自动生成任务,返回任务实体
@@ -136,6 +140,10 @@ public class ReceiveServiceImpl extends ServiceImpl<ReceiveMapper, Receive> impl
         if (containerType == null) {
             return Result.error("入库组盘,容器类型为空" + containerCode);
         }
+        ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.getUnCompleteShipmentContainerByCode(containerCode, warehouseCode);
+        if (shipmentContainerHeader != null) {
+            throw new JeecgBootException("入库组盘,容器" + containerCode + "不能有出库配盘");
+        }
         int taskType = QuantityConstant.TASK_TYPE_WHOLERECEIPT;
         String fromLocationCode = container.getLocationCode();
         if (StringUtils.isNotEmpty(fromLocationCode)) {
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java
index 0ced322..7ad163c 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/controller/ShipmentCombinationController.java
@@ -112,7 +112,8 @@ public class ShipmentCombinationController {
     @ResponseBody
     public Result createShipmentTask(@RequestBody ShipmentContainerHeader shipmentContainerHeader, HttpServletRequest req) {
         String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req);
-        return huahengMultiHandlerService.createShipmentTask(shipmentContainerHeader, warehouseCode, 0, 0, 0);
+        Result result = huahengMultiHandlerService.createShipmentTask(shipmentContainerHeader, warehouseCode, 0, 0, 0);
+        return result;
     }
 
     /**
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/IShipmentCombinationService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/IShipmentCombinationService.java
index 2e570c5..5a02c06 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/IShipmentCombinationService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/IShipmentCombinationService.java
@@ -15,17 +15,17 @@ import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
  */
 public interface IShipmentCombinationService {
 
-    public List<InventoryDetail> getInventorys(ShipmentDetail shipmentDetail);
+    List<InventoryDetail> getInventorys(ShipmentDetail shipmentDetail);
 
-    public Result autoCombination(String shipmentCode, String warehouseCode);
+    Result autoCombination(String shipmentCode, String warehouseCode);
 
-    public Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber);
+    Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber);
 
-    public Result getInventoryFromShipmentDetail(Integer shipmentDetailId);
+    Result getInventoryFromShipmentDetail(Integer shipmentDetailId);
 
-    public Result combination(CombinationModel combinationModel);
+    Result combination(CombinationModel combinationModel);
 
-    public Result autoCombinationDetail(ShipmentDetail shipmentDetail, BigDecimal shipQty);
+    Result autoCombinationDetail(ShipmentDetail shipmentDetail, BigDecimal shipQty);
 
     ShipmentContainerHeader addShipmentContainerHeader(InventoryDetail inventoryDetail, ShipmentDetail shipmentDetail);
 
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
index e6b0176..f77a57c 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
@@ -97,6 +97,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
      * @return
      */
     @Override
+    @Transactional(rollbackFor = JeecgBootException.class)
     public List<InventoryDetail> getInventorys(ShipmentDetail shipmentDetail) {
         String warehouseCode = shipmentDetail.getWarehouseCode();
         String companyCode = shipmentDetail.getCompanyCode();
@@ -116,7 +117,9 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
         }
         LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
         inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getWarehouseCode, warehouseCode).eq(InventoryDetail::getCompanyCode, companyCode)
-            .eq(InventoryDetail::getMaterialCode, materialCode).eq(InventoryDetail::getInventoryStatus, inventoryStatus);
+            .eq(InventoryDetail::getMaterialCode, materialCode).eq(InventoryDetail::getInventoryStatus, inventoryStatus)
+            .eq(InventoryDetail::getController, QuantityConstant.CONTROLLER_NOT_ENABLE)
+            .eq(InventoryDetail::getContainerStatus, QuantityConstant.STATUS_CONTAINER_EMPTY);
         List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper);
         return inventoryDetailList;
     }
@@ -169,7 +172,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
         if (shipQty != null) {
             shipmentQty = shipQty;
         }
-        List<InventoryDetail> inventoryList = getInventorys(shipmentDetail);
+        List<InventoryDetail> inventoryList = shipmentCombinationService.getInventorys(shipmentDetail);
         // 去除已锁的库存
         ArrayList<InventoryDetail> removeInventoryList = new ArrayList<>();
         List<ReceiptContainerHeader> receiptContainerHeaderList = receiptContainerHeaderService.getUnCompleteCombineList();
@@ -200,7 +203,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
         }
         inventoryList.removeAll(removeInventoryList);
         if (inventoryList.size() < 1) {
-            return Result.error(shipmentDetail.getMaterialName() + "' 没有符合出库条件的库存");
+            return Result.error(shipmentDetail.getMaterialName() + "没有符合出库条件的库存");
         }
 
         for (InventoryDetail inventoryDetail : inventoryList) {
@@ -268,6 +271,10 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
         if (container.getStatus().equals(QuantityConstant.STATUS_CONTAINER_LOCK)) {
             return Result.error("配盘时, 容器已经锁定,不能再组盘");
         }
+        ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getUnCompleteReceiptContainerByCode(containerCode, warehouseCode);
+        if (receiptContainerHeader != null) {
+            return Result.error("配盘时, 容器有入库组盘不能再组盘,容器编码" + containerCode);
+        }
         BigDecimal shipmentDetailQty = shipmentDetail.getQty();
         BigDecimal shipmentDetailTaskQty = shipmentDetail.getTaskQty();
         // 可出数量
@@ -590,13 +597,14 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
     }
 
     @Override
+    @Transactional(rollbackFor = JeecgBootException.class)
     public Result getInventoryFromShipmentDetail(Integer shipmentDetailId) {
         ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentDetailId);
         if (shipmentDetail == null) {
             return Result.error("找不到出库单详情");
         }
         String warehouseCode = shipmentDetail.getWarehouseCode();
-        List<InventoryDetail> inventoryDetailList = getInventorys(shipmentDetail);
+        List<InventoryDetail> inventoryDetailList = shipmentCombinationService.getInventorys(shipmentDetail);
         if (inventoryDetailList.size() == 0) {
             return Result.error("该物料没有库存或没有符合出库规则的库存");
         }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java
index 7f2045f..7dc8bf5 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/stocktaking/cycleCountDetail/service/impl/CycleCountDetailServiceImpl.java
@@ -18,6 +18,8 @@ import org.jeecg.modules.wms.config.material.service.impl.MaterialServiceImpl;
 import org.jeecg.modules.wms.config.parameterConfiguration.service.IParameterConfigurationService;
 import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail;
 import org.jeecg.modules.wms.inventory.inventoryHeader.service.IInventoryDetailService;
+import org.jeecg.modules.wms.receipt.receiptContainerHeader.service.IReceiptContainerHeaderService;
+import org.jeecg.modules.wms.shipment.shipmentContainerHeader.service.IShipmentContainerHeaderService;
 import org.jeecg.modules.wms.stocktaking.cycleCountDetail.entity.CycleCountDetail;
 import org.jeecg.modules.wms.stocktaking.cycleCountDetail.entity.CycleCountDetailChild;
 import org.jeecg.modules.wms.stocktaking.cycleCountDetail.mapper.CycleCountDetailChildMapper;
@@ -73,6 +75,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
     private ContainerServiceImpl containerServiceImpl;
     @Resource
     private IParameterConfigurationService parameterConfigurationService;
+    @Resource
+    private IReceiptContainerHeaderService receiptContainerHeaderService;
+    @Resource
+    private IShipmentContainerHeaderService shipmentContainerHeaderService;
 
     @Override
     @Transactional
@@ -224,6 +230,14 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
         if (taskLocationRule == QuantityConstant.RULE_TASK_SET_LOCATION) {
             toLocationCode = fromLocationCode;
         }
+        // 校验入库组盘
+        if (receiptContainerHeaderService.havaUnCompleteCombineByContainerCode(containerCode, warehouseCode)) {
+            return Result.error("创建出盘点任务时,容器:" + containerCode + "存在入库组盘,不能移库");
+        }
+        // 校验出库组盘
+        if (shipmentContainerHeaderService.havaUnCompleteCombineByContainerCode(containerCode, warehouseCode)) {
+            return Result.error("创建出盘点任务时, 容器:" + containerCode + "存在出库组盘,不能移库");
+        }
         Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_CYCLECOUNT, containerCode, fromLocationCode, toLocationCode,
             warehouseCode);
         if (!result.isSuccess()) {
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
index 6f18a45..92989cf 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
@@ -62,7 +62,6 @@ import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.alibaba.fastjson.JSON;
@@ -298,6 +297,14 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         if (container == null) {
             return Result.error("创建出库查看任务时,容器为空");
         }
+        // 校验入库组盘
+        if (receiptContainerHeaderService.havaUnCompleteCombineByContainerCode(containerCode, warehouseCode)) {
+            return Result.error("创建出库查看任务时,容器:" + containerCode + "存在入库组盘,不能移库");
+        }
+        // 校验出库组盘
+        if (shipmentContainerHeaderService.havaUnCompleteCombineByContainerCode(containerCode, warehouseCode)) {
+            return Result.error("创建出库查看任务时, 容器:" + containerCode + "存在出库组盘,不能移库");
+        }
         String fromLocationCode = container.getLocationCode();
         String toLocationCode = QuantityConstant.EMPTY_STRING;
         String value = parameterConfigurationService.getValueByCode(QuantityConstant.RULE_TASK_LOCATION);