diff --git a/src/main/java/com/huaheng/api/wcs/controller/WarecellAllocation.java b/src/main/java/com/huaheng/api/wcs/controller/WarecellAllocation.java
index 30b9639..238283f 100644
--- a/src/main/java/com/huaheng/api/wcs/controller/WarecellAllocation.java
+++ b/src/main/java/com/huaheng/api/wcs/controller/WarecellAllocation.java
@@ -42,26 +42,26 @@ public class WarecellAllocation extends BaseController {
         return handleMultiProcess(() -> warecellAllocationService.warecellAllocation(warecellDomain));
     }
 
-    @Log(title = "wcs去向分配", action = BusinessType.INSERT)
-    @PostMapping("/destinationAllocation")
-    @ApiOperation(value = "wcs去向分配", notes = "wcs去向分配", httpMethod = "POST")
-    @ResponseBody
-    @ApiLogger(apiName = "去向分配", from = "WCS")
-    public AjaxResult destinationAllocation(String taskNo, String length, String width, String height, String weight) {
-        WcsTask wcsTask = new WcsTask();
-        wcsTask.setTaskNo(taskNo);
-        wcsTask.setLength(length);
-        wcsTask.setWidth(width);
-        wcsTask.setHeight(height);
-        wcsTask.setWeight(weight);
-        AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
-            @Override
-            public AjaxResult doProcess() {
-                return warecellAllocationService.destinationAllocation(wcsTask);
-            }
-        });
-        return ajaxResult;
-    }
+    //@Log(title = "wcs去向分配", action = BusinessType.INSERT)
+    //@PostMapping("/destinationAllocation")
+    //@ApiOperation(value = "wcs去向分配", notes = "wcs去向分配", httpMethod = "POST")
+    //@ResponseBody
+    //@ApiLogger(apiName = "去向分配", from = "WCS")
+    //public AjaxResult destinationAllocation(String taskNo, String length, String width, String height, String weight) {
+    //    WcsTask wcsTask = new WcsTask();
+    //    wcsTask.setTaskNo(taskNo);
+    //    wcsTask.setLength(length);
+    //    wcsTask.setWidth(width);
+    //    wcsTask.setHeight(height);
+    //    wcsTask.setWeight(weight);
+    //    AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
+    //        @Override
+    //        public AjaxResult doProcess() {
+    //            return warecellAllocationService.destinationAllocation(wcsTask);
+    //        }
+    //    });
+    //    return ajaxResult;
+    //}
 
 
 }
diff --git a/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationService.java b/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationService.java
index b097f05..23b7652 100644
--- a/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationService.java
+++ b/src/main/java/com/huaheng/api/wcs/service/warecellAllocation/WarecellAllocationService.java
@@ -12,10 +12,10 @@ public interface WarecellAllocationService {
      */
     AjaxResult<?> warecellAllocation(WarecellDomain warecellDomain);
 
-    String taskPositioning();
+    //String taskPositioning();
 
     //去向分配
-    AjaxResult destinationAllocation(WcsTask wcsTask);
+    //AjaxResult destinationAllocation(WcsTask wcsTask);
 
     AjaxResult<?> verticalWarehouseAllocation(WarecellDomain warecellDomain);
 
diff --git a/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java b/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
index 382104a..526036a 100644
--- a/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/location/service/LocationServiceImpl.java
@@ -13,6 +13,7 @@ import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.framework.web.service.ConfigService;
 import com.huaheng.framework.web.service.DictService;
+import com.huaheng.pc.config.container.domain.Container;
 import com.huaheng.pc.config.location.domain.Location;
 import com.huaheng.pc.config.location.domain.LocationInfo;
 import com.huaheng.pc.config.location.domain.bo.LocationIdleBO;
@@ -461,7 +462,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
     /**
      * 根据库位编码查询库位信息
      *
-     * @param code
+     * @param
      * @return
      */
     @Override
@@ -753,4 +754,67 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i
         iLocationIdleService.saveBatch(idleListBatch);
         return null;
     }
+
+    @Override
+    public Location getRightEmptyLocation(Location location) {
+        return locationService.getOne(new LambdaQueryWrapper<Location>()
+                .eq(Location::getStatus, QuantityConstant.STATUS_LOCATION_EMPTY)
+                .eq(Location::getContainerCode, "")
+                .eq(Location::getRoadway, "5")
+                .eq(Location::getIRow, location.getIRow())
+                .eq(Location::getILayer, location.getILayer())
+                .eq(Location::getIColumn, location.getIColumn() + 1));
+    }
+
+    @Override
+    public Location getRightDisableLocation(Location location) {
+        return locationService.getOne(new LambdaQueryWrapper<Location>()
+                .eq(Location::getStatus, QuantityConstant.STATUS_LOCATION_DISABLE)
+                .eq(Location::getContainerCode, "")
+                .eq(Location::getRoadway, "5")
+                .eq(Location::getIRow, location.getIRow())
+                .eq(Location::getILayer, location.getILayer())
+                .eq(Location::getIColumn, location.getIColumn() + 1));
+    }
+
+    //解除右侧库位禁用状态和对应4个库位标记
+    //Container container = containerService.getContainerByCode(task.getContainerCode());
+    //locationService.unbanRightLocationAndUnmark(container.getContainerType(), locationCode);
+    @Override
+    public void unbanRightLocationAndUnmark(String containerType, String locationCode) {
+        //解禁用右侧库位
+        Location location = locationService.getLocationByCode(locationCode, "CS0001");
+        if (("X".equals(containerType) || "W".equals(containerType)) && "5".equals(location.getRoadway())) {
+            Location rightLocation = locationService.getRightDisableLocation(location);
+            if (rightLocation != null) {
+                int updateCount = locationService.updateStatusNew(rightLocation.getCode(), "CS0001", QuantityConstant.STATUS_LOCATION_EMPTY, QuantityConstant.STATUS_LOCATION_DISABLE);
+                if (updateCount != 1) {
+                    throw new ServiceException("重复分配库位时,解锁禁用失败!");
+                }
+            }
+        }
+
+        //清除库位的上下左右库位标记
+        if (location.getTemporaryType().equals("0")) {
+            throw new ServiceException("库位未被标记异常!");
+        }
+        List<Location> list = locationService.list(new LambdaQueryWrapper<Location>().eq(Location::getTemporaryType, location.getTemporaryType()));
+        if (!list.isEmpty()) {
+            boolean flat = true;
+            for (Location l : list) {
+                if (StringUtils.isNotEmpty(l.getContainerCode()) || !l.getStatus().equals(QuantityConstant.STATUS_LOCATION_EMPTY)) {
+                    flat = false;
+                    break;
+                }
+            }
+            if (flat) {
+                locationService.update(new LambdaUpdateWrapper<Location>()
+                        .set(Location::getTemporaryType, "0").in(Location::getCode, list.stream()
+                                .map(Location::getCode).collect(Collectors.toList())));
+            }
+        }
+
+    }
+
+
 }
diff --git a/src/main/java/com/huaheng/pc/config/locationType/controller/LocationTypeController.java b/src/main/java/com/huaheng/pc/config/locationType/controller/LocationTypeController.java
index c77e00f..4603b8e 100644
--- a/src/main/java/com/huaheng/pc/config/locationType/controller/LocationTypeController.java
+++ b/src/main/java/com/huaheng/pc/config/locationType/controller/LocationTypeController.java
@@ -27,83 +27,78 @@ import java.util.List;
 
 /**
  * 库位类型 信息操作处理
- * 
+ *
  * @author ricard
  * @date 2019-08-12
  */
 @Controller
 @RequestMapping("/config/locationType")
-public class LocationTypeController extends BaseController
-{
+public class LocationTypeController extends BaseController {
     private String prefix = "config/locationType";
-	
-	@Autowired
-	private LocationTypeService locationTypeService;
-	@Autowired
-	private ZoneService zoneService;
-	
-	@RequiresPermissions("config:locationType:view")
-	@GetMapping()
-	public String locationType()
-	{
-	    return prefix + "/locationType";
-	}
-	
-	/**
-	 * 查询库位类型列表  //todo: 胡海--添加保存区域代码
-	 */
-	@RequiresPermissions("config:locationType:list")
-	@Log(title = "配置-库存资料-库位类型设置", operating = "查看库位类型", action = BusinessType.GRANT)
-	@PostMapping("/list")
-	@ResponseBody
-	public TableDataInfo list(LocationType locationType,String createdBegin, String createdEnd)
-	{
-		LambdaQueryWrapper<LocationType> lambdaQueryWrapper = Wrappers.lambdaQuery();
-		PageDomain pageDomain = TableSupport.buildPageRequest();
-		Integer pageNum = pageDomain.getPageNum();
-		Integer pageSize = pageDomain.getPageSize();
 
-		lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin),LocationType::getCreated, createdBegin)
-				.le(StringUtils.isNotEmpty(createdEnd), LocationType::getCreated, createdEnd)
-				.eq(LocationType::getWarehouseCode,ShiroUtils.getWarehouseCode())
-				.eq(StringUtils.isNotEmpty(locationType.getCode()), LocationType::getCode, locationType.getCode())
-				.like(StringUtils.isNotEmpty(locationType.getName()), LocationType::getName, locationType.getName())
-				.orderByAsc(LocationType::getId);
+    @Autowired
+    private LocationTypeService locationTypeService;
+    @Autowired
+    private ZoneService zoneService;
 
-		if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
-			/**
-			 * 使用分页查询
-			 */
-			Page<LocationType> page = new Page<>(pageNum, pageSize);
-			IPage<LocationType> iPage = locationTypeService.page(page, lambdaQueryWrapper);
-			return getMpDataTable(iPage.getRecords(),iPage.getTotal());
-		} else {
-			List<LocationType> list = locationTypeService.list(lambdaQueryWrapper);
-			return getDataTable(list);
-		}
-	}
-	
-	/**
-	 * 新增库位类型
-	 */
-	@GetMapping("/add")
-	public String add()
-	{
-	    return prefix + "/add";
-	}
-	
-	/**
-	 * 新增保存库位类型
-	 */
-	@RequiresPermissions("config:locationType:add")
-	@Log(title = "配置-库存资料-库位类型设置", operating = "新增库位类型", action = BusinessType.INSERT)
-	@PostMapping("/add")
-	@ResponseBody
-	public AjaxResult addSave(LocationType locationType)
-	{
-		if(StringUtils.isEmpty(locationType.getCode())){
-			return AjaxResult.error("库位类型为空");
-		}
+    @RequiresPermissions("config:locationType:view")
+    @GetMapping()
+    public String locationType() {
+        return prefix + "/locationType";
+    }
+
+    /**
+     * 查询库位类型列表
+     */
+    @RequiresPermissions("config:locationType:list")
+    @Log(title = "配置-库存资料-库位类型设置", operating = "查看库位类型", action = BusinessType.GRANT)
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(LocationType locationType, String createdBegin, String createdEnd) {
+        LambdaQueryWrapper<LocationType> lambdaQueryWrapper = Wrappers.lambdaQuery();
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        Integer pageNum = pageDomain.getPageNum();
+        Integer pageSize = pageDomain.getPageSize();
+
+        lambdaQueryWrapper.ge(StringUtils.isNotEmpty(createdBegin), LocationType::getCreated, createdBegin)
+                .le(StringUtils.isNotEmpty(createdEnd), LocationType::getCreated, createdEnd)
+                .eq(LocationType::getWarehouseCode, ShiroUtils.getWarehouseCode())
+                .eq(StringUtils.isNotEmpty(locationType.getCode()), LocationType::getCode, locationType.getCode())
+                .like(StringUtils.isNotEmpty(locationType.getName()), LocationType::getName, locationType.getName())
+                .orderByAsc(LocationType::getId);
+
+        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) {
+            /**
+             * 使用分页查询
+             */
+            Page<LocationType> page = new Page<>(pageNum, pageSize);
+            IPage<LocationType> iPage = locationTypeService.page(page, lambdaQueryWrapper);
+            return getMpDataTable(iPage.getRecords(), iPage.getTotal());
+        } else {
+            List<LocationType> list = locationTypeService.list(lambdaQueryWrapper);
+            return getDataTable(list);
+        }
+    }
+
+    /**
+     * 新增库位类型
+     */
+    @GetMapping("/add")
+    public String add() {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存库位类型
+     */
+    @RequiresPermissions("config:locationType:add")
+    @Log(title = "配置-库存资料-库位类型设置", operating = "新增库位类型", action = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(LocationType locationType) {
+        if (StringUtils.isEmpty(locationType.getCode())) {
+            return AjaxResult.error("库位类型为空");
+        }
 //		if(StringUtils.isEmpty(locationType.getZoneCode())){
 //			return AjaxResult.error("库位类型对应的区域为空");
 //		}
@@ -114,53 +109,49 @@ public class LocationTypeController extends BaseController
 //			return  AjaxResult.error("库位类型对应的区域:"+locationType.getZoneCode()+" 不在系统管制范围,请核对");
 //		}
 
-		locationType.setWarehouseCode(ShiroUtils.getWarehouseCode());
-		locationType.setCreatedBy(ShiroUtils.getName());
-		locationType.setLastUpdatedBy(ShiroUtils.getName());
-		return toAjax(locationTypeService.save(locationType));
-	}
+        locationType.setWarehouseCode(ShiroUtils.getWarehouseCode());
+        locationType.setCreatedBy(ShiroUtils.getName());
+        locationType.setLastUpdatedBy(ShiroUtils.getName());
+        return toAjax(locationTypeService.save(locationType));
+    }
+
+    /**
+     * 修改库位类型
+     */
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
+        LocationType locationType = locationTypeService.getById(id);
+        mmap.put("locationType", locationType);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改保存库位类型
+     */
+    @RequiresPermissions("config:locationType:edit")
+    @Log(title = "配置-库存资料-库位类型设置", operating = "修改库位类型", action = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(LocationType locationType) {
+        locationType.setLastUpdatedBy(ShiroUtils.getName());
+        return toAjax(locationTypeService.saveOrUpdate(locationType));
+    }
 
-	/**
-	 * 修改库位类型
-	 */
-	@GetMapping("/edit/{id}")
-	public String edit(@PathVariable("id") Integer id, ModelMap mmap)
-	{
-		LocationType locationType = locationTypeService.getById(id);
-		mmap.put("locationType", locationType);
-	    return prefix + "/edit";
-	}
-	
-	/**
-	 * 修改保存库位类型
-	 */
-	@RequiresPermissions("config:locationType:edit")
-	@Log(title = "配置-库存资料-库位类型设置", operating = "修改库位类型", action = BusinessType.UPDATE)
-	@PostMapping("/edit")
-	@ResponseBody
-	public AjaxResult editSave(LocationType locationType)
-	{
-		locationType.setLastUpdatedBy(ShiroUtils.getName());
-		return toAjax(locationTypeService.saveOrUpdate(locationType));
-	}
-	
-	/**
-	 * 删除库位类型
-	 */
-	@RequiresPermissions("config:locationType:remove")
-	@Log(title = "配置-库存资料-库位类型设置", operating = "删除库位类型", action = BusinessType.DELETE)
-	@PostMapping( "/remove")
-	@ResponseBody
-	public AjaxResult remove(String ids)
-	{
-		if (StringUtils.isEmpty(ids)) {
+    /**
+     * 删除库位类型
+     */
+    @RequiresPermissions("config:locationType:remove")
+    @Log(title = "配置-库存资料-库位类型设置", operating = "删除库位类型", action = BusinessType.DELETE)
+    @PostMapping("/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids) {
+        if (StringUtils.isEmpty(ids)) {
             return AjaxResult.error("id不能为空");
         }
-		for (Integer id : Convert.toIntArray(ids))
-		{
+        for (Integer id : Convert.toIntArray(ids)) {
             locationTypeService.removeById(id);
-		}
-		return AjaxResult.success("删除成功!");
-	}
-	
+        }
+        return AjaxResult.success("删除成功!");
+    }
+
 }
diff --git a/src/main/java/com/huaheng/pc/config/materialMultiple/controller/MaterialMultipleController.java b/src/main/java/com/huaheng/pc/config/materialMultiple/controller/MaterialMultipleController.java
index a344662..aac5c9f 100644
--- a/src/main/java/com/huaheng/pc/config/materialMultiple/controller/MaterialMultipleController.java
+++ b/src/main/java/com/huaheng/pc/config/materialMultiple/controller/MaterialMultipleController.java
@@ -49,12 +49,12 @@ public class MaterialMultipleController extends BaseController {
     /**
      * 查询单位转换列表
      */
-    @ApiOperation(value="查看单位转换列表", notes="根据物料编码、名称、创建时间获取单位转换列表", httpMethod = "POST")
+    @ApiOperation(value = "查看单位转换列表", notes = "根据物料编码、名称、创建时间获取单位转换列表", httpMethod = "POST")
     @RequiresPermissions("config:materialMultiple:list")
-    @Log(title = "配置-库存资料-单位转换",operating = "单位转换列表", action = BusinessType.GRANT)
+    @Log(title = "配置-库存资料-单位转换", operating = "单位转换列表", action = BusinessType.GRANT)
     @PostMapping("/list")
     @ResponseBody
-    public TableDataInfo list(@ApiParam(name="receiptType",value="物料编码、名称") MaterialMultiple materialMultiple,
+    public TableDataInfo list(@ApiParam(name = "receiptType", value = "物料编码、名称") MaterialMultiple materialMultiple,
                               @ApiParam(name = "createdBegin", value = "起止时间") String createdBegin,
                               @ApiParam(name = "createdEnd", value = "结束时间") String createdEnd) {
         LambdaQueryWrapper<MaterialMultiple> lambdaQueryWrapper = Wrappers.lambdaQuery();
@@ -68,7 +68,7 @@ public class MaterialMultipleController extends BaseController {
                 .in(MaterialMultiple::getCompanyCode, ShiroUtils.getCompanyCodeList())
                 .eq(MaterialMultiple::getWarehouseCode, ShiroUtils.getWarehouseCode());
 
-        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
+        if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) {
             /*使用分页查询*/
             Page<MaterialMultiple> page = new Page<>(pageNum, pageSize);
             IPage<MaterialMultiple> iPage = materialMultipleService.page(page, lambdaQueryWrapper);
@@ -90,27 +90,26 @@ public class MaterialMultipleController extends BaseController {
     /**
      * 新增保存单位转换
      */
-    @ApiOperation(value="新增单位转换", notes="新增单位转换", httpMethod = "POST")
+    @ApiOperation(value = "新增单位转换", notes = "新增单位转换", httpMethod = "POST")
     @RequiresPermissions("config:materialMultiple:add")
-    @Log(title = "配置-库存资料-单位转换",operating = "新增单位转换", action = BusinessType.INSERT)
+    @Log(title = "配置-库存资料-单位转换", operating = "新增单位转换", action = BusinessType.INSERT)
     @PostMapping("/add")
     @ResponseBody
     public AjaxResult addSave(MaterialMultiple materialMultiple) {
         LambdaQueryWrapper<Material> lam = Wrappers.lambdaQuery();
-        lam.eq(Material::getCode,materialMultiple.getMaterialCode())
-                .eq(Material::getWarehouseCode,ShiroUtils.getWarehouseCode());
+        lam.eq(Material::getCode, materialMultiple.getMaterialCode())
+                .eq(Material::getWarehouseCode, ShiroUtils.getWarehouseCode());
         Material material = materialService.getOne(lam);
-        if(material ==null){
+        if (material == null) {
             return AjaxResult.error("物料编码错误,系统没有此物料");
         }
-        //todo:胡海-- 物料单位是否存在需要判断  只有系统有维护的单位才可以进行换算
         LambdaQueryWrapper<MaterialMultiple> lambda = Wrappers.lambdaQuery();
-        lambda.eq(MaterialMultiple::getCompanyCode,materialMultiple.getCompanyCode())
+        lambda.eq(MaterialMultiple::getCompanyCode, materialMultiple.getCompanyCode())
                 .eq(MaterialMultiple::getMaterialCode, materialMultiple)
                 .eq(MaterialMultiple::getWarehouseCode, ShiroUtils.getWarehouseCode())
                 .eq(MaterialMultiple::getUnitId1, materialMultiple.getUnitId1())
                 .eq(MaterialMultiple::getUnitId2, materialMultiple.getUnitId2());
-        if (!materialMultipleService.list(lambda).isEmpty()){
+        if (!materialMultipleService.list(lambda).isEmpty()) {
             return AjaxResult.error("该信息已存在");
         }
         materialMultiple.setMaterialName(material.getName());
@@ -134,9 +133,9 @@ public class MaterialMultipleController extends BaseController {
     /**
      * 修改保存单位转换
      */
-    @ApiOperation(value="修改单位转换信息", notes="修改单位转换信息", httpMethod = "POST")
+    @ApiOperation(value = "修改单位转换信息", notes = "修改单位转换信息", httpMethod = "POST")
     @RequiresPermissions("config:materialMultiple:edit")
-    @Log(title = "配置-单位转换",operating = "修改单位转换", action = BusinessType.UPDATE)
+    @Log(title = "配置-单位转换", operating = "修改单位转换", action = BusinessType.UPDATE)
     @PostMapping("/edit")
     @ResponseBody
     public AjaxResult editSave(MaterialMultiple materialMultiple) {
@@ -147,10 +146,10 @@ public class MaterialMultipleController extends BaseController {
     /**
      * 删除单位转换
      */
-    @ApiOperation(value="删除单位转换", notes="单条删除或批量删除单位转换,示例1或1,2,3", httpMethod = "POST")
+    @ApiOperation(value = "删除单位转换", notes = "单条删除或批量删除单位转换,示例1或1,2,3", httpMethod = "POST")
     @RequiresPermissions("config:materialMultiple:remove")
-    @Log(title = "配置-单位转换",operating = "删除单位转换", action = BusinessType.DELETE)
-    @PostMapping( "/remove")
+    @Log(title = "配置-单位转换", operating = "删除单位转换", action = BusinessType.DELETE)
+    @PostMapping("/remove")
     @ResponseBody
     public AjaxResult remove(String ids) {
         if (StringUtils.isEmpty(ids)) {
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
index c759818..a348345 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
@@ -445,6 +445,5 @@ public class ReceiptDetail implements Serializable {
      * 物料颜色
      */
     @TableField(value = "materialColor")
-    @ApiModelProperty(value = "物料颜色")
     public String materialColor;
 }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java
index eb0a7b2..d26c5c6 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java
@@ -445,6 +445,5 @@ public class ReceiptDetailHistory implements Serializable {
      * 物料颜色
      */
     @TableField(value = "materialColor")
-    @ApiModelProperty(value = "物料颜色")
     public String materialColor;
 }
diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
index 3092d7d..6712500 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
@@ -107,7 +107,6 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
      * @param receiptType
      * @return
      */
-    //todo:huhai 单据生成规则,后续版本计划追加一个序列号生成规则表:统一设定前缀,填充位,流水码等
     public String createCode(String receiptType) {
         String code = null;
         int i = 1;
@@ -124,7 +123,6 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei
             maxCode = this.getOne(lambda).getCode();
         }
 
-        //todo:隐藏了BUG,请修正。 修改好  去掉todo
 
         while (i != 0) {
             LambdaQueryWrapper<ReceiptHeaderHistory> aa = Wrappers.lambdaQuery();
diff --git a/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java b/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
index ea6bdf4..df78902 100644
--- a/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
+++ b/src/main/java/com/huaheng/pc/receipt/receiving/service/ReceivingService.java
@@ -51,7 +51,7 @@ import java.util.stream.Collectors;
  * @author mahua
  * @ClassName ReceivingService
  * @projectName huaheng
- * @description: TODO
+ * @description:
  * @date 2019/8/3123:09
  */
 @Service
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
index 3ca6d63..429de2c 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
@@ -229,11 +229,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
             return list.get(0);
         } else {
             // 2.没有符合条件的组盘头,新建组盘头
-            //找到容器类型
-            LambdaQueryWrapper<Container> containerLam = Wrappers.lambdaQuery();
-            containerLam.eq(Container::getCode, location.getContainerCode())
-                    .eq(Container::getWarehouseCode, ShiroUtils.getWarehouseCode());
-            Container container = containerService.getOne(containerLam);
+            Container container = containerService.getContainerByCode(location.getContainerCode());
             if (container == null) {
                 throw new ServiceException("系统没有此容器编码");
             }
diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
index 31ac498..90db70e 100644
--- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
+++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
@@ -159,8 +159,8 @@ public class ShippingCombinationController extends BaseController {
         List<InventoryDetail> list = shippingCombinationService.getInventorys(shipmentDetail, false, false);
         if (list.isEmpty()) {
             // 处理库存为0的明细
-            handleDetail(shipmentHeader, shipmentDetail);
-            throw new ServiceException("该物料没有库存或没有符合出库规则的库存");
+            //handleDetail(shipmentHeader, shipmentDetail);
+            throw new ServiceException("该物料没有库存可能是原仓库不同");
         }
         List<InventoryDetail> removeList = new ArrayList<>();
         for (InventoryDetail item : list) {
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/CycleCountTaskService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/CycleCountTaskService.java
index 61c09e2..797825f 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/CycleCountTaskService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/CycleCountTaskService.java
@@ -330,7 +330,7 @@ public class CycleCountTaskService {
                         .eq(InventoryDetail::getWarehouseCode, inventoryHeader.getWarehouseCode())
                         .eq(InventoryDetail::getInventoryHeaderId, inventoryHeader.getId());
                 List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetail);
-                if (inventoryDetailList.size() < 1) {
+                if (inventoryDetailList.isEmpty()) {
                     throw new ServiceException("盘点的库存明细错误!");
                 }
                 inventoryDetailList.forEach(i -> i.setLastCycleCountDate(new Date()));
@@ -357,8 +357,7 @@ public class CycleCountTaskService {
         //更新主单状态
         cycleCountHeaderService.updataHeaderStatus(cycleCountDetail.getCycleCountHeadCode());
         //释放库位
-        locationService.updateStatus(cycleCountDetail.getLocationCode(),
-                QuantityConstant.STATUS_LOCATION_EMPTY, taskHeader.getWarehouseCode());
+        locationService.updateStatus(cycleCountDetail.getLocationCode(), QuantityConstant.STATUS_LOCATION_EMPTY, taskHeader.getWarehouseCode());
 
         return AjaxResult.success("完成盘点任务成功!");
 
diff --git a/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
index 5d441b0..8dfc25e 100644
--- a/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
+++ b/src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
@@ -76,10 +76,10 @@
                            shiro:hasPermission="inventory:inventoryHeader:inventoryMerge">
                             <i class="fa fa-exchange"></i> 库存合并
                         </a>
-                        <a class="btn btn-outline btn-danger btn-rounded" onclick="transfer()"
-                           shiro:hasPermission="inventory:inventoryHeader:transfer">
-                            <i class="fa fa-exchange"></i> 立库移库
-                        </a>
+                        <!--                        <a class="btn btn-outline btn-danger btn-rounded" onclick="transfer()"-->
+                        <!--                           shiro:hasPermission="inventory:inventoryHeader:transfer">-->
+                        <!--                            <i class="fa fa-exchange"></i> 立库移库-->
+                        <!--                        </a>-->
                         <a class="btn btn-outline btn-primary btn-rounded" onclick="checkOut()"
                            shiro:hasPermission="inventory:inventoryHeader:seeOut">
                             <i class="fa fa-eye"></i> 出库查看
@@ -88,10 +88,10 @@
                            shiro:hasPermission="inventory:inventoryHeader:emptyIn">
                             <i class="fa fa-level-down"></i> 空托入库
                         </a>
-                        <!--                        <a class="btn btn-outline btn-info btn-rounded" onclick="batchEmptyIn()"-->
-                        <!--                           shiro:hasPermission="inventory:inventoryHeader:emptyIn">-->
-                        <!--                            <i class="fa fa-level-down"></i> 批量空托入库-->
-                        <!--                        </a>-->
+                        <a class="btn btn-outline btn-info btn-rounded" onclick="batchEmptyIn()"
+                           shiro:hasPermission="inventory:inventoryHeader:emptyIn">
+                            <i class="fa fa-level-down"></i> 批量空托入库
+                        </a>
                         <a class="btn btn-outline btn-info btn-rounded" onclick="emptyOut()"
                            shiro:hasPermission="inventory:inventoryHeader:emptyOut">
                             <i class="fa fa-level-up"></i> 空托出库